CREATE OR REPLACE TRIGGER "EFT_NOM".cg$BUR_SYSTEM_EVENTS BEFORE UPDATE ON SYSTEM_EVENTS FOR EACH ROW DECLARE cg$rec cg$SYSTEM_EVENTS.cg$row_type; cg$ind cg$SYSTEM_EVENTS.cg$ind_type; cg$old_rec cg$SYSTEM_EVENTS.cg$row_type; BEGIN -- Application_logic Pre-Before-Update-row <> -- Application_logic Pre-Before-Update-row << End >> -- Load cg$rec/cg$ind values from new cg$rec.SYEV_ID := :new.SYEV_ID; cg$ind.SYEV_ID := (:new.SYEV_ID IS NULL AND :old.SYEV_ID IS NOT NULL ) OR (:new.SYEV_ID IS NOT NULL AND :old.SYEV_ID IS NULL) OR NOT(:new.SYEV_ID = :old.SYEV_ID) ; cg$SYSTEM_EVENTS.cg$table(cg$SYSTEM_EVENTS.idx).SYEV_ID := :old.SYEV_ID; cg$rec.CODE := :new.CODE; cg$ind.CODE := (:new.CODE IS NULL AND :old.CODE IS NOT NULL ) OR (:new.CODE IS NOT NULL AND :old.CODE IS NULL) OR NOT(:new.CODE = :old.CODE) ; cg$SYSTEM_EVENTS.cg$table(cg$SYSTEM_EVENTS.idx).CODE := :old.CODE; cg$rec.DESCRIPTION := :new.DESCRIPTION; cg$ind.DESCRIPTION := (:new.DESCRIPTION IS NULL AND :old.DESCRIPTION IS NOT NULL ) OR (:new.DESCRIPTION IS NOT NULL AND :old.DESCRIPTION IS NULL) OR NOT(:new.DESCRIPTION = :old.DESCRIPTION) ; cg$SYSTEM_EVENTS.cg$table(cg$SYSTEM_EVENTS.idx).DESCRIPTION := :old.DESCRIPTION; cg$rec.CREATED_BY := :new.CREATED_BY; cg$ind.CREATED_BY := (:new.CREATED_BY IS NULL AND :old.CREATED_BY IS NOT NULL ) OR (:new.CREATED_BY IS NOT NULL AND :old.CREATED_BY IS NULL) OR NOT(:new.CREATED_BY = :old.CREATED_BY) ; cg$SYSTEM_EVENTS.cg$table(cg$SYSTEM_EVENTS.idx).CREATED_BY := :old.CREATED_BY; cg$rec.CREATED_ON := :new.CREATED_ON; cg$ind.CREATED_ON := (:new.CREATED_ON IS NULL AND :old.CREATED_ON IS NOT NULL ) OR (:new.CREATED_ON IS NOT NULL AND :old.CREATED_ON IS NULL) OR NOT(:new.CREATED_ON = :old.CREATED_ON) ; cg$SYSTEM_EVENTS.cg$table(cg$SYSTEM_EVENTS.idx).CREATED_ON := :old.CREATED_ON; cg$rec.UPDATED_BY := :new.UPDATED_BY; cg$ind.UPDATED_BY := (:new.UPDATED_BY IS NULL AND :old.UPDATED_BY IS NOT NULL ) OR (:new.UPDATED_BY IS NOT NULL AND :old.UPDATED_BY IS NULL) OR NOT(:new.UPDATED_BY = :old.UPDATED_BY) ; cg$SYSTEM_EVENTS.cg$table(cg$SYSTEM_EVENTS.idx).UPDATED_BY := :old.UPDATED_BY; cg$rec.UPDATED_ON := :new.UPDATED_ON; cg$ind.UPDATED_ON := (:new.UPDATED_ON IS NULL AND :old.UPDATED_ON IS NOT NULL ) OR (:new.UPDATED_ON IS NOT NULL AND :old.UPDATED_ON IS NULL) OR NOT(:new.UPDATED_ON = :old.UPDATED_ON) ; cg$SYSTEM_EVENTS.cg$table(cg$SYSTEM_EVENTS.idx).UPDATED_ON := :old.UPDATED_ON; cg$SYSTEM_EVENTS.idx := cg$SYSTEM_EVENTS.idx + 1; if not (cg$SYSTEM_EVENTS.called_from_package) then cg$SYSTEM_EVENTS.validate_arc(cg$rec); cg$SYSTEM_EVENTS.validate_domain(cg$rec, cg$ind); cg$SYSTEM_EVENTS.validate_domain_cascade_update(cg$old_rec); cg$SYSTEM_EVENTS.upd(cg$rec, cg$ind, FALSE); cg$SYSTEM_EVENTS.called_from_package := FALSE; end if; :new.CODE := cg$rec.CODE; :new.DESCRIPTION := cg$rec.DESCRIPTION; :new.CREATED_BY := cg$rec.CREATED_BY; :new.CREATED_ON := cg$rec.CREATED_ON; :new.UPDATED_BY := cg$rec.UPDATED_BY; :new.UPDATED_ON := cg$rec.UPDATED_ON; -- Application_logic Post-Before-Update-row <> -- Application_logic Post-Before-Update-row << End >> END; /