0 Replies Latest reply: Sep 4, 2012 12:29 AM by 959635 RSS

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

    959635
      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