Files
mip/Data/BulkLoad/EFT/Nominations/plsql/cg$bur_user_options.trg

55 lines
2.4 KiB
Plaintext

CREATE OR REPLACE TRIGGER "EFT_NOM".cg$BUR_USER_OPTIONS
BEFORE UPDATE ON USER_OPTIONS FOR EACH ROW
DECLARE
cg$rec cg$USER_OPTIONS.cg$row_type;
cg$ind cg$USER_OPTIONS.cg$ind_type;
cg$old_rec cg$USER_OPTIONS.cg$row_type;
BEGIN
-- Application_logic Pre-Before-Update-row <<Start>>
-- Application_logic Pre-Before-Update-row << End >>
-- Load cg$rec/cg$ind values from new
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_OPTIONS.cg$table(cg$USER_OPTIONS.idx).SYUS_ID := :old.SYUS_ID;
cg$rec.SYOP_ID := :new.SYOP_ID;
cg$ind.SYOP_ID := (:new.SYOP_ID IS NULL AND :old.SYOP_ID IS NOT NULL )
OR (:new.SYOP_ID IS NOT NULL AND :old.SYOP_ID IS NULL)
OR NOT(:new.SYOP_ID = :old.SYOP_ID) ;
cg$USER_OPTIONS.cg$table(cg$USER_OPTIONS.idx).SYOP_ID := :old.SYOP_ID;
cg$rec.DISPLAY_TEXT := :new.DISPLAY_TEXT;
cg$ind.DISPLAY_TEXT := (:new.DISPLAY_TEXT IS NULL AND :old.DISPLAY_TEXT IS NOT NULL )
OR (:new.DISPLAY_TEXT IS NOT NULL AND :old.DISPLAY_TEXT IS NULL)
OR NOT(:new.DISPLAY_TEXT = :old.DISPLAY_TEXT) ;
cg$USER_OPTIONS.cg$table(cg$USER_OPTIONS.idx).DISPLAY_TEXT := :old.DISPLAY_TEXT;
cg$rec.DISPLAY_SEQ := :new.DISPLAY_SEQ;
cg$ind.DISPLAY_SEQ := (:new.DISPLAY_SEQ IS NULL AND :old.DISPLAY_SEQ IS NOT NULL )
OR (:new.DISPLAY_SEQ IS NOT NULL AND :old.DISPLAY_SEQ IS NULL)
OR NOT(:new.DISPLAY_SEQ = :old.DISPLAY_SEQ) ;
cg$USER_OPTIONS.cg$table(cg$USER_OPTIONS.idx).DISPLAY_SEQ := :old.DISPLAY_SEQ;
cg$USER_OPTIONS.idx := cg$USER_OPTIONS.idx + 1;
if not (cg$USER_OPTIONS.called_from_package) then
cg$USER_OPTIONS.validate_arc(cg$rec);
cg$USER_OPTIONS.validate_domain(cg$rec, cg$ind);
cg$USER_OPTIONS.validate_domain_cascade_update(cg$old_rec);
cg$USER_OPTIONS.upd(cg$rec, cg$ind, FALSE);
cg$USER_OPTIONS.called_from_package := FALSE;
end if;
:new.DISPLAY_TEXT := cg$rec.DISPLAY_TEXT;
:new.DISPLAY_SEQ := cg$rec.DISPLAY_SEQ;
-- Application_logic Post-Before-Update-row <<Start>>
-- Application_logic Post-Before-Update-row << End >>
END;
/