forked from CITKParus/P8-ExchangeService
35 lines
1.2 KiB
Plaintext
35 lines
1.2 KiB
Plaintext
create or replace procedure P_EXSQUEUE_BASE_REPEAT
|
|
(
|
|
NRN in number -- Ðåãèñòðàöèîííûé íîìåð
|
|
)
|
|
as
|
|
NRN_NEW PKG_STD.TREF; -- Ðåãèñòðàöèîííûé íîìåð äîáàâëåííîãî ñîîáùåíèÿ
|
|
begin
|
|
/* Îòáîð çàïèñè */
|
|
for REC in (select T.*,
|
|
S.SRV_TYPE
|
|
from EXSQUEUE T,
|
|
EXSSERVICEFN F,
|
|
EXSSERVICE S
|
|
where T.RN = NRN
|
|
and T.EXSSERVICEFN = F.RN
|
|
and F.PRN = S.RN)
|
|
loop
|
|
/* Åñëè ýòî íå îòïðàâêà ñîîáùåíèÿ */
|
|
if (REC.SRV_TYPE != PKG_EXS.NSRV_TYPE_SEND) then
|
|
P_EXCEPTION(0,
|
|
'Ïîâòîðèòü îòïðàâêó ìîæíî òîëüêî äëÿ èñõîäÿùåãî ñîîáùåíèÿ.');
|
|
end if;
|
|
/* Ïîìåùåíèå ñîîáùåíèÿ îáìåíà â î÷åðåäü */
|
|
PKG_EXS.QUEUE_PUT(NEXSSERVICEFN => REC.EXSSERVICEFN,
|
|
BMSG => REC.MSG_ORIGINAL,
|
|
NEXSQUEUE => REC.RN,
|
|
NLNK_COMPANY => REC.LNK_COMPANY,
|
|
NLNK_DOCUMENT => REC.LNK_DOCUMENT,
|
|
SLNK_UNITCODE => REC.LNK_UNITCODE,
|
|
SOPTIONS => REC.OPTIONS,
|
|
NNEW_EXSQUEUE => NRN_NEW);
|
|
end loop;
|
|
end;
|
|
/
|