forked from CITKParus/P8-ExchangeService
Выдача сообщений об ошибках обмена в виде ответа специального формата
This commit is contained in:
parent
bb5840f37d
commit
c9ef8f21d7
@ -121,6 +121,44 @@ create or replace package body UDO_PKG_EXS_INV as
|
|||||||
SMESSAGE constant varchar2(40) := 'Message';
|
SMESSAGE constant varchar2(40) := 'Message';
|
||||||
SERRORMESSAGE constant varchar2(40) := 'ErrorMessage';
|
SERRORMESSAGE constant varchar2(40) := 'ErrorMessage';
|
||||||
|
|
||||||
|
/* Íîðìàëèçàöèÿ ñîîáùåíèÿ îá îøèáêå */
|
||||||
|
function UTL_CORRECT_ERR
|
||||||
|
(
|
||||||
|
SERR varchar2 -- Ñîîáùåíèå îá îøèáêå
|
||||||
|
) return varchar2 -- Íîðìàëèçîâàííîå ñîîáùåíèå îá îøèáêå
|
||||||
|
is
|
||||||
|
STMP PKG_STD.TSTRING; -- Áóôåð äëÿ îáðàáîòêè
|
||||||
|
SRES PKG_STD.TSTRING; -- Ðåçóëüòàò ðàáîòû
|
||||||
|
NB PKG_STD.TLNUMBER; -- Ïîçèöèÿ íà÷àëà óäàëÿåìîé ïîäñòðîêè
|
||||||
|
NE PKG_STD.TLNUMBER; -- Ïîçèöèÿ îêîí÷àíèÿ óäàëÿåìîé ïîäñòðîêè
|
||||||
|
begin
|
||||||
|
/* Èíèöèàëèçèðóåì áóôåð */
|
||||||
|
STMP := SERR;
|
||||||
|
/* Óäàëÿåì ëèøíèå ñïåöñèìâîëû è òåõíè÷åñêóþ èíôîðìàöèþ èç îøèáêè */
|
||||||
|
begin
|
||||||
|
while (INSTR(STMP
|
||||||
|
,'ORA') <> 0)
|
||||||
|
loop
|
||||||
|
NB := INSTR(STMP
|
||||||
|
,'ORA');
|
||||||
|
NE := INSTR(STMP
|
||||||
|
,':'
|
||||||
|
,NB);
|
||||||
|
STMP := trim(replace(STMP
|
||||||
|
,trim(SUBSTR(STMP
|
||||||
|
,NB
|
||||||
|
,NE - NB + 1))
|
||||||
|
,''));
|
||||||
|
end loop;
|
||||||
|
SRES := STMP;
|
||||||
|
exception
|
||||||
|
when others then
|
||||||
|
SRES := SERR;
|
||||||
|
end;
|
||||||
|
/* Âîçâðàùàåì ðåçóëüàò */
|
||||||
|
return SRES;
|
||||||
|
end UTL_CORRECT_ERR;
|
||||||
|
|
||||||
/* Ñîçäàíèå âåòêè XML */
|
/* Ñîçäàíèå âåòêè XML */
|
||||||
function UTL_CREATENODE
|
function UTL_CREATENODE
|
||||||
(
|
(
|
||||||
@ -241,17 +279,19 @@ create or replace package body UDO_PKG_EXS_INV as
|
|||||||
/* Ôîðìèðîâàíèå îòâåòà ñ îøèáêîé */
|
/* Ôîðìèðîâàíèå îòâåòà ñ îøèáêîé */
|
||||||
function UTL_CREATEERRORRESPONSE
|
function UTL_CREATEERRORRESPONSE
|
||||||
(
|
(
|
||||||
XDOC in DBMS_XMLDOM.DOMDOCUMENT, -- Äîêóìåíò
|
|
||||||
SMSG in varchar2 -- Ñîîáùåíèå îá îøèáêå
|
SMSG in varchar2 -- Ñîîáùåíèå îá îøèáêå
|
||||||
) return clob -- Ðåçóëüòàò ðàáîòû
|
) return clob -- Ðåçóëüòàò ðàáîòû
|
||||||
is
|
is
|
||||||
XFAULT DBMS_XMLDOM.DOMNODE; --
|
XDOC DBMS_XMLDOM.DOMDOCUMENT; -- Äîêóìåíò
|
||||||
XDETAIL DBMS_XMLDOM.DOMNODE; --
|
XFAULT DBMS_XMLDOM.DOMNODE; -- Êîðíåâîé óçåë
|
||||||
XERRMSG DBMS_XMLDOM.DOMNODE; --
|
XDETAIL DBMS_XMLDOM.DOMNODE; -- Óçåë äëÿ äåòàëèçàöèè îøèáêè
|
||||||
XMSG DBMS_XMLDOM.DOMNODE; --
|
XERRMSG DBMS_XMLDOM.DOMNODE; -- Óçåë ñ ñîîáùåíèåì îá îøèáêå
|
||||||
XNODE DBMS_XMLDOM.DOMNODE; --
|
XMSG DBMS_XMLDOM.DOMNODE; -- Óçåë òåêñòîì ñîîáùåíèÿ
|
||||||
|
XNODE DBMS_XMLDOM.DOMNODE; -- Áóôåð äëÿ óçëà
|
||||||
CDATA clob; -- Áóôåð äëÿ ðåçóëüòàòà
|
CDATA clob; -- Áóôåð äëÿ ðåçóëüòàòà
|
||||||
begin
|
begin
|
||||||
|
/* Ñîçäà¸ì äîêóìåíò äëÿ îòâåòà */
|
||||||
|
UTL_CREATERESPONSEDOC(XDOC => XDOC);
|
||||||
/* Ñîáèðàåì îøèáêó â îòâåò */
|
/* Ñîáèðàåì îøèáêó â îòâåò */
|
||||||
XFAULT := UTL_CREATENODE(XDOC => XDOC, STAG => SFAULT, SNS => SSOAPENV);
|
XFAULT := UTL_CREATENODE(XDOC => XDOC, STAG => SFAULT, SNS => SSOAPENV);
|
||||||
XDETAIL := UTL_CREATENODE(XDOC => XDOC, STAG => SDETAIL);
|
XDETAIL := UTL_CREATENODE(XDOC => XDOC, STAG => SDETAIL);
|
||||||
@ -265,7 +305,6 @@ create or replace package body UDO_PKG_EXS_INV as
|
|||||||
return CDATA;
|
return CDATA;
|
||||||
end UTL_CREATEERRORRESPONSE;
|
end UTL_CREATEERRORRESPONSE;
|
||||||
|
|
||||||
|
|
||||||
/* Ñ÷èòûâàíèå çíà÷åíèÿ ñòðóêòóðíîãî ýëåìåíòà èç èåðàðõèè àäðåñà ãåîãðàôè÷åñêîãî ïîíÿòèÿ */
|
/* Ñ÷èòûâàíèå çíà÷åíèÿ ñòðóêòóðíîãî ýëåìåíòà èç èåðàðõèè àäðåñà ãåîãðàôè÷åñêîãî ïîíÿòèÿ */
|
||||||
function UTL_GEOGRAFY_GET_HIER_ITEM
|
function UTL_GEOGRAFY_GET_HIER_ITEM
|
||||||
(
|
(
|
||||||
@ -311,6 +350,7 @@ create or replace package body UDO_PKG_EXS_INV as
|
|||||||
CRESPONSE clob; -- Áóôåð äëÿ îòâåòà
|
CRESPONSE clob; -- Áóôåð äëÿ îòâåòà
|
||||||
CREQ clob; -- Áóôåð äëÿ çàïðîñà
|
CREQ clob; -- Áóôåð äëÿ çàïðîñà
|
||||||
SREQDEVICEID PKG_STD.TSTRING; -- Èäåíòèôèêàòîð óñòðîéñòâà èç çàïðîñà
|
SREQDEVICEID PKG_STD.TSTRING; -- Èäåíòèôèêàòîð óñòðîéñòâà èç çàïðîñà
|
||||||
|
begin
|
||||||
begin
|
begin
|
||||||
/* Ñ÷èòàåì çàïèñü î÷åðåäè */
|
/* Ñ÷èòàåì çàïèñü î÷åðåäè */
|
||||||
REXSQUEUE := GET_EXSQUEUE_ID(NFLAG_SMART => 0, NRN => NEXSQUEUE);
|
REXSQUEUE := GET_EXSQUEUE_ID(NFLAG_SMART => 0, NRN => NEXSQUEUE);
|
||||||
@ -345,13 +385,18 @@ create or replace package body UDO_PKG_EXS_INV as
|
|||||||
/* Îáîðà÷èâàåì åãî â êîíâåðò */
|
/* Îáîðà÷èâàåì åãî â êîíâåðò */
|
||||||
CRESPONSE := UTL_CREATERESPONSE(XDOC => XDOC, XCONTENT => XCHECKAUTHRESPONSE);
|
CRESPONSE := UTL_CREATERESPONSE(XDOC => XDOC, XCONTENT => XCHECKAUTHRESPONSE);
|
||||||
end if;
|
end if;
|
||||||
|
exception
|
||||||
|
/* Ïåðåõâàòûâàåì âîçìîæíûå îøèáêè */
|
||||||
|
when others then
|
||||||
|
CRESPONSE := UTL_CREATEERRORRESPONSE(SMSG => UTL_CORRECT_ERR(SERR => sqlerrm));
|
||||||
|
end;
|
||||||
/* Âîçâðàùàåì îòâåò */
|
/* Âîçâðàùàåì îòâåò */
|
||||||
PKG_EXS.PRC_RESP_RESULT_SET(NIDENT => NIDENT,
|
PKG_EXS.PRC_RESP_RESULT_SET(NIDENT => NIDENT,
|
||||||
SRESULT => PKG_EXS.SPRC_RESP_RESULT_OK,
|
SRESULT => PKG_EXS.SPRC_RESP_RESULT_OK,
|
||||||
BRESP => CLOB2BLOB(LCDATA => CRESPONSE, SCHARSET => 'UTF8'));
|
BRESP => CLOB2BLOB(LCDATA => CRESPONSE, SCHARSET => 'UTF8'));
|
||||||
exception
|
exception
|
||||||
when others then
|
when others then
|
||||||
/* Âåðí¸ì îøèáêó */
|
/* Âåðí¸ì îøèáêó - ýòî ôàòàëüíàÿ */
|
||||||
PKG_EXS.PRC_RESP_RESULT_SET(NIDENT => NIDENT, SRESULT => PKG_EXS.SPRC_RESP_RESULT_ERR, SMSG => sqlerrm);
|
PKG_EXS.PRC_RESP_RESULT_SET(NIDENT => NIDENT, SRESULT => PKG_EXS.SPRC_RESP_RESULT_ERR, SMSG => sqlerrm);
|
||||||
end CHECKAUTH;
|
end CHECKAUTH;
|
||||||
|
|
||||||
@ -377,6 +422,7 @@ create or replace package body UDO_PKG_EXS_INV as
|
|||||||
CRESPONSE clob; -- Áóôåð äëÿ îòâåòà
|
CRESPONSE clob; -- Áóôåð äëÿ îòâåòà
|
||||||
CREQ clob; -- Áóôåð äëÿ çàïðîñà
|
CREQ clob; -- Áóôåð äëÿ çàïðîñà
|
||||||
SREQDEVICEID PKG_STD.TSTRING; -- Èäåíòèôèêàòîð óñòðîéñòâà èç çàïðîñà
|
SREQDEVICEID PKG_STD.TSTRING; -- Èäåíòèôèêàòîð óñòðîéñòâà èç çàïðîñà
|
||||||
|
begin
|
||||||
begin
|
begin
|
||||||
/* Ñ÷èòàåì çàïèñü î÷åðåäè */
|
/* Ñ÷èòàåì çàïèñü î÷åðåäè */
|
||||||
REXSQUEUE := GET_EXSQUEUE_ID(NFLAG_SMART => 0, NRN => NEXSQUEUE);
|
REXSQUEUE := GET_EXSQUEUE_ID(NFLAG_SMART => 0, NRN => NEXSQUEUE);
|
||||||
@ -425,13 +471,18 @@ create or replace package body UDO_PKG_EXS_INV as
|
|||||||
/* Îáîðà÷èâàåì îòâåò â êîíâåðò */
|
/* Îáîðà÷èâàåì îòâåò â êîíâåðò */
|
||||||
CRESPONSE := UTL_CREATERESPONSE(XDOC => XDOC, XCONTENT => XGETUSERSRESPONSE);
|
CRESPONSE := UTL_CREATERESPONSE(XDOC => XDOC, XCONTENT => XGETUSERSRESPONSE);
|
||||||
end if;
|
end if;
|
||||||
|
exception
|
||||||
|
/* Ïåðåõâàòûâàåì âîçìîæíûå îøèáêè */
|
||||||
|
when others then
|
||||||
|
CRESPONSE := UTL_CREATEERRORRESPONSE(SMSG => UTL_CORRECT_ERR(SERR => sqlerrm));
|
||||||
|
end;
|
||||||
/* Âîçâðàùàåì îòâåò */
|
/* Âîçâðàùàåì îòâåò */
|
||||||
PKG_EXS.PRC_RESP_RESULT_SET(NIDENT => NIDENT,
|
PKG_EXS.PRC_RESP_RESULT_SET(NIDENT => NIDENT,
|
||||||
SRESULT => PKG_EXS.SPRC_RESP_RESULT_OK,
|
SRESULT => PKG_EXS.SPRC_RESP_RESULT_OK,
|
||||||
BRESP => CLOB2BLOB(LCDATA => CRESPONSE, SCHARSET => 'UTF8'));
|
BRESP => CLOB2BLOB(LCDATA => CRESPONSE, SCHARSET => 'UTF8'));
|
||||||
exception
|
exception
|
||||||
when others then
|
when others then
|
||||||
/* Âåðí¸ì îøèáêó */
|
/* Âåðí¸ì îøèáêó - ýòî ôàòàëüíàÿ */
|
||||||
PKG_EXS.PRC_RESP_RESULT_SET(NIDENT => NIDENT, SRESULT => PKG_EXS.SPRC_RESP_RESULT_ERR, SMSG => sqlerrm);
|
PKG_EXS.PRC_RESP_RESULT_SET(NIDENT => NIDENT, SRESULT => PKG_EXS.SPRC_RESP_RESULT_ERR, SMSG => sqlerrm);
|
||||||
end GETUSERS;
|
end GETUSERS;
|
||||||
|
|
||||||
@ -457,6 +508,7 @@ create or replace package body UDO_PKG_EXS_INV as
|
|||||||
CRESPONSE clob; -- Áóôåð äëÿ îòâåòà
|
CRESPONSE clob; -- Áóôåð äëÿ îòâåòà
|
||||||
CREQ clob; -- Áóôåð äëÿ çàïðîñà
|
CREQ clob; -- Áóôåð äëÿ çàïðîñà
|
||||||
SREQDEVICEID PKG_STD.TSTRING; -- Èäåíòèôèêàòîð óñòðîéñòâà èç çàïðîñà
|
SREQDEVICEID PKG_STD.TSTRING; -- Èäåíòèôèêàòîð óñòðîéñòâà èç çàïðîñà
|
||||||
|
begin
|
||||||
begin
|
begin
|
||||||
/* Ñ÷èòàåì çàïèñü î÷åðåäè */
|
/* Ñ÷èòàåì çàïèñü î÷åðåäè */
|
||||||
REXSQUEUE := GET_EXSQUEUE_ID(NFLAG_SMART => 0, NRN => NEXSQUEUE);
|
REXSQUEUE := GET_EXSQUEUE_ID(NFLAG_SMART => 0, NRN => NEXSQUEUE);
|
||||||
@ -507,13 +559,18 @@ create or replace package body UDO_PKG_EXS_INV as
|
|||||||
/* Îáîðà÷èâàåì îòâåò â êîíâåðò */
|
/* Îáîðà÷èâàåì îòâåò â êîíâåðò */
|
||||||
CRESPONSE := UTL_CREATERESPONSE(XDOC => XDOC, XCONTENT => XGETSHEETTYPESRESPONSE);
|
CRESPONSE := UTL_CREATERESPONSE(XDOC => XDOC, XCONTENT => XGETSHEETTYPESRESPONSE);
|
||||||
end if;
|
end if;
|
||||||
|
exception
|
||||||
|
/* Ïåðåõâàòûâàåì âîçìîæíûå îøèáêè */
|
||||||
|
when others then
|
||||||
|
CRESPONSE := UTL_CREATEERRORRESPONSE(SMSG => UTL_CORRECT_ERR(SERR => sqlerrm));
|
||||||
|
end;
|
||||||
/* Âîçâðàùàåì îòâåò */
|
/* Âîçâðàùàåì îòâåò */
|
||||||
PKG_EXS.PRC_RESP_RESULT_SET(NIDENT => NIDENT,
|
PKG_EXS.PRC_RESP_RESULT_SET(NIDENT => NIDENT,
|
||||||
SRESULT => PKG_EXS.SPRC_RESP_RESULT_OK,
|
SRESULT => PKG_EXS.SPRC_RESP_RESULT_OK,
|
||||||
BRESP => CLOB2BLOB(LCDATA => CRESPONSE, SCHARSET => 'UTF8'));
|
BRESP => CLOB2BLOB(LCDATA => CRESPONSE, SCHARSET => 'UTF8'));
|
||||||
exception
|
exception
|
||||||
when others then
|
when others then
|
||||||
/* Âåðí¸ì îøèáêó */
|
/* Âåðí¸ì îøèáêó - ýòî ôàòàëüíàÿ */
|
||||||
PKG_EXS.PRC_RESP_RESULT_SET(NIDENT => NIDENT, SRESULT => PKG_EXS.SPRC_RESP_RESULT_ERR, SMSG => sqlerrm);
|
PKG_EXS.PRC_RESP_RESULT_SET(NIDENT => NIDENT, SRESULT => PKG_EXS.SPRC_RESP_RESULT_ERR, SMSG => sqlerrm);
|
||||||
end GETSHEETTYPES;
|
end GETSHEETTYPES;
|
||||||
|
|
||||||
@ -547,6 +604,7 @@ create or replace package body UDO_PKG_EXS_INV as
|
|||||||
SREQPREFIX PKG_STD.TSTRING; -- Ïðåôèêñ âåäîìîñòè èç çàïðîñà (ïàðàìåòð îòáîðà)
|
SREQPREFIX PKG_STD.TSTRING; -- Ïðåôèêñ âåäîìîñòè èç çàïðîñà (ïàðàìåòð îòáîðà)
|
||||||
SREQNUMBER PKG_STD.TSTRING; -- Íîìåð âåäîìîñòè èç çàïðîñà (ïàðàìåòð îòáîðà)
|
SREQNUMBER PKG_STD.TSTRING; -- Íîìåð âåäîìîñòè èç çàïðîñà (ïàðàìåòð îòáîðà)
|
||||||
DREQDATE PKG_STD.TLDATE; -- Äàòà âåäîìîñòè èç çàïðîñà (ïàðàìåòð îòáîðà)
|
DREQDATE PKG_STD.TLDATE; -- Äàòà âåäîìîñòè èç çàïðîñà (ïàðàìåòð îòáîðà)
|
||||||
|
begin
|
||||||
begin
|
begin
|
||||||
/* Ñ÷èòàåì çàïèñü î÷åðåäè */
|
/* Ñ÷èòàåì çàïèñü î÷åðåäè */
|
||||||
REXSQUEUE := GET_EXSQUEUE_ID(NFLAG_SMART => 0, NRN => NEXSQUEUE);
|
REXSQUEUE := GET_EXSQUEUE_ID(NFLAG_SMART => 0, NRN => NEXSQUEUE);
|
||||||
@ -626,13 +684,18 @@ create or replace package body UDO_PKG_EXS_INV as
|
|||||||
/* Îáîðà÷èâàåì îòâåò â êîíâåðò */
|
/* Îáîðà÷èâàåì îòâåò â êîíâåðò */
|
||||||
CRESPONSE := UTL_CREATERESPONSE(XDOC => XDOC, XCONTENT => XGETSHEETSRESPONSE);
|
CRESPONSE := UTL_CREATERESPONSE(XDOC => XDOC, XCONTENT => XGETSHEETSRESPONSE);
|
||||||
end if;
|
end if;
|
||||||
|
exception
|
||||||
|
/* Ïåðåõâàòûâàåì âîçìîæíûå îøèáêè */
|
||||||
|
when others then
|
||||||
|
CRESPONSE := UTL_CREATEERRORRESPONSE(SMSG => UTL_CORRECT_ERR(SERR => sqlerrm));
|
||||||
|
end;
|
||||||
/* Âîçâðàùàåì îòâåò */
|
/* Âîçâðàùàåì îòâåò */
|
||||||
PKG_EXS.PRC_RESP_RESULT_SET(NIDENT => NIDENT,
|
PKG_EXS.PRC_RESP_RESULT_SET(NIDENT => NIDENT,
|
||||||
SRESULT => PKG_EXS.SPRC_RESP_RESULT_OK,
|
SRESULT => PKG_EXS.SPRC_RESP_RESULT_OK,
|
||||||
BRESP => CLOB2BLOB(LCDATA => CRESPONSE, SCHARSET => 'UTF8'));
|
BRESP => CLOB2BLOB(LCDATA => CRESPONSE, SCHARSET => 'UTF8'));
|
||||||
exception
|
exception
|
||||||
when others then
|
when others then
|
||||||
/* Âåðí¸ì îøèáêó */
|
/* Âåðí¸ì îøèáêó - ýòî ôàòàëüíàÿ */
|
||||||
PKG_EXS.PRC_RESP_RESULT_SET(NIDENT => NIDENT, SRESULT => PKG_EXS.SPRC_RESP_RESULT_ERR, SMSG => sqlerrm);
|
PKG_EXS.PRC_RESP_RESULT_SET(NIDENT => NIDENT, SRESULT => PKG_EXS.SPRC_RESP_RESULT_ERR, SMSG => sqlerrm);
|
||||||
end GETSHEETS;
|
end GETSHEETS;
|
||||||
|
|
||||||
@ -664,6 +727,7 @@ create or replace package body UDO_PKG_EXS_INV as
|
|||||||
CREQ clob; -- Áóôåð äëÿ çàïðîñà
|
CREQ clob; -- Áóôåð äëÿ çàïðîñà
|
||||||
SREQDEVICEID PKG_STD.TSTRING; -- Èäåíòèôèêàòîð óñòðîéñòâà èç çàïðîñà
|
SREQDEVICEID PKG_STD.TSTRING; -- Èäåíòèôèêàòîð óñòðîéñòâà èç çàïðîñà
|
||||||
NREQSHEETCODE PKG_STD.TREF; -- Âåäîìîñòü èç çàïðîñà (ïàðàìåòð îòáîðà)
|
NREQSHEETCODE PKG_STD.TREF; -- Âåäîìîñòü èç çàïðîñà (ïàðàìåòð îòáîðà)
|
||||||
|
begin
|
||||||
begin
|
begin
|
||||||
/* Ñ÷èòàåì çàïèñü î÷åðåäè */
|
/* Ñ÷èòàåì çàïèñü î÷åðåäè */
|
||||||
REXSQUEUE := GET_EXSQUEUE_ID(NFLAG_SMART => 0, NRN => NEXSQUEUE);
|
REXSQUEUE := GET_EXSQUEUE_ID(NFLAG_SMART => 0, NRN => NEXSQUEUE);
|
||||||
@ -736,7 +800,10 @@ create or replace package body UDO_PKG_EXS_INV as
|
|||||||
STAG => SSTORAGEMNEMOCODE,
|
STAG => SSTORAGEMNEMOCODE,
|
||||||
SNS => STSD,
|
SNS => STSD,
|
||||||
SVAL => REC.SSTORAGEMNEMOCODE);
|
SVAL => REC.SSTORAGEMNEMOCODE);
|
||||||
XUSERCODE := UTL_CREATENODE(XDOC => XDOC, STAG => SUSERCODE, SNS => STSD, SVAL => trim(REC.NINVPERSONS));
|
XUSERCODE := UTL_CREATENODE(XDOC => XDOC,
|
||||||
|
STAG => SUSERCODE,
|
||||||
|
SNS => STSD,
|
||||||
|
SVAL => trim(REC.NINVPERSONS));
|
||||||
XITEMCODE := UTL_CREATENODE(XDOC => XDOC, STAG => SITEMCODE, SNS => STSD, SVAL => trim(REC.SIBARCODE));
|
XITEMCODE := UTL_CREATENODE(XDOC => XDOC, STAG => SITEMCODE, SNS => STSD, SVAL => trim(REC.SIBARCODE));
|
||||||
XITEMNAME := UTL_CREATENODE(XDOC => XDOC, STAG => SITEMNAME, SNS => STSD, SVAL => trim(REC.SNOM_NAME));
|
XITEMNAME := UTL_CREATENODE(XDOC => XDOC, STAG => SITEMNAME, SNS => STSD, SVAL => trim(REC.SNOM_NAME));
|
||||||
XITEMMNEMOCODE := UTL_CREATENODE(XDOC => XDOC,
|
XITEMMNEMOCODE := UTL_CREATENODE(XDOC => XDOC,
|
||||||
@ -768,13 +835,18 @@ create or replace package body UDO_PKG_EXS_INV as
|
|||||||
/* Îáîðà÷èâàåì îòâåò â êîíâåðò */
|
/* Îáîðà÷èâàåì îòâåò â êîíâåðò */
|
||||||
CRESPONSE := UTL_CREATERESPONSE(XDOC => XDOC, XCONTENT => XGETSHEETITEMSRESPONSE);
|
CRESPONSE := UTL_CREATERESPONSE(XDOC => XDOC, XCONTENT => XGETSHEETITEMSRESPONSE);
|
||||||
end if;
|
end if;
|
||||||
|
exception
|
||||||
|
/* Ïåðåõâàòûâàåì âîçìîæíûå îøèáêè */
|
||||||
|
when others then
|
||||||
|
CRESPONSE := UTL_CREATEERRORRESPONSE(SMSG => UTL_CORRECT_ERR(SERR => sqlerrm));
|
||||||
|
end;
|
||||||
/* Âîçâðàùàåì îòâåò */
|
/* Âîçâðàùàåì îòâåò */
|
||||||
PKG_EXS.PRC_RESP_RESULT_SET(NIDENT => NIDENT,
|
PKG_EXS.PRC_RESP_RESULT_SET(NIDENT => NIDENT,
|
||||||
SRESULT => PKG_EXS.SPRC_RESP_RESULT_OK,
|
SRESULT => PKG_EXS.SPRC_RESP_RESULT_OK,
|
||||||
BRESP => CLOB2BLOB(LCDATA => CRESPONSE, SCHARSET => 'UTF8'));
|
BRESP => CLOB2BLOB(LCDATA => CRESPONSE, SCHARSET => 'UTF8'));
|
||||||
exception
|
exception
|
||||||
when others then
|
when others then
|
||||||
/* Âåðí¸ì îøèáêó */
|
/* Âåðí¸ì îøèáêó - ýòî ôàòàëüíàÿ */
|
||||||
PKG_EXS.PRC_RESP_RESULT_SET(NIDENT => NIDENT, SRESULT => PKG_EXS.SPRC_RESP_RESULT_ERR, SMSG => sqlerrm);
|
PKG_EXS.PRC_RESP_RESULT_SET(NIDENT => NIDENT, SRESULT => PKG_EXS.SPRC_RESP_RESULT_ERR, SMSG => sqlerrm);
|
||||||
end GETSHEETITEMS;
|
end GETSHEETITEMS;
|
||||||
|
|
||||||
@ -810,6 +882,7 @@ create or replace package body UDO_PKG_EXS_INV as
|
|||||||
CREQ clob; -- Áóôåð äëÿ çàïðîñà
|
CREQ clob; -- Áóôåð äëÿ çàïðîñà
|
||||||
SREQDEVICEID PKG_STD.TSTRING; -- Èäåíòèôèêàòîð óñòðîéñòâà èç çàïðîñà
|
SREQDEVICEID PKG_STD.TSTRING; -- Èäåíòèôèêàòîð óñòðîéñòâà èç çàïðîñà
|
||||||
NREQSHEETCODE PKG_STD.TREF; -- Âåäîìîñòü èç çàïðîñà (ïàðàìåòð îòáîðà)
|
NREQSHEETCODE PKG_STD.TREF; -- Âåäîìîñòü èç çàïðîñà (ïàðàìåòð îòáîðà)
|
||||||
|
begin
|
||||||
begin
|
begin
|
||||||
/* Ñ÷èòàåì çàïèñü î÷åðåäè */
|
/* Ñ÷èòàåì çàïèñü î÷åðåäè */
|
||||||
REXSQUEUE := GET_EXSQUEUE_ID(NFLAG_SMART => 0, NRN => NEXSQUEUE);
|
REXSQUEUE := GET_EXSQUEUE_ID(NFLAG_SMART => 0, NRN => NEXSQUEUE);
|
||||||
@ -847,7 +920,7 @@ create or replace package body UDO_PKG_EXS_INV as
|
|||||||
T.PLACE_NAME SNAME,
|
T.PLACE_NAME SNAME,
|
||||||
UDO_F_GET_DOC_PROP_VAL_STR('LATITUDE', 'ObjPlace', T.RN) SLATITUDE,
|
UDO_F_GET_DOC_PROP_VAL_STR('LATITUDE', 'ObjPlace', T.RN) SLATITUDE,
|
||||||
UDO_F_GET_DOC_PROP_VAL_STR('LONGITUDE', 'ObjPlace', T.RN) SLONGITUDE,
|
UDO_F_GET_DOC_PROP_VAL_STR('LONGITUDE', 'ObjPlace', T.RN) SLONGITUDE,
|
||||||
nvl(T.ADDR_POST, G.POSTAL_CODE) SPOSTCODE,
|
NVL(T.ADDR_POST, G.POSTAL_CODE) SPOSTCODE,
|
||||||
UTL_GEOGRAFY_GET_HIER_ITEM(G.RN, 1) SCOUNTRY,
|
UTL_GEOGRAFY_GET_HIER_ITEM(G.RN, 1) SCOUNTRY,
|
||||||
UTL_GEOGRAFY_GET_HIER_ITEM(G.RN, 2) SREGION,
|
UTL_GEOGRAFY_GET_HIER_ITEM(G.RN, 2) SREGION,
|
||||||
NVL(UTL_GEOGRAFY_GET_HIER_ITEM(G.RN, 8),
|
NVL(UTL_GEOGRAFY_GET_HIER_ITEM(G.RN, 8),
|
||||||
@ -899,13 +972,18 @@ create or replace package body UDO_PKG_EXS_INV as
|
|||||||
/* Îáîðà÷èâàåì îòâåò â êîíâåðò */
|
/* Îáîðà÷èâàåì îòâåò â êîíâåðò */
|
||||||
CRESPONSE := UTL_CREATERESPONSE(XDOC => XDOC, XCONTENT => XGETSTORAGESRESPONSE);
|
CRESPONSE := UTL_CREATERESPONSE(XDOC => XDOC, XCONTENT => XGETSTORAGESRESPONSE);
|
||||||
end if;
|
end if;
|
||||||
|
exception
|
||||||
|
/* Ïåðåõâàòûâàåì âîçìîæíûå îøèáêè */
|
||||||
|
when others then
|
||||||
|
CRESPONSE := UTL_CREATEERRORRESPONSE(SMSG => UTL_CORRECT_ERR(SERR => sqlerrm));
|
||||||
|
end;
|
||||||
/* Âîçâðàùàåì îòâåò */
|
/* Âîçâðàùàåì îòâåò */
|
||||||
PKG_EXS.PRC_RESP_RESULT_SET(NIDENT => NIDENT,
|
PKG_EXS.PRC_RESP_RESULT_SET(NIDENT => NIDENT,
|
||||||
SRESULT => PKG_EXS.SPRC_RESP_RESULT_OK,
|
SRESULT => PKG_EXS.SPRC_RESP_RESULT_OK,
|
||||||
BRESP => CLOB2BLOB(LCDATA => CRESPONSE, SCHARSET => 'UTF8'));
|
BRESP => CLOB2BLOB(LCDATA => CRESPONSE, SCHARSET => 'UTF8'));
|
||||||
exception
|
exception
|
||||||
when others then
|
when others then
|
||||||
/* Âåðí¸ì îøèáêó */
|
/* Âåðí¸ì îøèáêó - ýòî ôàòàëüíàÿ */
|
||||||
PKG_EXS.PRC_RESP_RESULT_SET(NIDENT => NIDENT, SRESULT => PKG_EXS.SPRC_RESP_RESULT_ERR, SMSG => sqlerrm);
|
PKG_EXS.PRC_RESP_RESULT_SET(NIDENT => NIDENT, SRESULT => PKG_EXS.SPRC_RESP_RESULT_ERR, SMSG => sqlerrm);
|
||||||
end GETSTORAGES;
|
end GETSTORAGES;
|
||||||
|
|
||||||
@ -961,8 +1039,8 @@ create or replace package body UDO_PKG_EXS_INV as
|
|||||||
NINVENTORY PKG_STD.TREF; -- Ðåã. íîìåð ÎÑ (êàðòî÷êè "Èíâåíòàðíîé êàðòîòåêè")
|
NINVENTORY PKG_STD.TREF; -- Ðåã. íîìåð ÎÑ (êàðòî÷êè "Èíâåíòàðíîé êàðòîòåêè")
|
||||||
NCOMPANY PKG_STD.TREF; -- Ðåã. íîìåð îðãàíèçàöèè
|
NCOMPANY PKG_STD.TREF; -- Ðåã. íîìåð îðãàíèçàöèè
|
||||||
NPROPERTY PKG_STD.TREF; -- Ðåã. íîìåð ÄÑ ïîçèöèè âåäîìîñòè èíâåíòàðèçàöèè äëÿ õðàíåíèÿ êîììåíòàðèÿ
|
NPROPERTY PKG_STD.TREF; -- Ðåã. íîìåð ÄÑ ïîçèöèè âåäîìîñòè èíâåíòàðèçàöèè äëÿ õðàíåíèÿ êîììåíòàðèÿ
|
||||||
SERR PKG_STD.TSTRING; -- Áóôåð äëÿ îøèáîê
|
|
||||||
NTMP PKG_STD.TREF; -- Áóôåð äëÿ ðåã. íîìåðîâ
|
NTMP PKG_STD.TREF; -- Áóôåð äëÿ ðåã. íîìåðîâ
|
||||||
|
begin
|
||||||
begin
|
begin
|
||||||
/* Èíèöèàëèçèðóåì îðãàíèçàöèþ */
|
/* Èíèöèàëèçèðóåì îðãàíèçàöèþ */
|
||||||
NCOMPANY := 136018;
|
NCOMPANY := 136018;
|
||||||
@ -1027,7 +1105,8 @@ create or replace package body UDO_PKG_EXS_INV as
|
|||||||
/* Ñ÷èòûâàåì "Êîëè÷åñòâî ÎÑ" (ïàðàìåòð ñîõðàíåíèÿ) */
|
/* Ñ÷èòûâàåì "Êîëè÷åñòâî ÎÑ" (ïàðàìåòð ñîõðàíåíèÿ) */
|
||||||
NREQQUANTITY := TO_NUMBER(UTL_GETNODEVAL(XROOTNODE => XNODE_ROOT, SPATTERN => SQUANTITY));
|
NREQQUANTITY := TO_NUMBER(UTL_GETNODEVAL(XROOTNODE => XNODE_ROOT, SPATTERN => SQUANTITY));
|
||||||
/* Ñ÷èòûâàåì "Äàòà ïðîâåäåíèÿ èíâåíòàðèçàöèè ÎÑ" (ïàðàìåòð ñîõðàíåíèÿ) */
|
/* Ñ÷èòûâàåì "Äàòà ïðîâåäåíèÿ èíâåíòàðèçàöèè ÎÑ" (ïàðàìåòð ñîõðàíåíèÿ) */
|
||||||
DREQCHECKDATE := TO_DATE(UTL_GETNODEVAL(XROOTNODE => XNODE_ROOT, SPATTERN => SCHECKDATE), 'YYYY-MM-DD"T"HH24:MI:SS');
|
DREQCHECKDATE := TO_DATE(UTL_GETNODEVAL(XROOTNODE => XNODE_ROOT, SPATTERN => SCHECKDATE),
|
||||||
|
'YYYY-MM-DD"T"HH24:MI:SS');
|
||||||
/* Ñ÷èòûâàåì "Êîììåíòàðèé ÌÎË ÎÑ" (ïàðàìåòð ñîõðàíåíèÿ) */
|
/* Ñ÷èòûâàåì "Êîììåíòàðèé ÌÎË ÎÑ" (ïàðàìåòð ñîõðàíåíèÿ) */
|
||||||
SREQCOMMENT := UTL_GETNODEVAL(XROOTNODE => XNODE_ROOT, SPATTERN => SCOMMENT);
|
SREQCOMMENT := UTL_GETNODEVAL(XROOTNODE => XNODE_ROOT, SPATTERN => SCOMMENT);
|
||||||
/* Ñ÷èòûâàåì "Øèðîòà" (ïàðàìåòð ñîõðàíåíèÿ) */
|
/* Ñ÷èòûâàåì "Øèðîòà" (ïàðàìåòð ñîõðàíåíèÿ) */
|
||||||
@ -1065,11 +1144,13 @@ create or replace package body UDO_PKG_EXS_INV as
|
|||||||
and T.BARCODE = SREQSTORAGECODE;
|
and T.BARCODE = SREQSTORAGECODE;
|
||||||
exception
|
exception
|
||||||
when NO_DATA_FOUND then
|
when NO_DATA_FOUND then
|
||||||
SERR := 'Ìåñòîíàõîæäåíèå èíâåíòàðíûõ îáúåêòîâ ñ øòðèõ-êîäîì "' || SREQSTORAGECODE || '" íå íàéäåíî';
|
P_EXCEPTION(0,
|
||||||
|
'Ìåñòîíàõîæäåíèå èíâåíòàðíûõ îáúåêòîâ ñ øòðèõ-êîäîì "%s" íå íàéäåíî',
|
||||||
|
SREQSTORAGECODE);
|
||||||
end;
|
end;
|
||||||
end if;
|
end if;
|
||||||
/* Ïðîáóåì íàéòè ïîçèöèþ âåäîìîñòè èíâåíòàðèçàöèè ïî øòðèõ-êîäó (åñëè ïåðåäàí ðåã. íîìåð âåäîìîñòè è ïîêà íåò îøèáîê) */
|
/* Ïðîáóåì íàéòè ïîçèöèþ âåäîìîñòè èíâåíòàðèçàöèè ïî øòðèõ-êîäó (åñëè ïåðåäàí ðåã. íîìåð âåäîìîñòè è ïîêà íåò îøèáîê) */
|
||||||
if ((NREQSHEETCODE is not null) and (SERR is null)) then
|
if (NREQSHEETCODE is not null) then
|
||||||
begin
|
begin
|
||||||
select T.NRN
|
select T.NRN
|
||||||
into NELINVOBJECT
|
into NELINVOBJECT
|
||||||
@ -1088,12 +1169,12 @@ create or replace package body UDO_PKG_EXS_INV as
|
|||||||
and T.COMPANY = NCOMPANY;
|
and T.COMPANY = NCOMPANY;
|
||||||
exception
|
exception
|
||||||
when NO_DATA_FOUND then
|
when NO_DATA_FOUND then
|
||||||
SERR := 'Èíâåíòàðíàÿ êàðòî÷êà ñ øòðèõ-êîäîì "' || SREQITEMCODE || '" íå íàéäåíà';
|
P_EXCEPTION(0,
|
||||||
|
'Èíâåíòàðíàÿ êàðòî÷êà ñ øòðèõ-êîäîì "%s" íå íàéäåíà',
|
||||||
|
SREQITEMCODE);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
end if;
|
end if;
|
||||||
/* Åñëè íåò îøèáîê ïðè ïðîâåðêàõ */
|
|
||||||
if (SERR is null) then
|
|
||||||
/* È ó íàñ åñòü øòðèõêîä ôàêòè÷åñêîãî ìåñòîíàõîæäåíèÿ */
|
/* È ó íàñ åñòü øòðèõêîä ôàêòè÷åñêîãî ìåñòîíàõîæäåíèÿ */
|
||||||
if (SDICPLACEBARCODE is not null) then
|
if (SDICPLACEBARCODE is not null) then
|
||||||
/* Åñëè ïîçèöèÿ âåäîìîñòè èíâåíòàðèçàöèè íàéäåíà */
|
/* Åñëè ïîçèöèÿ âåäîìîñòè èíâåíòàðèçàöèè íàéäåíà */
|
||||||
@ -1138,12 +1219,10 @@ create or replace package body UDO_PKG_EXS_INV as
|
|||||||
NRN => NTMP);
|
NRN => NTMP);
|
||||||
end if;
|
end if;
|
||||||
else
|
else
|
||||||
SERR := 'Íå óäàëîñü îïðåäåëèòü ôàêòè÷åñêîå ìåñòîíàõîæäåíèå';
|
P_EXCEPTION(0,
|
||||||
|
'Íå óäàëîñü îïðåäåëèòü ôàêòè÷åñêîå ìåñòîíàõîæäåíèå');
|
||||||
end if;
|
end if;
|
||||||
end if;
|
end if;
|
||||||
end if;
|
|
||||||
/* Åñëè íåò îøèáîê */
|
|
||||||
if (SERR is null) then
|
|
||||||
/* Ñîçäà¸ì ïðîñòðàíñòâî èì¸í äëÿ îòâåòà */
|
/* Ñîçäà¸ì ïðîñòðàíñòâî èì¸í äëÿ îòâåòà */
|
||||||
XSAVESHEETITEMRESPONSE := UTL_CREATENODE(XDOC => XDOC, STAG => SSAVESHEETITEMRESPONSE, SNS => STSD);
|
XSAVESHEETITEMRESPONSE := UTL_CREATENODE(XDOC => XDOC, STAG => SSAVESHEETITEMRESPONSE, SNS => STSD);
|
||||||
/* Ôîðìèðóåì ðåçóëüòàò */
|
/* Ôîðìèðóåì ðåçóëüòàò */
|
||||||
@ -1151,17 +1230,19 @@ create or replace package body UDO_PKG_EXS_INV as
|
|||||||
XNODE := DBMS_XMLDOM.APPENDCHILD(N => XSAVESHEETITEMRESPONSE, NEWCHILD => XITEM);
|
XNODE := DBMS_XMLDOM.APPENDCHILD(N => XSAVESHEETITEMRESPONSE, NEWCHILD => XITEM);
|
||||||
/* Îáîðà÷èâàåì îòâåò â êîíâåðò */
|
/* Îáîðà÷èâàåì îòâåò â êîíâåðò */
|
||||||
CRESPONSE := UTL_CREATERESPONSE(XDOC => XDOC, XCONTENT => XSAVESHEETITEMRESPONSE);
|
CRESPONSE := UTL_CREATERESPONSE(XDOC => XDOC, XCONTENT => XSAVESHEETITEMRESPONSE);
|
||||||
else
|
|
||||||
CRESPONSE := UTL_CREATEERRORRESPONSE(XDOC => XDOC, SMSG => SERR);
|
|
||||||
end if;
|
|
||||||
end if;
|
end if;
|
||||||
|
exception
|
||||||
|
/* Ïåðåõâàòûâàåì âîçìîæíûå îøèáêè */
|
||||||
|
when others then
|
||||||
|
CRESPONSE := UTL_CREATEERRORRESPONSE(SMSG => UTL_CORRECT_ERR(SERR => sqlerrm));
|
||||||
|
end;
|
||||||
/* Âîçâðàùàåì îòâåò */
|
/* Âîçâðàùàåì îòâåò */
|
||||||
PKG_EXS.PRC_RESP_RESULT_SET(NIDENT => NIDENT,
|
PKG_EXS.PRC_RESP_RESULT_SET(NIDENT => NIDENT,
|
||||||
SRESULT => PKG_EXS.SPRC_RESP_RESULT_OK,
|
SRESULT => PKG_EXS.SPRC_RESP_RESULT_OK,
|
||||||
BRESP => CLOB2BLOB(LCDATA => CRESPONSE, SCHARSET => 'UTF8'));
|
BRESP => CLOB2BLOB(LCDATA => CRESPONSE, SCHARSET => 'UTF8'));
|
||||||
exception
|
exception
|
||||||
when others then
|
when others then
|
||||||
/* Âåðí¸ì îøèáêó */
|
/* Âåðí¸ì îøèáêó - ýòî ôàòàëüíàÿ */
|
||||||
PKG_EXS.PRC_RESP_RESULT_SET(NIDENT => NIDENT, SRESULT => PKG_EXS.SPRC_RESP_RESULT_ERR, SMSG => sqlerrm);
|
PKG_EXS.PRC_RESP_RESULT_SET(NIDENT => NIDENT, SRESULT => PKG_EXS.SPRC_RESP_RESULT_ERR, SMSG => sqlerrm);
|
||||||
end SAVESHEETITEM;
|
end SAVESHEETITEM;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user