Интерфейсы процедур для получения типов ведомостей инвентаризации, заголовков ведомостей инвентаризации, мест хранения, объектов инвентаризации, импорта результатов инвентаризации (GETSHEETTYPES, GETSHEETS, GETSHEETITEMS, GETSTORAGES, SAVESHEETITEM). Реализованы процедуры обмена для типов ведомостей инвентаризации (GETSHEETTYPES) и заголовков ведомостей инвентаризации (GETSHEETS)
This commit is contained in:
parent
d6ec6b19b7
commit
75f02e4528
@ -14,23 +14,64 @@ create or replace package UDO_PKG_EXS_INV as
|
||||
NEXSQUEUE in number -- Ðåãèñòðàöèîííûé íîìåð îáðàáàòûâàåìîé ïîçèöèè î÷åðåäè îáìåíà
|
||||
);
|
||||
|
||||
/* Ýëåêòðîííàÿ èíâåíòàðèçàöèÿ - ñ÷èòûâàíèå òèïîâ âåäîìîñòåé */
|
||||
procedure GETSHEETTYPES
|
||||
(
|
||||
NIDENT in number, -- Èäåíòèôèêàòîð ïðîöåññà
|
||||
NEXSQUEUE in number -- Ðåãèñòðàöèîííûé íîìåð îáðàáàòûâàåìîé ïîçèöèè î÷åðåäè îáìåíà
|
||||
);
|
||||
|
||||
/* Ýëåêòðîííàÿ èíâåíòàðèçàöèÿ - ñ÷èòûâàíèå çàãîëîâêîâ âåäîìîñòåé èíâåíòàðèçàöèè */
|
||||
procedure GETSHEETS
|
||||
(
|
||||
NIDENT in number, -- Èäåíòèôèêàòîð ïðîöåññà
|
||||
NEXSQUEUE in number -- Ðåãèñòðàöèîííûé íîìåð îáðàáàòûâàåìîé ïîçèöèè î÷åðåäè îáìåíà
|
||||
);
|
||||
|
||||
/* Ýëåêòðîííàÿ èíâåíòàðèçàöèÿ - ñ÷èòûâàíèå ñîñòàâà âåäîìîñòåé èíâåíòàðèçàöèè */
|
||||
procedure GETSHEETITEMS
|
||||
(
|
||||
NIDENT in number, -- Èäåíòèôèêàòîð ïðîöåññà
|
||||
NEXSQUEUE in number -- Ðåãèñòðàöèîííûé íîìåð îáðàáàòûâàåìîé ïîçèöèè î÷åðåäè îáìåíà
|
||||
);
|
||||
|
||||
/* Ýëåêòðîííàÿ èíâåíòàðèçàöèÿ - ñ÷èòûâàíèå ìåñò õðàíåíèÿ */
|
||||
procedure GETSTORAGES
|
||||
(
|
||||
NIDENT in number, -- Èäåíòèôèêàòîð ïðîöåññà
|
||||
NEXSQUEUE in number -- Ðåãèñòðàöèîííûé íîìåð îáðàáàòûâàåìîé ïîçèöèè î÷åðåäè îáìåíà
|
||||
);
|
||||
|
||||
/* Ýëåêòðîííàÿ èíâåíòàðèçàöèÿ - ñîõðàíåíèå ðåçóëüòàòîâ èíâåíòàðèçàöèè */
|
||||
procedure SAVESHEETITEM
|
||||
(
|
||||
NIDENT in number, -- Èäåíòèôèêàòîð ïðîöåññà
|
||||
NEXSQUEUE in number -- Ðåãèñòðàöèîííûé íîìåð îáðàáàòûâàåìîé ïîçèöèè î÷åðåäè îáìåíà
|
||||
);
|
||||
|
||||
end;
|
||||
/
|
||||
create or replace package body UDO_PKG_EXS_INV as
|
||||
|
||||
/* Êîíñòàíòû - òýãè */
|
||||
STSD constant varchar2(20) := 'tsd';
|
||||
SCHECKAUTHRESPONSE constant varchar2(20) := 'CheckAuthResponse';
|
||||
SGETUSERSRESPONSE constant varchar2(20) := 'GetUsersResponse';
|
||||
SDEVICEID constant varchar2(20) := 'DeviceID';
|
||||
SRESULT constant varchar2(20) := 'Result';
|
||||
SSOAPENV constant varchar2(20) := 'soapenv';
|
||||
SENVELOPE constant varchar2(20) := 'Envelope';
|
||||
SHEADER constant varchar2(20) := 'Header';
|
||||
SBODY constant varchar2(20) := 'Body';
|
||||
SITEM constant varchar2(20) := 'Item';
|
||||
SCODE constant varchar2(20) := 'Code';
|
||||
SNAME constant varchar2(20) := 'Name';
|
||||
STSD constant varchar2(40) := 'tsd';
|
||||
SCHECKAUTHRESPONSE constant varchar2(40) := 'CheckAuthResponse';
|
||||
SGETUSERSRESPONSE constant varchar2(40) := 'GetUsersResponse';
|
||||
SGETSHEETTYPESRESPONSE constant varchar2(40) := 'GetSheetTypesResponse';
|
||||
SGETSHEETSRESPONSE constant varchar2(40) := 'GetSheetsResponse';
|
||||
SDEVICEID constant varchar2(40) := 'DeviceID';
|
||||
SRESULT constant varchar2(40) := 'Result';
|
||||
SSOAPENV constant varchar2(40) := 'soapenv';
|
||||
SENVELOPE constant varchar2(40) := 'Envelope';
|
||||
SHEADER constant varchar2(40) := 'Header';
|
||||
SBODY constant varchar2(40) := 'Body';
|
||||
SITEM constant varchar2(40) := 'Item';
|
||||
SCODE constant varchar2(40) := 'Code';
|
||||
SNAME constant varchar2(40) := 'Name';
|
||||
STYPECODE constant varchar2(40) := 'TypeCode';
|
||||
SPREFIX constant varchar2(40) := 'Prefix';
|
||||
SNUMBER constant varchar2(40) := 'Number';
|
||||
SDATE constant varchar2(40) := 'Date';
|
||||
|
||||
/* Ñîçäàíèå âåòêè XML */
|
||||
function UTL_CREATENODE
|
||||
@ -293,5 +334,239 @@ create or replace package body UDO_PKG_EXS_INV as
|
||||
PKG_EXS.PRC_RESP_RESULT_SET(NIDENT => NIDENT, SRESULT => PKG_EXS.SPRC_RESP_RESULT_ERR, SMSG => sqlerrm);
|
||||
end GETUSERS;
|
||||
|
||||
/* Ýëåêòðîííàÿ èíâåíòàðèçàöèÿ - ñ÷èòûâàíèå òèïîâ âåäîìîñòåé */
|
||||
procedure GETSHEETTYPES
|
||||
(
|
||||
NIDENT in number, -- Èäåíòèôèêàòîð ïðîöåññà
|
||||
NEXSQUEUE in number -- Ðåãèñòðàöèîííûé íîìåð îáðàáàòûâàåìîé ïîçèöèè î÷åðåäè îáìåíà
|
||||
)
|
||||
is
|
||||
REXSQUEUE EXSQUEUE%rowtype; -- Çàïèñü ïîçèöèè î÷åðåäè
|
||||
XGETSHEETTYPESRESPONSE DBMS_XMLDOM.DOMNODE; -- Êîðíåâîé ýëåìåíò îòâåòà
|
||||
XNODE DBMS_XMLDOM.DOMNODE; -- Áóôåð äëÿ âåòêè îòâåòà
|
||||
XITEM DBMS_XMLDOM.DOMNODE; -- Ýëåìåíò îòâåòíîãî ñïèñêà
|
||||
XCODE DBMS_XMLDOM.DOMNODE; -- Êîä ýëåìåíòà îòâåòíîãî ñïèñêà
|
||||
XNAME DBMS_XMLDOM.DOMNODE; -- Íèìåíîâàíèå ýëåìåíòà îòâåòíîãî ñïèñêà
|
||||
XDOC DBMS_XMLDOM.DOMDOCUMENT; -- Äîêóìåíò
|
||||
XMLPARCER DBMS_XMLPARSER.PARSER; -- Ïàðñåð
|
||||
XENVELOPE DBMS_XMLDOM.DOMNODE; -- Êîíâåðò
|
||||
XBODY DBMS_XMLDOM.DOMNODE; -- Òåëî äîêóìåíòà
|
||||
XNODELIST DBMS_XMLDOM.DOMNODELIST; -- Âåòêè òåëà äîêóìåíòà
|
||||
XNODE_ROOT DBMS_XMLDOM.DOMNODE; -- Êîðíåâîé ýëåìåíò ïåðâîé âåòêè òåëà äîêóìåíòà
|
||||
CRESPONSE clob; -- Áóôåð äëÿ îòâåòà
|
||||
CREQ clob; -- Áóôåð äëÿ çàïðîñà
|
||||
SREQDEVICEID varchar2(30); -- Èäåíòèôèêàòîð óñòðîéñòâà èç çàïðîñà
|
||||
begin
|
||||
/* Ñ÷èòàåì çàïèñü î÷åðåäè */
|
||||
REXSQUEUE := GET_EXSQUEUE_ID(NFLAG_SMART => 0, NRN => NEXSQUEUE);
|
||||
/* Âîçüìåì òåêñò çàïðîñà */
|
||||
CREQ := BLOB2CLOB(LBDATA => REXSQUEUE.MSG);
|
||||
/* Ñîçäàåì èíñòàíñ XML ïàðñåðà */
|
||||
XMLPARCER := DBMS_XMLPARSER.NEWPARSER;
|
||||
/* Ðàçáèðàåì XML èç çàïðîñà */
|
||||
DBMS_XMLPARSER.PARSECLOB(P => XMLPARCER, DOC => CREQ);
|
||||
/* Áåðåì XML äîêóìåíò èç ðàçîáðàííîãî */
|
||||
XDOC := DBMS_XMLPARSER.GETDOCUMENT(P => XMLPARCER);
|
||||
/* Ñ÷èòûâàåì êîðíåâîé ýëåìåíò */
|
||||
XENVELOPE := DBMS_XMLDOM.MAKENODE(ELEM => DBMS_XMLDOM.GETDOCUMENTELEMENT(DOC => XDOC));
|
||||
/* Ñ÷èòûâàåì ýëåìåíò òåëî */
|
||||
XBODY := DBMS_XSLPROCESSOR.SELECTSINGLENODE(N => XENVELOPE, PATTERN => SBODY);
|
||||
/* Ñ÷èòûâàåì äî÷åðíèå ýëåìåíòû òåëà */
|
||||
XNODELIST := DBMS_XMLDOM.GETCHILDNODES(N => XBODY);
|
||||
/* Áåðåì ïåðâûé äî÷åðíèé ýëåìåíò */
|
||||
XNODE_ROOT := DBMS_XMLDOM.ITEM(NL => XNODELIST, IDX => 0);
|
||||
/* Ñ÷èòûâàåì èäåíòèôèêàòîð óñòðîéñòâà */
|
||||
SREQDEVICEID := UTL_GETNODEVAL(XROOTNODE => XNODE_ROOT, SPATTERN => SDEVICEID);
|
||||
/* Êîíòðîëü èíäåòèôèêàòîðà óñòðîéñòâà ïî ëèöåíçèè */
|
||||
/* UTL_CHECK_DEVICEID(SDEVICEID => SREQDEVICEID); */
|
||||
/* Ïîäãîòàâëèâàåì äîêóìåíò äëÿ îòâåòà */
|
||||
UTL_CREATERESPONSEDOC(XDOC => XDOC);
|
||||
/* Âìåñòî ïðîâåðêè ïî ëèöåíçèè - ïîêà ïðîñòî ïðîâåðêà íà òî, ÷òî èäåíòèôèêàòîð óñòðîéñòâà áûë ïåðåäàí */
|
||||
if (SREQDEVICEID is not null) then
|
||||
/* Ñîçäà¸ì ïðîñòðàíñòâî èì¸í äëÿ îòâåòà */
|
||||
XGETSHEETTYPESRESPONSE := UTL_CREATENODE(XDOC => XDOC, STAG => SGETSHEETTYPESRESPONSE, SNS => STSD);
|
||||
/* Îáõîäèì òèïû äîêóìåíòîâ ñâÿçàííûå ñ ðàçäåëîì "Ýëåêòðîííûå èíâåíòîðèçàöèè" */
|
||||
for REC in (select T.RN,
|
||||
T.DOCCODE
|
||||
from DOCTYPES T,
|
||||
COMPVERLIST CV
|
||||
where T.VERSION = CV.VERSION
|
||||
and CV.COMPANY = 136018
|
||||
and T.RN in (select DOCRN from DOCPARAMS where DOCPARAMS.UNITCODE = 'ElectronicInventories')
|
||||
order by T.DOCCODE)
|
||||
loop
|
||||
/* Ñîáèðàåì èíôîðìàöèþ ïî òèïó äîêóìåíòà â îòâåò */
|
||||
XITEM := UTL_CREATENODE(XDOC => XDOC, STAG => SITEM, SNS => STSD);
|
||||
XCODE := UTL_CREATENODE(XDOC => XDOC, STAG => SCODE, SNS => STSD, SVAL => REC.RN);
|
||||
XNAME := UTL_CREATENODE(XDOC => XDOC, STAG => SNAME, SNS => STSD, SVAL => REC.DOCCODE);
|
||||
XNODE := DBMS_XMLDOM.APPENDCHILD(N => XITEM, NEWCHILD => XCODE);
|
||||
XNODE := DBMS_XMLDOM.APPENDCHILD(N => XITEM, NEWCHILD => XNAME);
|
||||
XNODE := DBMS_XMLDOM.APPENDCHILD(N => XGETSHEETTYPESRESPONSE, NEWCHILD => XITEM);
|
||||
end loop;
|
||||
/* Îáîðà÷èâàåì îòâåò â êîíâåðò */
|
||||
CRESPONSE := UTL_CREATERESPONSE(XDOC => XDOC, XCONTENT => XGETSHEETTYPESRESPONSE);
|
||||
end if;
|
||||
/* Âîçâðàùàåì îòâåò */
|
||||
PKG_EXS.PRC_RESP_RESULT_SET(NIDENT => NIDENT,
|
||||
SRESULT => PKG_EXS.SPRC_RESP_RESULT_OK,
|
||||
BRESP => CLOB2BLOB(LCDATA => CRESPONSE, SCHARSET => 'UTF8'));
|
||||
exception
|
||||
when others then
|
||||
/* Âåðí¸ì îøèáêó */
|
||||
PKG_EXS.PRC_RESP_RESULT_SET(NIDENT => NIDENT, SRESULT => PKG_EXS.SPRC_RESP_RESULT_ERR, SMSG => sqlerrm);
|
||||
end GETSHEETTYPES;
|
||||
|
||||
/* Ýëåêòðîííàÿ èíâåíòàðèçàöèÿ - ñ÷èòûâàíèå çàãîëîâêîâ âåäîìîñòåé èíâåíòàðèçàöèè */
|
||||
procedure GETSHEETS
|
||||
(
|
||||
NIDENT in number, -- Èäåíòèôèêàòîð ïðîöåññà
|
||||
NEXSQUEUE in number -- Ðåãèñòðàöèîííûé íîìåð îáðàáàòûâàåìîé ïîçèöèè î÷åðåäè îáìåíà
|
||||
)
|
||||
is
|
||||
REXSQUEUE EXSQUEUE%rowtype; -- Çàïèñü ïîçèöèè î÷åðåäè
|
||||
XGETSHEETSRESPONSE DBMS_XMLDOM.DOMNODE; -- Êîðíåâîé ýëåìåíò îòâåòà
|
||||
XNODE DBMS_XMLDOM.DOMNODE; -- Áóôåð äëÿ âåòêè îòâåòà
|
||||
XITEM DBMS_XMLDOM.DOMNODE; -- Ýëåìåíò îòâåòíîãî ñïèñêà
|
||||
XCODE DBMS_XMLDOM.DOMNODE; -- Êîä ýëåìåíòà îòâåòíîãî ñïèñêà
|
||||
XNAME DBMS_XMLDOM.DOMNODE; -- Íèìåíîâàíèå ýëåìåíòà îòâåòíîãî ñïèñêà
|
||||
XTYPECODE DBMS_XMLDOM.DOMNODE; -- Òèï âåäîìîñòè ýëåìåíòà îòâåòíîãî ñïèñêà
|
||||
XPREFIX DBMS_XMLDOM.DOMNODE; -- Ïðåôèêñ âåäîìîñòè ýëåìåíòà îòâåòíîãî ñïèñêà
|
||||
XNUMBER DBMS_XMLDOM.DOMNODE; -- Íîìåð âåäîìîñòè ýëåìåíòà îòâåòíîãî ñïèñêà
|
||||
XDATE DBMS_XMLDOM.DOMNODE; -- Äàòà âåäîìîñòè ýëåìåíòà îòâåòíîãî ñïèñêà
|
||||
XDOC DBMS_XMLDOM.DOMDOCUMENT; -- Äîêóìåíò
|
||||
XMLPARCER DBMS_XMLPARSER.PARSER; -- Ïàðñåð
|
||||
XENVELOPE DBMS_XMLDOM.DOMNODE; -- Êîíâåðò
|
||||
XBODY DBMS_XMLDOM.DOMNODE; -- Òåëî äîêóìåíòà
|
||||
XNODELIST DBMS_XMLDOM.DOMNODELIST; -- Âåòêè òåëà äîêóìåíòà
|
||||
XNODE_ROOT DBMS_XMLDOM.DOMNODE; -- Êîðíåâîé ýëåìåíò ïåðâîé âåòêè òåëà äîêóìåíòà
|
||||
CRESPONSE clob; -- Áóôåð äëÿ îòâåòà
|
||||
CREQ clob; -- Áóôåð äëÿ çàïðîñà
|
||||
SREQDEVICEID varchar2(30); -- Èäåíòèôèêàòîð óñòðîéñòâà èç çàïðîñà
|
||||
NREQTYPECODE number(17); -- Òèï âåäîìîñòè èç çàïðîñà (ïàðàìåòð îòáîðà)
|
||||
SREQPREFIX varchar2(30); -- Ïðåôèêñ âåäîìîñòè èç çàïðîñà (ïàðàìåòð îòáîðà)
|
||||
SREQNUMBER varchar2(30); -- Íîìåð âåäîìîñòè èç çàïðîñà (ïàðàìåòð îòáîðà)
|
||||
DREQDATE date; -- Äàòà âåäîìîñòè èç çàïðîñà (ïàðàìåòð îòáîðà)
|
||||
begin
|
||||
/* Ñ÷èòàåì çàïèñü î÷åðåäè */
|
||||
REXSQUEUE := GET_EXSQUEUE_ID(NFLAG_SMART => 0, NRN => NEXSQUEUE);
|
||||
/* Âîçüìåì òåêñò çàïðîñà */
|
||||
CREQ := BLOB2CLOB(LBDATA => REXSQUEUE.MSG);
|
||||
/* Ñîçäàåì èíñòàíñ XML ïàðñåðà */
|
||||
XMLPARCER := DBMS_XMLPARSER.NEWPARSER;
|
||||
/* Ðàçáèðàåì XML èç çàïðîñà */
|
||||
DBMS_XMLPARSER.PARSECLOB(P => XMLPARCER, DOC => CREQ);
|
||||
/* Áåðåì XML äîêóìåíò èç ðàçîáðàííîãî */
|
||||
XDOC := DBMS_XMLPARSER.GETDOCUMENT(P => XMLPARCER);
|
||||
/* Ñ÷èòûâàåì êîðíåâîé ýëåìåíò */
|
||||
XENVELOPE := DBMS_XMLDOM.MAKENODE(ELEM => DBMS_XMLDOM.GETDOCUMENTELEMENT(DOC => XDOC));
|
||||
/* Ñ÷èòûâàåì ýëåìåíò òåëî */
|
||||
XBODY := DBMS_XSLPROCESSOR.SELECTSINGLENODE(N => XENVELOPE, PATTERN => SBODY);
|
||||
/* Ñ÷èòûâàåì äî÷åðíèå ýëåìåíòû òåëà */
|
||||
XNODELIST := DBMS_XMLDOM.GETCHILDNODES(N => XBODY);
|
||||
/* Áåðåì ïåðâûé äî÷åðíèé ýëåìåíò */
|
||||
XNODE_ROOT := DBMS_XMLDOM.ITEM(NL => XNODELIST, IDX => 0);
|
||||
/* Ñ÷èòûâàåì èäåíòèôèêàòîð óñòðîéñòâà */
|
||||
SREQDEVICEID := UTL_GETNODEVAL(XROOTNODE => XNODE_ROOT, SPATTERN => SDEVICEID);
|
||||
/* Ñ÷èòûâàåì "Òèï âåäîìîñòè" (ïàðàìåòð îòáîðà) */
|
||||
NREQTYPECODE := TO_NUMBER(UTL_GETNODEVAL(XROOTNODE => XNODE_ROOT, SPATTERN => STYPECODE));
|
||||
/* Ñ÷èòûâàåì "Ïðåôèêñ" (ïàðàìåòð îòáîðà) */
|
||||
SREQPREFIX := UTL_GETNODEVAL(XROOTNODE => XNODE_ROOT, SPATTERN => SPREFIX);
|
||||
/* Ñ÷èòûâàåì "Íîìåð" (ïàðàìåòð îòáîðà) */
|
||||
SREQNUMBER := UTL_GETNODEVAL(XROOTNODE => XNODE_ROOT, SPATTERN => SNUMBER);
|
||||
/* Ñ÷èòûâàåì "Äàòó" (ïàðàìåòð îòáîðà) */
|
||||
DREQDATE := TO_DATE(UTL_GETNODEVAL(XROOTNODE => XNODE_ROOT, SPATTERN => SDATE), 'yyyy-mm-dd');
|
||||
/* Êîíòðîëü èíäåòèôèêàòîðà óñòðîéñòâà ïî ëèöåíçèè */
|
||||
/* UTL_CHECK_DEVICEID(SDEVICEID => SREQDEVICEID); */
|
||||
/* Ïîäãîòàâëèâàåì äîêóìåíò äëÿ îòâåòà */
|
||||
UTL_CREATERESPONSEDOC(XDOC => XDOC);
|
||||
/* Âìåñòî ïðîâåðêè ïî ëèöåíçèè - ïîêà ïðîñòî ïðîâåðêà íà òî, ÷òî èäåíòèôèêàòîð óñòðîéñòâà áûë ïåðåäàí */
|
||||
if (SREQDEVICEID is not null) then
|
||||
/* Ñîçäà¸ì ïðîñòðàíñòâî èì¸í äëÿ îòâåòà */
|
||||
XGETSHEETSRESPONSE := UTL_CREATENODE(XDOC => XDOC, STAG => SGETSHEETSRESPONSE, SNS => STSD);
|
||||
/* Îáõîäèì òèïû äîêóìåíòîâ ñâÿçàííûå ñ ðàçäåëîì "Ýëåêòðîííûå èíâåíòîðèçàöèè" */
|
||||
for REC in (select T.RN,
|
||||
T.DOC_TYPE,
|
||||
DT.DOCCODE as DOC_TYPE_CODE,
|
||||
trim(T.DOC_PREF) as DOC_PREF,
|
||||
trim(T.DOC_NUMB) as DOC_NUMB,
|
||||
T.DOC_DATE
|
||||
from ELINVENTORY T,
|
||||
DOCTYPES DT
|
||||
where T.COMPANY = 136018
|
||||
and T.DOC_TYPE = DT.RN
|
||||
and (NREQTYPECODE is null or (NREQTYPECODE is not null and T.DOC_TYPE = NREQTYPECODE))
|
||||
and (SREQPREFIX is null or (SREQPREFIX is not null and trim(T.DOC_PREF) = SREQPREFIX))
|
||||
and (SREQNUMBER is null or (SREQNUMBER is not null and trim(T.DOC_NUMB) = SREQNUMBER))
|
||||
and (DREQDATE is null or (DREQDATE is not null and T.DOC_DATE = DREQDATE)))
|
||||
loop
|
||||
/* Ñîáèðàåì èíôîðìàöèþ ïî âåäîìîñòè â îòâåò */
|
||||
XITEM := UTL_CREATENODE(XDOC => XDOC, STAG => SITEM, SNS => STSD);
|
||||
XCODE := UTL_CREATENODE(XDOC => XDOC, STAG => SCODE, SNS => STSD, SVAL => REC.RN);
|
||||
XNAME := UTL_CREATENODE(XDOC => XDOC,
|
||||
STAG => SNAME,
|
||||
SNS => STSD,
|
||||
SVAL => REC.DOC_TYPE_CODE || ', ' || REC.DOC_PREF || '-' || REC.DOC_NUMB || ', ' ||
|
||||
TO_CHAR(REC.DOC_DATE, 'dd.mm.yyyy'));
|
||||
XTYPECODE := UTL_CREATENODE(XDOC => XDOC, STAG => STYPECODE, SNS => STSD, SVAL => REC.DOC_TYPE);
|
||||
XPREFIX := UTL_CREATENODE(XDOC => XDOC, STAG => SPREFIX, SNS => STSD, SVAL => REC.DOC_PREF);
|
||||
XNUMBER := UTL_CREATENODE(XDOC => XDOC, STAG => SNUMBER, SNS => STSD, SVAL => REC.DOC_NUMB);
|
||||
XDATE := UTL_CREATENODE(XDOC => XDOC,
|
||||
STAG => SDATE,
|
||||
SNS => STSD,
|
||||
SVAL => TO_CHAR(REC.DOC_DATE, 'yyyy-mm-dd'));
|
||||
XNODE := DBMS_XMLDOM.APPENDCHILD(N => XITEM, NEWCHILD => XCODE);
|
||||
XNODE := DBMS_XMLDOM.APPENDCHILD(N => XITEM, NEWCHILD => XNAME);
|
||||
XNODE := DBMS_XMLDOM.APPENDCHILD(N => XITEM, NEWCHILD => XTYPECODE);
|
||||
XNODE := DBMS_XMLDOM.APPENDCHILD(N => XITEM, NEWCHILD => XPREFIX);
|
||||
XNODE := DBMS_XMLDOM.APPENDCHILD(N => XITEM, NEWCHILD => XNUMBER);
|
||||
XNODE := DBMS_XMLDOM.APPENDCHILD(N => XITEM, NEWCHILD => XDATE);
|
||||
XNODE := DBMS_XMLDOM.APPENDCHILD(N => XGETSHEETSRESPONSE, NEWCHILD => XITEM);
|
||||
end loop;
|
||||
/* Îáîðà÷èâàåì îòâåò â êîíâåðò */
|
||||
CRESPONSE := UTL_CREATERESPONSE(XDOC => XDOC, XCONTENT => XGETSHEETSRESPONSE);
|
||||
end if;
|
||||
/* Âîçâðàùàåì îòâåò */
|
||||
PKG_EXS.PRC_RESP_RESULT_SET(NIDENT => NIDENT,
|
||||
SRESULT => PKG_EXS.SPRC_RESP_RESULT_OK,
|
||||
BRESP => CLOB2BLOB(LCDATA => CRESPONSE, SCHARSET => 'UTF8'));
|
||||
exception
|
||||
when others then
|
||||
/* Âåðí¸ì îøèáêó */
|
||||
PKG_EXS.PRC_RESP_RESULT_SET(NIDENT => NIDENT, SRESULT => PKG_EXS.SPRC_RESP_RESULT_ERR, SMSG => sqlerrm);
|
||||
end GETSHEETS;
|
||||
|
||||
/* Ýëåêòðîííàÿ èíâåíòàðèçàöèÿ - ñ÷èòûâàíèå ñîñòàâà âåäîìîñòåé èíâåíòàðèçàöèè */
|
||||
procedure GETSHEETITEMS
|
||||
(
|
||||
NIDENT in number, -- Èäåíòèôèêàòîð ïðîöåññà
|
||||
NEXSQUEUE in number -- Ðåãèñòðàöèîííûé íîìåð îáðàáàòûâàåìîé ïîçèöèè î÷åðåäè îáìåíà
|
||||
)
|
||||
is
|
||||
begin
|
||||
null;
|
||||
end GETSHEETITEMS;
|
||||
|
||||
/* Ýëåêòðîííàÿ èíâåíòàðèçàöèÿ - ñ÷èòûâàíèå ìåñò õðàíåíèÿ */
|
||||
procedure GETSTORAGES
|
||||
(
|
||||
NIDENT in number, -- Èäåíòèôèêàòîð ïðîöåññà
|
||||
NEXSQUEUE in number -- Ðåãèñòðàöèîííûé íîìåð îáðàáàòûâàåìîé ïîçèöèè î÷åðåäè îáìåíà
|
||||
)
|
||||
is
|
||||
begin
|
||||
null;
|
||||
end GETSTORAGES;
|
||||
|
||||
/* Ýëåêòðîííàÿ èíâåíòàðèçàöèÿ - ñîõðàíåíèå ðåçóëüòàòîâ èíâåíòàðèçàöèè */
|
||||
procedure SAVESHEETITEM
|
||||
(
|
||||
NIDENT in number, -- Èäåíòèôèêàòîð ïðîöåññà
|
||||
NEXSQUEUE in number -- Ðåãèñòðàöèîííûé íîìåð îáðàáàòûâàåìîé ïîçèöèè î÷åðåäè îáìåíà
|
||||
)
|
||||
is
|
||||
begin
|
||||
null;
|
||||
end SAVESHEETITEM;
|
||||
|
||||
end;
|
||||
/
|
||||
|
Loading…
x
Reference in New Issue
Block a user