This discussion is archived
0 Replies Latest reply: Sep 3, 2012 10:29 PM by 959635 RSS

Pro*c compilation Err:"Wrong number or types of argument"  for Object Type

959635 Newbie
Currently Being Moderated
While calling stored procedure i am getting following error

PLS-S-00306, wrong number or types of arguments in call to PR_PROCESS_BASKET

specifications of package are as follow


PROCEDURE PR_PROCESS_BASKET(PI1 IN NUMBER,
PI2 IN VARCHAR2,
PI3 IN VARCHAR2,
PI4 IN VARCHAR2,
PI5 IN DATE,
PI_6 IN VARCHAR2,
PI7 IN NUMBER,
PI_8 IN VARCHAR2,
PI_9 IN VARCHAR2,
PI_11 IN VARCHAR2,
PI_12 IN NUMBER,
PI_13 IN VARCHAR2,
PI_14 IN VARCHAR2,
PI_15 IN VARCHAR2,
PI_dtsl IN BASKET_RECORD_ARRAY,
PI_17 IN VARCHAR2,
PO_18 OUT VARCHAR2,
PO_19 OUT VARCHAR2);


I am getting error for BasketRecordArray input.

definition of BASKET_RECORD_ARRAY is

CREATE OR REPLACE TYPE "TYPE_BASKET_RECORD" AS OBJECT
(
EXCH_ID VARCHAR2(6),
SEQ_NO NUMBER(2),
SECID VARCHAR2(30),
QUANTITY NUMBER(20),
VAL NUMBER(20,5),
ACTION VARCHAR2(1)
)



Using ott i have created OCI structure of the same and included in my proc application.
I have provided INTYPE as file generated by ott.
I have declared pointer of OCI structure and passed it to stored procedure .
But still I am getting error "PLS-S-00306, wrong number or types of arguments in call to 'PR_PROCESS_BASKET'"
proc compilation.

my make command is as follwos :
proc define=SIZ200 define=BIGENDIAN define=BIT32 define=DBG define=BMARK sqlcheck=full define=RMS userid=scott/tiger@11gdb unsafe_null=yes dbms=v8 mode=oracle include=/usr/vacpp/include include=Source/Header duration=session select_error=yes code=kr_c maxopencursors=100 release_cursor=no hold_cursor=yes char_map=varchar2 define=-DOMS INTYPE=Source/Header/TYPE_BASKET_RECORD1.typ iname=Source/Sip/Proc/dummy.cpp oname=Source/Sip/C/Queries.c

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points