CAMPI AUDIT STANDARD
Da aggiungere in coda a tutti i file creati.
Vengono valorizzati automaticamente al momento dell'inserimento e della modifica.
CAMPI AUDIT PER FILE DI LOG
Da aggiungere in coda a tutti i file di storicizzazione (ed RTEFCANLOG è lo storico modifiche di RTEFCAN)
I campi valorizzati in giallo vanno valorizzati nel TRIGGER con i campi sopra, mentre gli altri vengono valorizzati automaticamente al momento dell'inserimento e della modifica.
Esempio di Trigger per Storicizzazione RTEFCANLOG - RTEFCAN
* ===================================================================================
* Componente : RTE_TRIG
* Tipo : Reusable-part
*
* Autore : MARCOROSSI
* Data : 2016/10/07 - 10:02:01
*
* Commenti : Trigger
*
* ===================================================================================
FUNCTION OPTIONS(*DIRECT *NOMESSAGES *LIGHTUSAGE *MLOPTIMISE) RCV_LIST(£TRIG_LIST) TRIGGER(*FILE RTEFCAN)
* =======================================================
* Working fields, lists and groups
* =======================================================
* At entry £TRIG_LIST will contain 0,1 or 2
* entries representing current and previous
* record images of file RTEFCAN. Refer to the
* Technical Guide for details and examples.
* Do NOT define any fields in this list. They
* are automatically included by the compiler.
DEF_LIST NAME(£TRIG_LIST) TYPE(*WORKING) ENTRYS(2)
GROUP_BY NAME(£REC_LOG) FIELDS(£RTEFCNEG £RTEFCTIR £RTEFCKFC £RTEFCRGS £RTEFCRGU £RTEFCIND £RTEFCINU £RTEFCLOC £RTEFCLOU £RTEFCCAP £RTEFCPRV £RTEFCSTAT £RTEFCPTX £RTEFCPSC £RTEFCIVA £RTEFCFIS £RTEFCTAG £RTEFCTEL £RTEFCPAG £RTEFCDSC £RTEFCAUT £RTEFCTSC £RTEFCSED £RTEFCVIP £RTEFCCNG £RTEFCDIS £RTEFCPAF £RTEFCNOM £RTEFCNOU £RTEFCSEX £RTEFCPRO £RTEFCDNA £RTEFCMLI £RTEFCEMA £RTEFCNTE £RTECLNKJ £RTECLNJU £RTECLNKK £RTECLKKU £RTECLIND £RTECLINU £RTECLNCV £RTECLTEL £RTECLFAX £RTECLCCC £RTECLCFG £RTECLCNE £RTECLCCM £RTECLCCT £RTECLCIN £RTECLCNZ £RTECLCOC £RTECLCCU £RTECLCTG £RTECLDCG £RTECLFET £RTECLNCT £RTECLPEP £RTECLTIR £RTECLEST £RTECLCOU £RTECLSPE £RTECLOCR £RTECLOUP £RTECLCAT £RTEFCPSN £RTEFCECM £RTEFCENG £RTEFCEKC £RTEFCDTC £RTEFCKNG £RTEFCKKC £RTELGDCR £RTELGDUP £RTELGFCR £RTELGFUP £RTELGPCR £RTELGPUP £RTELGTCR £RTELGTUP £RTELGUCR £RTELGUUP)
* Assume a "good" return initially
CHANGE FIELD(£TRIG_RETC) TO(OK)
* >>> DELETE all "not defined" events from the <<<
* >>> the following CASE construct. (ie: Remove <<<
* >>> WHEN VALUE_IS commands that are not part <<<
* >>> of the definition of this trigger BEFORE <<<
* >>> specifying details of the events that are <<<
* >>> part of the definition of this trigger). <<<
* >>> This simplifies logic in this function <<<
* >>> and ensures an ABORT if someone attempts <<<
* >>> to cause it to be invoked during an event <<<
* >>> that it has not been set up to handle. <<<
CASE OF_FIELD(£TRIG_OPER)
* ------------------------------------------
* Handle an after insert event
* ------------------------------------------
WHEN VALUE_IS('= AFTINS')
* Insert
CHANGE FIELD(£RTELGOLG) TO(INS)
* Entry 1 is the new details
GET_ENTRY NUMBER(1) FROM_LIST(£TRIG_LIST)
* Audit
CHANGE FIELD(£RTELGDCR) TO(£RTEDATCR)
CHANGE FIELD(£RTELGDUP) TO(£RTEDATUP)
CHANGE FIELD(£RTELGFCR) TO(£RTEFUNCR)
CHANGE FIELD(£RTELGFUP) TO(£RTEFUNUP)
CHANGE FIELD(£RTELGPCR) TO(£RTEPROCR)
CHANGE FIELD(£RTELGPUP) TO(£RTEPROUP)
CHANGE FIELD(£RTELGTCR) TO(£RTETIMCR)
CHANGE FIELD(£RTELGTUP) TO(£RTETIMUP)
CHANGE FIELD(£RTELGUCR) TO(£RTEUSRCR)
CHANGE FIELD(£RTELGUUP) TO(£RTEUSRUP)
INSERT FIELDS(£REC_LOG) TO_FILE(RTEFCANLOG)
*
* ------------------------------------------
* Handle an after update event
* ------------------------------------------
WHEN VALUE_IS('= AFTUPD')
* Update
CHANGE FIELD(£RTELGOLG) TO(UPD)
* Entry 1 is the new details
GET_ENTRY NUMBER(1) FROM_LIST(£TRIG_LIST)
* Audit
CHANGE FIELD(£RTELGDCR) TO(£RTEDATCR)
CHANGE FIELD(£RTELGDUP) TO(£RTEDATUP)
CHANGE FIELD(£RTELGFCR) TO(£RTEFUNCR)
CHANGE FIELD(£RTELGFUP) TO(£RTEFUNUP)
CHANGE FIELD(£RTELGPCR) TO(£RTEPROCR)
CHANGE FIELD(£RTELGPUP) TO(£RTEPROUP)
CHANGE FIELD(£RTELGTCR) TO(£RTETIMCR)
CHANGE FIELD(£RTELGTUP) TO(£RTETIMUP)
CHANGE FIELD(£RTELGUCR) TO(£RTEUSRCR)
CHANGE FIELD(£RTELGUUP) TO(£RTEUSRUP)
INSERT FIELDS(£REC_LOG) TO_FILE(RTEFCANLOG)
*
* ------------------------------------------
* Handle an after delete event
* ------------------------------------------
WHEN VALUE_IS('= AFTDLT')
* Delete
CHANGE FIELD(£RTELGOLG) TO(DEL)
* Entry 1 is the new details
GET_ENTRY NUMBER(1) FROM_LIST(£TRIG_LIST)
* Audit
CHANGE FIELD(£RTELGDCR) TO(£RTEDATCR)
CHANGE FIELD(£RTELGDUP) TO(£RTEDATUP)
CHANGE FIELD(£RTELGFCR) TO(£RTEFUNCR)
CHANGE FIELD(£RTELGFUP) TO(£RTEFUNUP)
CHANGE FIELD(£RTELGPCR) TO(£RTEPROCR)
CHANGE FIELD(£RTELGPUP) TO(£RTEPROUP)
CHANGE FIELD(£RTELGTCR) TO(£RTETIMCR)
CHANGE FIELD(£RTELGTUP) TO(£RTETIMUP)
CHANGE FIELD(£RTELGUCR) TO(£RTEUSRCR)
CHANGE FIELD(£RTELGUUP) TO(£RTEUSRUP)
INSERT FIELDS(£REC_LOG) TO_FILE(RTEFCANLOG)
*
ENDCASE
* Return control to the invoker
RETURN
Configurazione Trigger