P8-ExchangeService/db/UDO_P_FISCDOCS_GET_STATE_ATOL.prc

28 lines
1.2 KiB
Plaintext

create or replace procedure UDO_P_FISCDOCS_GET_STATE_ATOL
as
NEXSQUEUE PKG_STD.TREF; -- Ðåãèñòðàöèîííûé íîìåð äîáàâëåííîé ïîçèöèè î÷åðåäè îáìåíà
begin
/* Îáõîäèì ôèñêàëüíûå äîêóìåíòû, óñïåøíî îòïðàâëåííûå â ÀÒÎË, íî ïî êîòîðûì åù¸ íåò ïðîñòàâëåííîãî ñòàòóñà */
for C in (select T.COMPANY,
T.RN,
Q.RESP BUUID
from UDO_FISCDOCS T,
EXSQUEUE Q
where ((T.SEND_ERROR is null) and (T.CONFIRM_DATE is null))
and Q.LNK_COMPANY = T.COMPANY
and Q.LNK_UNITCODE = 'UDO_FiscalDocuments'
and Q.LNK_DOCUMENT = T.RN
and Q.EXEC_STATE = PKG_EXS.NQUEUE_EXEC_STATE_OK
and Q.EXSSERVICEFN = UDO_PKG_EXS_ATOL.UTL_FISCDOC_GET_EXSFN_REG(T.RN))
loop
/* Ñòàâèì çàïðîñ íà ïîëó÷åíèå ñòàòóñà äîêóìåíòà â î÷åðåäü */
PKG_EXS.QUEUE_PUT(NEXSSERVICEFN => UDO_PKG_EXS_ATOL.UTL_FISCDOC_GET_EXSFN_INF(NFISCDOC => C.RN),
BMSG => C.BUUID,
NLNK_COMPANY => C.COMPANY,
NLNK_DOCUMENT => C.RN,
SLNK_UNITCODE => 'UDO_FiscalDocuments',
NNEW_EXSQUEUE => NEXSQUEUE);
end loop;
end;
/