Member 14958392 Ответов: 0

[Ошибка] выполнение (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, другими словами заголовок пакета

0 Ответов