Home » Applications » Oracle Fusion Apps & E-Business Suite » PLS-00306,problem while executing procedure from oracle e_comerce
PLS-00306,problem while executing procedure from oracle e_comerce [message #290829] Tue, 01 January 2008 04:14 Go to next message
ridhi_sundar
Messages: 184
Registered: November 2007
Location: Bangalore
Senior Member
Hi

I have writen a procedure in oracle.Tere i have a parameter with type varchar2.

While i registered it in e_comerce i choosed the value set as 15characters.

When i am runing the program from my ecomerce application it gives an error as below:

ORACLE error 6550 in FDPSTP

Cause: FDPSTP failed due to ORA-06550: line 1, column 7:
PLS-00306: wrong number or types of arguments in call to 'PO_OUTPUT'
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
.
there is no error when i am executing my procedure in toad/sql+ but this error comes only in e_comerce application.

PLease tell what is the reason and what can be the solution?
Re: PLS-00306,problem while executing procedure from oracle e_comerce [message #290854 is a reply to message #290829] Tue, 01 January 2008 10:55 Go to previous messageGo to next message
Littlefoot
Messages: 21813
Registered: June 2005
Location: Croatia, Europe
Senior Member
Account Moderator
Oracle

PLS-00306: wrong number or types of arguments in call to 'string'

Cause: This error occurs when the named subprogram call cannot be matched to any declaration for that subprogram name. The subprogram name might be misspelled, a parameter might have the wrong datatype, the declaration might be faulty, or the declaration might be placed incorrectly in the block structure. For example, this error occurs if the built-in square root function SQRT is called with a misspelled name or with a parameter of the wrong datatype.

Action: Check the spelling and declaration of the subprogram name. Also confirm that its call is correct, its parameters are of the right datatype, and, if it is not a built-in function, that its declaration is placed correctly in the block structure.

While in TOAD (or SQL*Plus), did you test the procedure using the same parameters as you used in your e-commerce application?
Re: PLS-00306,problem while executing procedure from oracle e_comerce [message #290857 is a reply to message #290854] Tue, 01 January 2008 12:02 Go to previous messageGo to next message
ridhi_sundar
Messages: 184
Registered: November 2007
Location: Bangalore
Senior Member
Yes i have given the same parameters as in the procedure execution in the sql+ or toad.
Re: PLS-00306,problem while executing procedure from oracle e_comerce [message #290889 is a reply to message #290857] Wed, 02 January 2008 00:53 Go to previous messageGo to next message
Littlefoot
Messages: 21813
Registered: June 2005
Location: Croatia, Europe
Senior Member
Account Moderator
Did you confirm that
  • its call is correct,
  • its parameters are of the right datatype,
  • its declaration is placed correctly in the block structure
Could we see the procedure as well as the way you are calling it from the e-commerce application?
Re: PLS-00306,problem while executing procedure from oracle e_comerce [message #290945 is a reply to message #290889] Wed, 02 January 2008 04:25 Go to previous messageGo to next message
ridhi_sundar
Messages: 184
Registered: November 2007
Location: Bangalore
Senior Member
Thank you for your responce

1. about its call its corect.
2. about data type i am not sure
in my procedure i have type varchar2.where as in the e_comerece application varchar2 is not available in the LOV.hence i have taken 20characters. the same in case of number i have taken 15 digit number.

3. What u mean by placement of declaration in block structure?
Re: PLS-00306,problem while executing procedure from oracle e_comerce [message #291013 is a reply to message #290945] Wed, 02 January 2008 12:08 Go to previous messageGo to next message
Littlefoot
Messages: 21813
Registered: June 2005
Location: Croatia, Europe
Senior Member
Account Moderator
"20 characters" *smells* like a CHAR variable. If that is true, it is then space/blank padded to its full size. See an example: first, we'll create a table and insert some values in there:
SQL> create table test (col_c char(10), col_v varchar2(10));

Table created.

SQL> insert into test (col_c, col_v) values ('test', 'test');

1 row created.
Now let's see their lengths:
SQL> select length(col_c) len_c, length(col_v) len_v
  2  from test;

     LEN_C      LEN_V
---------- ----------
        10          4
See? A CHAR column's length is 10 although we've inserted 'test' in there.

A RTRIM function will remove padded characters and we'll get the correct length:
SQL> select length(rtrim(col_c)) len_rc from test;

    LEN_RC
----------
         4

Now, could you trim the value you pass to the procedure and see what happens?
Re: PLS-00306,problem while executing procedure from oracle e_comerce [message #291017 is a reply to message #290829] Wed, 02 January 2008 13:00 Go to previous messageGo to next message
vamsi kasina
Messages: 2112
Registered: October 2003
Location: Cincinnati, OH
Senior Member
Quote:

While i registered it in e_comerce i choosed the value set as 15characters.
Can you elaborate this?

Are you using Concurrent Program and Executable in Application Object Library? (if yes, provide full details)
(Or) any other steps?

By
Vamsi
Re: PLS-00306,problem while executing procedure from oracle e_comerce [message #291062 is a reply to message #291017] Wed, 02 January 2008 22:30 Go to previous messageGo to next message
ridhi_sundar
Messages: 184
Registered: November 2007
Location: Bangalore
Senior Member
Yes i am using concurent program to register my procedure.There varchar is not available in the least of value so i used 20chars. If it is an error due to 15chars then what should be the valueset given for varchar2 in procedure?
Re: PLS-00306,problem while executing procedure from oracle e_comerce [message #291090 is a reply to message #291062] Thu, 03 January 2008 00:13 Go to previous messageGo to next message
vamsi kasina
Messages: 2112
Registered: October 2003
Location: Cincinnati, OH
Senior Member
I think you have defined one parameter in the procedure too.
Check Oracle Applications Developer’s Guide.
Search for the chapter "Overview of Concurrent Processing", the section "Overview of Designing Concurrent Programs", for the topic "Stored Procedure Concurrent Programs" and check the example.

Basically you need to have two mandatory parameters, which are relevant to Oracle Applications.
Quote:

ERRBUF OUT VARCHAR2,
RETCODE OUT VARCHAR2
By
Vamsi
Re: PLS-00306,problem while executing procedure from oracle e_comerce [message #291122 is a reply to message #291090] Thu, 03 January 2008 01:33 Go to previous messageGo to next message
ridhi_sundar
Messages: 184
Registered: November 2007
Location: Bangalore
Senior Member
are the variables errbuf & retcode to be declared in the cuncurent program regestration in parameter window?

[Updated on: Thu, 03 January 2008 01:34]

Report message to a moderator

Re: PLS-00306,problem while executing procedure from oracle e_comerce [message #291124 is a reply to message #291122] Thu, 03 January 2008 01:39 Go to previous messageGo to next message
vamsi kasina
Messages: 2112
Registered: October 2003
Location: Cincinnati, OH
Senior Member
Have you read the documentation?
Those need to be defined in procedure only, not in concurrent program.

By
Vamsi
Re: PLS-00306,problem while executing procedure from oracle e_comerce [message #291142 is a reply to message #291124] Thu, 03 January 2008 02:42 Go to previous message
ridhi_sundar
Messages: 184
Registered: November 2007
Location: Bangalore
Senior Member
Thanx a lot Vamsi

After puting these two variables my program works now. I knew about these two variables but i thought these are not mandatory. Thank you again for your help.

Cheers
Previous Topic: PR requision line can't cancel problem.
Next Topic: Class not Found Error when Accessing Discoverer4i Plus
Goto Forum:
  


Current Time: Sat Jul 06 07:33:07 CDT 2024