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