0

I created a package and stored procedure under it to test a concurrent program.when I run it as an Oracle report executable method. It works fine. But I change it to PL/SQL stored procedure then it gives error.

Cause: FDPSTP failed due to ORA-06550: line 1, column 7: PLS-00306: wrong number or types of arguments in call to 'pop_rpt_tbl' ORA-06550: line 1, column 7: PL/SQL: Statement ignored

It's working properly in a oracle report method.

Any idea about this issue.

This is my sp  
PROCEDURE pop_rpt_tbl (
      p_pro_id   IN       NUMBER,
      p_agr     IN        NUMBER,
      p_prd       IN       NUMBER,
      p_group_id     IN     NUMBER,
      x_api_status   OUT      VARCHAR2,
      x_api_msg      OUT      VARCHAR2
   ); 

When I execute this as a PL/SQL I gave package name.pop_rpt_tbl as a file name and the executable as a package name.

1
  • 2
    you should post the relevant pieces of code... Commented Mar 20, 2012 at 7:59

1 Answer 1

2

When you create a packaged procedure to be run as a Concurrent Request, you should define the Executable as PL/SQL and specify the schema.package.procedure as the Executable File Name.

Next, the first two arguments of your packaged procedure must be errbuf OUT VARCHAR2, retcode OUT NUMBER. The concurrent process expects this; your own arguments should come after these first two. So a prototype packaged procedure specification would similar to:

  PROCEDURE create_manual_batch (
    errbuf OUT VARCHAR2,
    retcode OUT NUMBER,
    p_part_id IN VARCHAR2,
    p_quote_line_id IN VARCHAR2,
    p_parent_id IN VARCHAR2 DEFAULT '0');

You may use errbuf and recode in your code to send back useful information to the application. You can pass an error message string to errbuf which will write to the log file, and you can set the retcode in your program to show success or failure or error in the EBS Concurrent Request form:

  • 0 = Normal
  • 1 = Warning
  • 2 = Error
Sign up to request clarification or add additional context in comments.

2 Comments

Thanks for your reply i did what ever you mentioned here.. changed the executable name and the procudure..first i got error like insuffcient priviledge to execute. then i grant permition.still i'm having this issue.
@user361045 You don't have to change your executable name, I was just giving an example. In your case you executable file name is 'pop_rpt_tbl'. In what schema did you create your procedure? APPS? Or another schema? If you did not create your procedure in APPS, then you will need to 'GRANT EXECUTE ON pop_rpt_tbl TO APPS'. You should then also specify the schema name when you list your executable file name as 'myschema.pop_rpt_tbl'.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.