Files
Database/FAC/FAC_PACA.SRC
Maykel Geerdink 18c5afc414 PLAT#41497: TB038 Geen ‘laatste wijziging’ in beeld bij gewijzigde taak.
svn path=/Database/trunk/; revision=36152
2017-11-29 12:57:06 +00:00

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$')