Как загрузить платежи поступившие из внешней системы (торговой)?

Если у вас установлен NavigatorWEB вы можете использовать отчет Платежи внешних систем


Пошаговое руководство

Выполните следующий скрипт: 

declare
    vLDR_DRAFT_ID number;
    vLDR_CMD_ID number;
    vMessage    varchar2(2000):=null;
    vInfo       VARCHAR2(4000);
    vStatus     number;
    vStatusOk   number := 1;
begin
    vLDR_DRAFT_ID :=to_number('&IdFromldr_draft_trn');
    IF vLDR_DRAFT_ID IS NULL THEN
        --zzz_EX(' Заполните значение идентификатора платежа vLDR_DRAFT_ID');
        dbms_output.put_line ('Идентификатор не указан. Будут загружены все не загруженные платежи');
    end if;
    for cur in (select ldt.id,ldt.trade_date,ldt.status from ldr_draft_trn ldt where (ldt.id = vLDR_DRAFT_ID or vLDR_DRAFT_ID is null))
    loop
        vStatus := cur.status;
        vLDR_DRAFT_ID := cur.id; -- если загружаем все что не были загружены
        IF vStatus != vStatusOk then
            pkg_ldr_trn_pre.proc_ldr_trn_job(pid=>vLDR_DRAFT_ID,ptradedatedb=>cur.trade_date,ptradedatede=>cur.trade_date,puserid=>-1,pdatetype=>'tradedate',ploadrecswitherror=>'True');
        END IF;
        select max(message_) into vMessage from ldr_draft_trn where id = vLDR_DRAFT_ID and status != vStatusOk;
        IF vMessage is not null then
            zzz_ex('Ошибка при загрузке платежа с LDR_DRAFT_ID = '||vLDR_DRAFT_ID||' '||vmessage);
        END IF;
        BEGIN
          select max(id) into vLDR_CMD_ID from ldr_cmd_trn where ldr_draft_trn_id = vLDR_DRAFT_ID and status!= vStatusOk;
          IF vLDR_CMD_ID is not null then
            pkg_ldr_trn_main.proc_ldr_trn_main_job (vLDR_CMD_ID);
            select max(message_) into vMessage from ldr_cmd_trn where ldr_draft_trn_id = vLDR_DRAFT_ID and  status!= vStatusOk;
            IF vMessage is not null THEN
                zzz_ex('Ошибка при загрузке платежа с ldr_cmd_trn.ldr_draft_trn_id = '||vLDR_DRAFT_ID||' '||vmessage);
            END IF;
          end if;
          commit;
        END;
    end loop;
end;
/


Похожие статьи