Using Adapter Service to call Procedure with signature when input is table

Hi All ,

This is first time i try to use Procedure with signature and my input is table

Procedure Signiture

create or replace PROCEDURE SP_BULK_INSERT_CDC_INSTRUMENTS (
    p_records IN INSTRUMENTS_TABLE
)

Type
create or replace TYPE INSTRUMENTS_TABLE AS TABLE OF "MIDDLEWARE"."CDC_INSTRUMENTS_OBJECT";

CDC_INSTRUMENTS_OBJECT

create or replace TYPE CDC_INSTRUMENTS_OBJECT AS OBJECT (
    "SHORT_NAME" VARCHAR2(100 BYTE),
    "MARKET_ID" NUMBER,
    "SECTOR_CODE" VARCHAR2(100 BYTE),
    "INSTRUMENT_TYPE_ENGLISH_NAME_ALIAS" VARCHAR2(100 BYTE),
    "ENGLISH_NAME" VARCHAR2(100 BYTE),
    "ARABIC_NAME" VARCHAR2(100 BYTE),
    "FIGI_CODE" VARCHAR2(100 BYTE),
    "ISIN_CODE" VARCHAR2(100 BYTE),
    "CUSIP" VARCHAR2(100 BYTE),
    "SHORT_NAME_ALIAS_1" VARCHAR2(100 BYTE),
    "SHORT_NAME_ALIAS_2" VARCHAR2(100 BYTE),
    "SHORT_NAME_ALIAS_3" VARCHAR2(100 BYTE),
    "SHORT_NAME_ALIAS_4" VARCHAR2(100 BYTE),
    "STATUS" VARCHAR2(100 BYTE)
);

i built test service and Adapter to call this procedure as below :

it look like the adapter does not see my value in Short_NAME field

Any Suggestion ?

I am not entirely sure why you are converting your input to object. Can’t you just get them as document or document list? Imo passing object as parameter and inserting that to a table is risky. If object types or lengths don’t match you will get an error and it will be difficult to debug it.

1 Like