Reputation: 195
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.
Upvotes: 0
Views: 3497
Reputation: 7246
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:
Upvotes: 2