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