Процедуры добавления в очередь (по коду функции и по рег. номеру функции) возвращающие рег. номер добавленной записи

This commit is contained in:
Mikhail Chechnev 2018-12-25 13:03:39 +03:00
parent 8872971df8
commit 4e3cf0c7a4

View File

@ -377,6 +377,15 @@ create or replace package PKG_EXS as
/* Помещение сообщения обмена в очередь */ /* Помещение сообщения обмена в очередь */
procedure QUEUE_PUT procedure QUEUE_PUT
(
NEXSSERVICEFN in number, -- Рег. номер функции обработки
BMSG in blob, -- Данные
NEXSQUEUE in number := null, -- Рег. номер связанной позиции очереди
NNEW_EXSQUEUE out number -- Курсор с добавленной позицией очереди
);
/* Помещение сообщения обмена в очередь (возвращает курсор с добавленной записью) */
procedure QUEUE_PUT
( (
NEXSSERVICEFN in number, -- Рег. номер функции обработки NEXSSERVICEFN in number, -- Рег. номер функции обработки
BMSG in blob, -- Данные BMSG in blob, -- Данные
@ -386,6 +395,16 @@ create or replace package PKG_EXS as
/* Помещение сообщения обмена в очередь (по коду сервиса и функции обрабоки) */ /* Помещение сообщения обмена в очередь (по коду сервиса и функции обрабоки) */
procedure QUEUE_PUT procedure QUEUE_PUT
(
SEXSSERVICE in varchar2, -- Мнемокод сервиса для обработки
SEXSSERVICEFN in varchar2, -- Мнемокод функции сервиса для обработки
BMSG in blob, -- Данные
NEXSQUEUE in number := null, -- Рег. номер связанной позиции очереди
NNEW_EXSQUEUE out number -- Курсор с добавленной позицией очереди
);
/* Помещение сообщения обмена в очередь (по коду сервиса и функции обрабоки, возвращает курсор с добавленной записью) */
procedure QUEUE_PUT
( (
SEXSSERVICE in varchar2, -- Мнемокод сервиса для обработки SEXSSERVICE in varchar2, -- Мнемокод сервиса для обработки
SEXSSERVICEFN in varchar2, -- Мнемокод функции сервиса для обработки SEXSSERVICEFN in varchar2, -- Мнемокод функции сервиса для обработки
@ -1557,10 +1576,9 @@ create or replace package body PKG_EXS as
NEXSSERVICEFN in number, -- Рег. номер функции обработки NEXSSERVICEFN in number, -- Рег. номер функции обработки
BMSG in blob, -- Данные BMSG in blob, -- Данные
NEXSQUEUE in number := null, -- Рег. номер связанной позиции очереди NEXSQUEUE in number := null, -- Рег. номер связанной позиции очереди
RCQUEUE out sys_refcursor -- Êóðñîð ñ äîáàâëåííîé ïîçèöèåé î÷åðåäè NNEW_EXSQUEUE out number -- Курсор с добавленной позицией очереди
) )
is is
NRN EXSQUEUE.RN%type; -- Ðåã. íîìåð äîáàâëåííîé çàïèñè î÷åðåäè
begin begin
/* Проверяем параметры */ /* Проверяем параметры */
if (NEXSSERVICEFN is null) then if (NEXSSERVICEFN is null) then
@ -1577,7 +1595,22 @@ create or replace package body PKG_EXS as
BMSG => BMSG, BMSG => BMSG,
BRESP => null, BRESP => null,
NEXSQUEUE => NEXSQUEUE, NEXSQUEUE => NEXSQUEUE,
NRN => NRN); NRN => NNEW_EXSQUEUE);
end QUEUE_PUT;
/* Помещение сообщения обмена в очередь (возвращает курсор с добавленной записью) */
procedure QUEUE_PUT
(
NEXSSERVICEFN in number, -- Рег. номер функции обработки
BMSG in blob, -- Данные
NEXSQUEUE in number := null, -- Рег. номер связанной позиции очереди
RCQUEUE out sys_refcursor -- Курсор с добавленной позицией очереди
)
is
NRN EXSQUEUE.RN%type; -- Рег. номер добавленной записи очереди
begin
/* Проверяем параметры */
QUEUE_PUT(NEXSSERVICEFN => NEXSSERVICEFN, BMSG => BMSG, NEXSQUEUE => NEXSQUEUE, NNEW_EXSQUEUE => NRN);
/* Возвращаем добавленную позицию очереди */ /* Возвращаем добавленную позицию очереди */
QUEUE_GET(NFLAG_SMART => 0, NEXSQUEUE => NRN, RCQUEUE => RCQUEUE); QUEUE_GET(NFLAG_SMART => 0, NEXSQUEUE => NRN, RCQUEUE => RCQUEUE);
end QUEUE_PUT; end QUEUE_PUT;
@ -1589,7 +1622,7 @@ create or replace package body PKG_EXS as
SEXSSERVICEFN in varchar2, -- Мнемокод функции сервиса для обработки SEXSSERVICEFN in varchar2, -- Мнемокод функции сервиса для обработки
BMSG in blob, -- Данные BMSG in blob, -- Данные
NEXSQUEUE in number := null, -- Рег. номер связанной позиции очереди NEXSQUEUE in number := null, -- Рег. номер связанной позиции очереди
RCQUEUE out sys_refcursor -- Êóðñîð ñ äîáàâëåííîé ïîçèöèåé î÷åðåäè NNEW_EXSQUEUE out number -- Курсор с добавленной позицией очереди
) )
is is
NEXSSERVICEFN PKG_STD.TREF; -- Рег. номер функции сервиса обработки NEXSSERVICEFN PKG_STD.TREF; -- Рег. номер функции сервиса обработки
@ -1606,7 +1639,29 @@ create or replace package body PKG_EXS as
SEXSSERVICE => SEXSSERVICE, SEXSSERVICE => SEXSSERVICE,
SEXSSERVICEFN => SEXSSERVICEFN); SEXSSERVICEFN => SEXSSERVICEFN);
/* Ставим запись в очередь */ /* Ставим запись в очередь */
QUEUE_PUT(NEXSSERVICEFN => NEXSSERVICEFN, BMSG => BMSG, NEXSQUEUE => NEXSQUEUE, RCQUEUE => RCQUEUE); QUEUE_PUT(NEXSSERVICEFN => NEXSSERVICEFN, BMSG => BMSG, NEXSQUEUE => NEXSQUEUE, NNEW_EXSQUEUE => NNEW_EXSQUEUE);
end QUEUE_PUT;
/* Помещение сообщения обмена в очередь (по коду сервиса и функции обрабоки, возвращает курсор с добавленной записью) */
procedure QUEUE_PUT
(
SEXSSERVICE in varchar2, -- Мнемокод сервиса для обработки
SEXSSERVICEFN in varchar2, -- Мнемокод функции сервиса для обработки
BMSG in blob, -- Данные
NEXSQUEUE in number := null, -- Рег. номер связанной позиции очереди
RCQUEUE out sys_refcursor -- Курсор с добавленной позицией очереди
)
is
NRN EXSQUEUE.RN%type; -- Рег. номер добавленной записи очереди
begin
/* Ставим запись в очередь */
QUEUE_PUT(SEXSSERVICE => SEXSSERVICE,
SEXSSERVICEFN => SEXSSERVICEFN,
BMSG => BMSG,
NEXSQUEUE => NEXSQUEUE,
NNEW_EXSQUEUE => NRN);
/* Возвращаем добавленную позицию очереди */
QUEUE_GET(NFLAG_SMART => 0, NEXSQUEUE => NRN, RCQUEUE => RCQUEUE);
end QUEUE_PUT; end QUEUE_PUT;
/* Исполнение обработчика для сообщения обмена */ /* Исполнение обработчика для сообщения обмена */