Интерфейсы процедур для получения типов ведомостей инвентаризации, заголовков ведомостей инвентаризации, мест хранения, объектов инвентаризации, импорта результатов инвентаризации (GETSHEETTYPES, GETSHEETS, GETSHEETITEMS, GETSTORAGES, SAVESHEETITEM). Реализованы процедуры обмена для типов ведомостей инвентаризации (GETSHEETTYPES) и заголовков ведомостей инвентаризации (GETSHEETS)

This commit is contained in:
Mikhail Chechnev 2019-01-13 03:30:06 +03:00
parent d6ec6b19b7
commit 75f02e4528

View File

@ -14,23 +14,64 @@ create or replace package UDO_PKG_EXS_INV as
NEXSQUEUE in number -- Ðåãèñòðàöèîííûé íîìåð îáðàáàòûâàåìîé ïîçèöèè î÷åðåäè îáìåíà 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; end;
/ /
create or replace package body UDO_PKG_EXS_INV as create or replace package body UDO_PKG_EXS_INV as
/* Êîíñòàíòû - òýãè */ /* Êîíñòàíòû - òýãè */
STSD constant varchar2(20) := 'tsd'; STSD constant varchar2(40) := 'tsd';
SCHECKAUTHRESPONSE constant varchar2(20) := 'CheckAuthResponse'; SCHECKAUTHRESPONSE constant varchar2(40) := 'CheckAuthResponse';
SGETUSERSRESPONSE constant varchar2(20) := 'GetUsersResponse'; SGETUSERSRESPONSE constant varchar2(40) := 'GetUsersResponse';
SDEVICEID constant varchar2(20) := 'DeviceID'; SGETSHEETTYPESRESPONSE constant varchar2(40) := 'GetSheetTypesResponse';
SRESULT constant varchar2(20) := 'Result'; SGETSHEETSRESPONSE constant varchar2(40) := 'GetSheetsResponse';
SSOAPENV constant varchar2(20) := 'soapenv'; SDEVICEID constant varchar2(40) := 'DeviceID';
SENVELOPE constant varchar2(20) := 'Envelope'; SRESULT constant varchar2(40) := 'Result';
SHEADER constant varchar2(20) := 'Header'; SSOAPENV constant varchar2(40) := 'soapenv';
SBODY constant varchar2(20) := 'Body'; SENVELOPE constant varchar2(40) := 'Envelope';
SITEM constant varchar2(20) := 'Item'; SHEADER constant varchar2(40) := 'Header';
SCODE constant varchar2(20) := 'Code'; SBODY constant varchar2(40) := 'Body';
SNAME constant varchar2(20) := 'Name'; 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 */ /* Ñîçäàíèå âåòêè XML */
function UTL_CREATENODE 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); PKG_EXS.PRC_RESP_RESULT_SET(NIDENT => NIDENT, SRESULT => PKG_EXS.SPRC_RESP_RESULT_ERR, SMSG => sqlerrm);
end GETUSERS; 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; end;
/ /