[Ошибка] выполнение (39: 6): ORA-06550: строка 39, столбец 6: PLS-00306: неправильное число или типы аргументов в вызове 'CREATE_OFFER_T'
DECLARE TYPE t_cntry_cd is TABLE OF OFFER_PD_DETAIL.cntry_cd%type index by BINARY_INTEGER; TYPE t_curr_cd is TABLE OF OFFER_PD_DETAIL.curr_cd%type index by BINARY_INTEGER; TYPE t_price_term_cd is TABLE OF OFFER_PD_DETAIL.price_term_cd%type index by BINARY_INTEGER; TYPE t_price_list_cd is TABLE OF OFFER_PD_DETAIL.price_list_cd%type index by BINARY_INTEGER; Type t_BD_NR_Type is table of DEAL.BD_NR%type index by pls_integer; OUT_STATUS VARCHAR2(200):=NULL; OUT_ERROR_MESSGE VARCHAR2(200):=NULL; OUT_OFFERID VARCHAR2(200):=NULL; IN_OFFERID_DESC VARCHAR2(350); IN_CUSTCHANNEL_ID NUMBER; IN_OFFER_PRICING_CD NUMBER; IN_OFFER_GEO_SCOPE_CD VARCHAR2(100); IN_OFFER_CUST_SCOPE_CD VARCHAR2(100); IN_OFFER_PRG_CD VARCHAR2(100); IN_OFFER_LOCAL_CD VARCHAR2(100); IN_BD_ID t_BD_NR_Type; IN_OFFER_CLASS VARCHAR2(1); IN_OFFER_CNTRY_CD VARCHAR2(2); IN_USER_COMMENTS VARCHAR2(2000); IN_CREATE_HP_EMP_NR NUMBER; IN_CONTRACT_ID VARCHAR2(12); IN_CPLTID VARCHAR2(6); IN_TIER_PROFILE_ID NUMBER; IN_PA_CAC_CD VARCHAR2(1); IN_PA_COUNTRY_CD VARCHAR2(4); IN_OFR_PRICING_LOGIC_ID NUMBER; IN_SHORTCUT_PROFILE_ID NUMBER; IN_PS_ROUNDING_FL VARCHAR2(1); IN_cntry_cd t_cntry_cd; IN_curr_cd t_curr_cd; IN_price_term_cd t_price_term_cd; IN_price_list_cd t_price_list_cd; IN_IQ_CACHE_FL VARCHAR2(1); IN_HP2B_FL CHAR(1); BEGIN PKG_MANAGE_OFFERS_TEST.CREATE_OFFER_T( IN_OFFERID_DESC => 'Testing', IN_CUSTCHANNEL_ID => '1', IN_OFFER_PRICING_CD => '4', IN_OFFER_GEO_SCOPE_CD => 'scope', IN_OFFER_CUST_SCOPE_CD => 'cust', IN_OFFER_PRG_CD => 'prg', IN_OFFER_LOCAL_CD => 'local', IN_BD_ID => '234567', IN_OFFER_CLASS => 'e', IN_OFFER_CNTRY_CD => 'eu', IN_USER_COMMENTS => 'test', IN_CREATE_HP_EMP_NR => '1', IN_CONTRACT_ID => 'gyyuuhb', IN_CPLTID => 'yuioty', IN_TIER_PROFILE_ID => '6', IN_PA_CAC_CD => '3', IN_PA_COUNTRY_CD => 'tryu', IN_OFR_PRICING_LOGIC_ID => '5', IN_SHORTCUT_PROFILE_ID => '6', IN_PS_ROUNDING_FL => 'Y', IN_CNTRY_CD => 'CD', IN_CURR_CD => 'CD', IN_PRICE_TERM_CD => 'CD', IN_PRICE_LIST_CD => 'CD', IN_IQ_CACHE_FL => 'N', IN_HP2B_FL => 'Y'); END;
Что я уже пробовал:
да но я столкнулся с некоторыми проблемами
RedDk
Проблемы форматирования с вашей вставкой кода (oracle?) в вышеприведенный элемент управления мешают моему пониманию проблемы, с которой вы сталкиваетесь ("[Error] execution (39: 6): ORA-06550: строка 39, столбец 6: PLS-00306: неправильное число или типы аргументов в вызове 'CREATE_OFFER_T'")
Member 14958392
я прошел IN_cntry_cd t_cntry_cd;
IN_curr_cd t_curr_cd;
IN_price_term_cd t_price_term_cd;
IN_price_list_cd t_price_list_cd; 4 параметра в коллекции типа parameters , но не знал, как протестировать его с анонимным блоком
Wendelius
Что означает определение PKG_MANAGE_OFFERS_TEST.CREATE_OFFER_T выглядит так?
Member 14958392
привет венделиус
я передал параметр 4 in в формате типа коллекции, мне нужна помощь, например, как изменить, чтобы передать значения для массивов.
Wendelius
Не уверен, что я понял ваш ответ, но, судя по сообщению об ошибке, у вас есть несоответствие параметров по сравнению с вызовом.
Можете ли вы опубликовать определение для PKG_MANAGE_OFFERS_TEST.CREATE_OFFER_T, другими словами заголовок пакета