48 lines
1.9 KiB
Plaintext
48 lines
1.9 KiB
Plaintext
/* $Revision$
|
|
* $Id$
|
|
*/
|
|
|
|
/* FAC_PACA, (A means Audit) to be included from fac_pac.src, isolated for convenience only
|
|
* The Audit-package source. Contains all functions for audit.
|
|
*
|
|
* Usage: aud.auditaction(...);
|
|
*
|
|
*/
|
|
|
|
|
|
CREATE OR REPLACE PACKAGE aud
|
|
AS
|
|
PROCEDURE auditaction (tabelnaam VARCHAR2, tabelkey_oud NUMBER, tabelkey_nieuw NUMBER, veldnaam VARCHAR2, waarde_oud VARCHAR2, waarde_nieuw VARCHAR2, action VARCHAR2, opmerk VARCHAR2 DEFAULT NULL);
|
|
END aud;
|
|
/
|
|
CREATE OR REPLACE PACKAGE BODY aud
|
|
AS
|
|
PROCEDURE auditaction (tabelnaam VARCHAR2, tabelkey_oud NUMBER, tabelkey_nieuw NUMBER, veldnaam VARCHAR2, waarde_oud VARCHAR2, waarde_nieuw VARCHAR2, action VARCHAR2, opmerk VARCHAR2 DEFAULT NULL)
|
|
IS
|
|
BEGIN
|
|
IF (action <> 'I' AND COALESCE(waarde_oud, 'bUSnDIaVjRS56D3z') <> COALESCE(waarde_nieuw, 'bUSnDIaVjRS56D3z')) OR
|
|
(action = 'I' AND waarde_nieuw IS NOT NULL)
|
|
THEN
|
|
INSERT INTO fac_audit (fac_audit_tabelnaam,
|
|
fac_audit_tabelkey,
|
|
fac_audit_veldnaam,
|
|
fac_audit_actie,
|
|
fac_audit_waarde_oud,
|
|
fac_audit_waarde_nieuw,
|
|
prs_perslid_key,
|
|
fac_audit_opmerking)
|
|
VALUES (tabelnaam,
|
|
COALESCE(tabelkey_nieuw, tabelkey_oud),
|
|
veldnaam,
|
|
CASE WHEN action = 'D' OR SUBSTR(veldnaam, -9) = 'verwijder' THEN 'D' ELSE action END,
|
|
waarde_oud,
|
|
waarde_nieuw,
|
|
sys_context('USERENV', 'CLIENT_IDENTIFIER'),
|
|
opmerk);
|
|
END IF;
|
|
END;
|
|
END aud;
|
|
/
|
|
|
|
REGISTERRUN('$Id$')
|