Home » SQL & PL/SQL » SQL & PL/SQL » Receiving this error for a procedure call with plsql table as input pmtr (Oracle 10g)
Receiving this error for a procedure call with plsql table as input pmtr [message #426311] Wed, 14 October 2009 19:02 Go to next message
dkrishnachaitanya
Messages: 3
Registered: October 2009
Location: CALIFORNIA
Junior Member
Hi,

This is my package spec with a procedure:

CREATE OR REPLACE PACKAGE IC_FILE_ROUTE_PKG
AS
TYPE t_skill_name IS TABLE OF dmc_wq_skill_info_sp.skill_name%TYPE INDEX BY PLS_INTEGER;
TYPE t_skill_values_int IS TABLE OF dmc_wq_user_skill_r.skill_values_int%TYPE INDEX BY PLS_INTEGER;
PROCEDURE GetUserThresholdPercent_PRC(
i_group_name IN dm_group_sp.group_name%TYPE,
i_skill_name IN t_skill_name,
i_skill_values_int IN t_skill_values_int,
i_ooo_from_date_utc IN file_routing_user_oooffice.from_date_utc%TYPE,
i_ooo_to_date_utc IN file_routing_user_oooffice.to_date_utc%TYPE,
i_user_max_loan_amt IN bac_user_sp.user_max_loan_amt%TYPE,
i_user_threshold_percent IN NUMBER DEFAULT 100,
o_user_thr_percent OUT SYS_REFCURSOR
);
END IC_FILE_ROUTE_PKG;

I am calling the proc as below:
declare
TYPE t_skill_name IS TABLE OF dmc_wq_skill_info_sp.skill_name%TYPE INDEX BY PLS_INTEGER;
TYPE t_skill_values_int IS TABLE OF dmc_wq_user_skill_r.skill_values_int%TYPE INDEX BY PLS_INTEGER;
i_skill_name1 t_skill_name;
i_skill_values_int1 t_skill_values_int;
o_user_thr_percent1 SYS_REFCURSOR;
i_skill_name1(1) := 'loan_type';
i_skill_values_int1(1) := 1;
begin
IC_FILE_ROUTE_PKG.GetUserThresholdPercent_PRC('processor',i_skill_name1,i_skill_values_int1,'09/10/2009 3:57:13','09/10/2009 0:0:0',200000,100,o_user_thr_percent1);
end;


I am getting the following error when i make this call. could you clarify what's wrong?

ORA-06550: line 7, column 14:
PLS-00103: Encountered the symbol "(" when expecting one of the following:

constant exception <an identifier>
<a double-quoted delimited-identifier> table LONG_ double ref
char time timestamp interval date binary national character
nchar
The symbol "<an identifier>" was substituted for "(" to continue.
ORA-06550: line 8, column 20:
PLS-00103: Encountered the symbol "(" when expecting one of the following:

constant exception <an identifier>
<a double-quoted
Re: Receiving this error for a procedure call with plsql table as input pmtr [message #426314 is a reply to message #426311] Wed, 14 October 2009 19:58 Go to previous messageGo to next message
BlackSwan
Messages: 25046
Registered: January 2009
Location: SoCal
Senior Member
>Receiving this error for a procedure call with plsql table as input pmtr

Error has NOTHING to do with procedure call.

06550, 00000, "line %s, column %s:\n%s"
// *Cause:  Usually a PL/SQL compilation error.
// *Action:

You need to help us by following the Posting Guidelines as stated below.
http://www.orafaq.com/forum/t/88153/0/
Go to the URL above click the link "Posting Guidelines"
Go to the section labeled "Practice" & do as directed.

[Updated on: Wed, 14 October 2009 20:00]

Report message to a moderator

Re: Receiving this error for a procedure call with plsql table as input pmtr [message #426315 is a reply to message #426311] Wed, 14 October 2009 22:38 Go to previous message
Kevin Meade
Messages: 2101
Registered: December 1999
Location: Connecticut USA
Senior Member
So a couple of comments:

1) learn how to format your code. Try this site as one example:

2) use the code tags button to put CODE tags around the code you post into these threads. That way the formatting you have for you code won't get lost when pages are rendered later.

3) its time for you to learn how to do basic debugging. This error sounds just like it says.

a) learn to read error stacks. this one is telling you that it thinks the error is on line 7 of your anonymous block.

b) use the tried and true method of commenting out code to see when the error goes away. That most likely will be the line where the error is. Then you can contemplate why the error happened and how to fix it.

In your case I think maybe your BEGIN is in the wrong place. Lines 7 and 8 look to me to be executable code, not declarative code. Try moving to after the begin.

Good luck, Kevin
Previous Topic: Committing Transaction without handling exception in Procedure
Next Topic: Timeout Error
Goto Forum:
  


Current Time: Thu Dec 08 22:10:47 CST 2016

Total time taken to generate the page: 0.20156 seconds