2024 Jun 14 5:13 AM - edited 2024 Jun 14 5:38 AM
Here is my code look like
exec sql
execute procedure scheme.package.my_procedure (
IN :lv_a,
IN :itab_a,
IN :itab_b,
INOUT :lv_c,
OUT :lv_d
)
endexec.
I got the error 'The DSQL interface was called with invalid parameters.' I assume this error came from the internal table that is not recognized by Oracle database, meanwhile in the Oracle database itab_a and itab_b are PL/SQL Table.
Can anyone please help me, how to execute oracle database procedure that has PL/SQL TAble parameter from SAP ABAP
Request clarification before answering.
Hello @nadirelc ,
The causes regarding the internal tables, that i can think are :
1. The internal tables are hashed or sorted or contain secondary keys. The itabs should be standard without secondary keys
2. Incorrect type mapping from ABAP itab to Oracle array.
3. Incorrect column name mapping from ABAP itab to Oracle array. In abap column names contain only capital letters whereas in oracle can contain lowercase letters.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello @nadirelc ,
Have you tried to specify the secondary connection to Oracle DB before executing the procedure?
DATA(conn) = CONV dbcon-con_name( `...` ).
EXEC SQL.
CONNECT TO :conn
ENDEXEC.
EXEC SQL.
EXECUTE PROCEDURE...
ENDEXEC.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
76 | |
22 | |
9 | |
7 | |
6 | |
5 | |
4 | |
4 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.