From b6f121a11e4f19d4165dab204a21627ef95469c2 Mon Sep 17 00:00:00 2001 From: Mikhail Chechnev Date: Tue, 8 Jan 2019 16:18:29 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20?= =?UTF-8?q?=D0=BF=D0=B5=D1=80=D0=B5=D0=B4=D0=B0=D1=87=D1=83=20SOPTIONS=20?= =?UTF-8?q?=D0=BF=D1=80=D0=B8=20=D0=BF=D0=BE=D0=B2=D1=82=D0=BE=D1=80=D0=BD?= =?UTF-8?q?=D0=BE=D0=BC=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B8=20=D1=81=D0=BE=D0=BE=D0=B1=D1=89=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D1=8F=20=D0=B2=20=D0=BE=D1=87=D0=B5=D1=80=D0=B5=D0=B4=D1=8C=20?= =?UTF-8?q?=D0=BE=D0=B1=D0=BC=D0=B5=D0=BD=D0=B0,=20=D0=BF=D0=BE=D0=BC?= =?UTF-8?q?=D0=B5=D0=BD=D1=8F=D0=BB=20=D0=B8=D1=81=D0=BF=D0=BE=D0=BB=D1=8C?= =?UTF-8?q?=D0=B7=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D1=87=D0=B5=20=D1=87=D0=B8?= =?UTF-8?q?=D1=81=D0=BB=D0=BE=D0=B2=D0=BE=D0=B3=D0=BE=20=D0=BB=D0=B8=D1=82?= =?UTF-8?q?=D0=B5=D1=80=D0=B0=D0=BB=D0=B0=20"0"=20=D0=BD=D0=B0=20=D0=BA?= =?UTF-8?q?=D0=BE=D0=BD=D1=81=D1=82=D0=B0=D0=BD=D1=82=D1=83=20PKG=5FEXS.NS?= =?UTF-8?q?RV=5FTYPE=5FSEND?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db/P_EXSQUEUE_BASE_REPEAT.prc | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 db/P_EXSQUEUE_BASE_REPEAT.prc diff --git a/db/P_EXSQUEUE_BASE_REPEAT.prc b/db/P_EXSQUEUE_BASE_REPEAT.prc new file mode 100644 index 0000000..3a14b3d --- /dev/null +++ b/db/P_EXSQUEUE_BASE_REPEAT.prc @@ -0,0 +1,34 @@ +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; +/