Для проверки определения счета при загрузке платежей можно воспользоваться следующим скриптом:

DECLARE
  psource_cid number;
  pext_system_id number;
  naccount number;
  vtp_entity_result pkg_ldr.tp_entity_result;
  vAccount VARCHAR2(60);
  vRef VARCHAR2(60);
  vBourse VARCHAR2(60);
  vId number;
  vExtNumber varchar2(128);
BEGIN
    --
    vId := null;
    vExtNumber := '';
    IF (vId is null or vExtNumber is null) then
        zzz_ex ('Укажите идентификатор платежа или его внешний идентификатор');
    end if;
    --

    pkg_ldr.params.userid                   := -1;
    pkg_ldr.params.protocol_category_alias  := 'LDR_TRN_PRE';
    pkg_ldr.params.table_name               := 'LDR_DRAFT_TRN';
    pkg_ldr.params.key_field_name           := 'ID';
    select ldt.trade_account, ldt.trade_ref, ldt.bourse_aliase
    into vAccount, vRef, vBourse
    from RESMAN.LDR_DRAFT_TRN ldt
    where (id = vId or vId is null) or (ldt.ext_number = vExtNumber);
    
    vtp_entity_result := pkg_ldr.proc_analyze_ext_system(vBourse ,psource_cid);
    pext_system_id     := vtp_entity_result.pentity_id;
    vtp_entity_result := pkg_ldr.proc_analyze_account(
    1,            --paccountclass
    psource_cid,  --psource_cid
    vAccount,     --pTRADE_ACCOUNT
    vRef,         --pTRADE_REF
    vBourse,      --pboursealiase
    NULL);        --pinstrument_id
   naccount:=vtp_entity_result.pentity_id;
   zzz_ex(nvl(naccount,-999));
END;
/
  • Нет меток