CREATE OR REPLACE TRIGGER EFT_NOM.cg$BUR_USER_CONTACT_DETAILS BEFORE UPDATE ON USER_CONTACT_DETAILS FOR EACH ROW DECLARE cg$rec cg$USER_CONTACT_DETAILS.cg$row_type; cg$ind cg$USER_CONTACT_DETAILS.cg$ind_type; cg$old_rec cg$USER_CONTACT_DETAILS.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.USCD_ID := :new.USCD_ID; cg$ind.USCD_ID := (:new.USCD_ID IS NULL AND :old.USCD_ID IS NOT NULL ) OR (:new.USCD_ID IS NOT NULL AND :old.USCD_ID IS NULL) OR NOT(:new.USCD_ID = :old.USCD_ID) ; cg$USER_CONTACT_DETAILS.cg$table(cg$USER_CONTACT_DETAILS.idx).USCD_ID := :old.USCD_ID; cg$rec.SYUS_ID := :new.SYUS_ID; cg$ind.SYUS_ID := (:new.SYUS_ID IS NULL AND :old.SYUS_ID IS NOT NULL ) OR (:new.SYUS_ID IS NOT NULL AND :old.SYUS_ID IS NULL) OR NOT(:new.SYUS_ID = :old.SYUS_ID) ; cg$USER_CONTACT_DETAILS.cg$table(cg$USER_CONTACT_DETAILS.idx).SYUS_ID := :old.SYUS_ID; cg$rec.EMAIL_ADDRESS := :new.EMAIL_ADDRESS; cg$ind.EMAIL_ADDRESS := (:new.EMAIL_ADDRESS IS NULL AND :old.EMAIL_ADDRESS IS NOT NULL ) OR (:new.EMAIL_ADDRESS IS NOT NULL AND :old.EMAIL_ADDRESS IS NULL) OR NOT(:new.EMAIL_ADDRESS = :old.EMAIL_ADDRESS) ; cg$USER_CONTACT_DETAILS.cg$table(cg$USER_CONTACT_DETAILS.idx).EMAIL_ADDRESS := :old.EMAIL_ADDRESS; cg$rec.DEFAULT_ADDRESS := :new.DEFAULT_ADDRESS; cg$ind.DEFAULT_ADDRESS := (:new.DEFAULT_ADDRESS IS NULL AND :old.DEFAULT_ADDRESS IS NOT NULL ) OR (:new.DEFAULT_ADDRESS IS NOT NULL AND :old.DEFAULT_ADDRESS IS NULL) OR NOT(:new.DEFAULT_ADDRESS = :old.DEFAULT_ADDRESS) ; cg$USER_CONTACT_DETAILS.cg$table(cg$USER_CONTACT_DETAILS.idx).DEFAULT_ADDRESS := :old.DEFAULT_ADDRESS; cg$rec.SMS_NUMBER := :new.SMS_NUMBER; cg$ind.SMS_NUMBER := (:new.SMS_NUMBER IS NULL AND :old.SMS_NUMBER IS NOT NULL ) OR (:new.SMS_NUMBER IS NOT NULL AND :old.SMS_NUMBER IS NULL) OR NOT(:new.SMS_NUMBER = :old.SMS_NUMBER) ; cg$USER_CONTACT_DETAILS.cg$table(cg$USER_CONTACT_DETAILS.idx).SMS_NUMBER := :old.SMS_NUMBER; cg$USER_CONTACT_DETAILS.idx := cg$USER_CONTACT_DETAILS.idx + 1; if not (cg$USER_CONTACT_DETAILS.called_from_package) then cg$USER_CONTACT_DETAILS.validate_arc(cg$rec); cg$USER_CONTACT_DETAILS.validate_domain(cg$rec, cg$ind); cg$USER_CONTACT_DETAILS.validate_domain_cascade_update(cg$old_rec); cg$USER_CONTACT_DETAILS.upd(cg$rec, cg$ind, FALSE); cg$USER_CONTACT_DETAILS.called_from_package := FALSE; end if; :new.SYUS_ID := cg$rec.SYUS_ID; :new.EMAIL_ADDRESS := cg$rec.EMAIL_ADDRESS; :new.DEFAULT_ADDRESS := cg$rec.DEFAULT_ADDRESS; :new.SMS_NUMBER := cg$rec.SMS_NUMBER; -- Application_logic Post-Before-Update-row <> -- Application_logic Post-Before-Update-row << End >> END; /