---- At first create Log table----
CREATE TABLE ZLOGS
(
ZTIME DATE,
ZUTIME DATE,
CID NUMBER,
ZID NUMBER,
XLID NUMBER,
XBID NUMBER,
ZERRORID VARCHAR2(100 BYTE),
ZTYPE VARCHAR2(100 BYTE),
ZOBJECT VARCHAR2(100 BYTE),
ZERRORNUM VARCHAR2(100 BYTE),
ZMESSAGE VARCHAR2(4000 BYTE),
ZSTATEMENT VARCHAR2(4000 BYTE),
ZEMAIL VARCHAR2(100 BYTE),
ZUEMAIL VARCHAR2(100 BYTE),
XNOTE VARCHAR2(500 BYTE),
XAPPID VARCHAR2(100 BYTE),
XPAGEID VARCHAR2(100 BYTE),
XSESSION VARCHAR2(100 BYTE),
XIPADR VARCHAR2(100 BYTE),
XMACADR VARCHAR2(100 BYTE)
)
----Create Procedure----
CREATE OR REPLACE PROCEDURE GENERATE_ERRORLOG_PRC (
ip_zid in varchar2,
ip_xbid in varchar2,
ip_ztype in varchar2,
ip_zobject in varchar2,
ip_zerrornum in varchar2,
ip_zmessage in varchar2,
ip_zstatement in varchar2,
ip_zemail in varchar2,
ip_xappid in varchar2,
ip_xpageid in varchar2,
ip_xsession in varchar2,
ip_xipadr in varchar2,
ip_xmacadr in varchar2
)
is
v_vrmax varchar2 (10);
v_vrno varchar2 (30);
v_cid varchar2(30);
v_zid varchar2(30);
v_xlid varchar2(30);
v_xbid varchar2(30);
begin
Insert into zlogs
(zerrorid, ztime, cid, zid, xlid, xbid,ztype,zobject,zerrornum,zmessage,
zstatement,zemail,xappid,xpageid,xsession,xipadr,xmacadr)
values
(sys_guid(), sysdate, v_cid, v_zid, v_xlid, v_xbid, ip_ztype, ip_zobject, ip_zerrornum, ip_zmessage,
ip_zstatement, ip_zemail, ip_xappid, ip_xpageid, ip_xsession,ip_xipadr, ip_xmacadr);
commit;
exception
when others then
null;
end;
/
----Create Procedure for Apex----
DECLARE
vErrorNum varchar2(100);
vErrorMsg varchar2(500);
vIpadr varchar2(500);
BEGIN
null;
--- logical statement
Exception when others then
ROLLBACK;
vErrorNum :=sqlcode;
vErrorMsg :=sqlerrm;
GENERATE_ERRORLOG_PRC(:g_zid,:g_xbid,'ERROR','Process:ORDER_SAVE_PROCESS',
vErrorNum , vErrorMsg, null, :APP_USER, :APP_ID, :APP_PAGE_ID, :SESSION, vipadr,null);
END;
===========================================
Output:
=====

