85 lines
4.4 KiB
Plaintext
85 lines
4.4 KiB
Plaintext
CREATE OR REPLACE TRIGGER EFT_NOM.cg$BUR_RULES
|
|
|
|
BEFORE UPDATE ON RULES FOR EACH ROW
|
|
DECLARE
|
|
cg$rec cg$RULES.cg$row_type;
|
|
cg$ind cg$RULES.cg$ind_type;
|
|
cg$old_rec cg$RULES.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.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$RULES.cg$table(cg$RULES.idx).CREATED_BY := :old.CREATED_BY;
|
|
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$RULES.cg$table(cg$RULES.idx).RULE_ID := :old.RULE_ID;
|
|
cg$rec.RULE_NAME := :new.RULE_NAME;
|
|
cg$ind.RULE_NAME := (:new.RULE_NAME IS NULL AND :old.RULE_NAME IS NOT NULL )
|
|
OR (:new.RULE_NAME IS NOT NULL AND :old.RULE_NAME IS NULL)
|
|
OR NOT(:new.RULE_NAME = :old.RULE_NAME) ;
|
|
cg$RULES.cg$table(cg$RULES.idx).RULE_NAME := :old.RULE_NAME;
|
|
cg$rec.LEFT_SIDE := :new.LEFT_SIDE;
|
|
cg$ind.LEFT_SIDE := (:new.LEFT_SIDE IS NULL AND :old.LEFT_SIDE IS NOT NULL )
|
|
OR (:new.LEFT_SIDE IS NOT NULL AND :old.LEFT_SIDE IS NULL)
|
|
OR NOT(:new.LEFT_SIDE = :old.LEFT_SIDE) ;
|
|
cg$RULES.cg$table(cg$RULES.idx).LEFT_SIDE := :old.LEFT_SIDE;
|
|
cg$rec.RULE_RELATION := :new.RULE_RELATION;
|
|
cg$ind.RULE_RELATION := (:new.RULE_RELATION IS NULL AND :old.RULE_RELATION IS NOT NULL )
|
|
OR (:new.RULE_RELATION IS NOT NULL AND :old.RULE_RELATION IS NULL)
|
|
OR NOT(:new.RULE_RELATION = :old.RULE_RELATION) ;
|
|
cg$RULES.cg$table(cg$RULES.idx).RULE_RELATION := :old.RULE_RELATION;
|
|
cg$rec.RIGHT_SIDE := :new.RIGHT_SIDE;
|
|
cg$ind.RIGHT_SIDE := (:new.RIGHT_SIDE IS NULL AND :old.RIGHT_SIDE IS NOT NULL )
|
|
OR (:new.RIGHT_SIDE IS NOT NULL AND :old.RIGHT_SIDE IS NULL)
|
|
OR NOT(:new.RIGHT_SIDE = :old.RIGHT_SIDE) ;
|
|
cg$RULES.cg$table(cg$RULES.idx).RIGHT_SIDE := :old.RIGHT_SIDE;
|
|
cg$rec.ERROR_MESSAGE_HU := :new.ERROR_MESSAGE_HU;
|
|
cg$ind.ERROR_MESSAGE_HU := (:new.ERROR_MESSAGE_HU IS NULL AND :old.ERROR_MESSAGE_HU IS NOT NULL )
|
|
OR (:new.ERROR_MESSAGE_HU IS NOT NULL AND :old.ERROR_MESSAGE_HU IS NULL)
|
|
OR NOT(:new.ERROR_MESSAGE_HU = :old.ERROR_MESSAGE_HU) ;
|
|
cg$RULES.cg$table(cg$RULES.idx).ERROR_MESSAGE_HU := :old.ERROR_MESSAGE_HU;
|
|
cg$rec.ERROR_MESSAGE_EN := :new.ERROR_MESSAGE_EN;
|
|
cg$ind.ERROR_MESSAGE_EN := (:new.ERROR_MESSAGE_EN IS NULL AND :old.ERROR_MESSAGE_EN IS NOT NULL )
|
|
OR (:new.ERROR_MESSAGE_EN IS NOT NULL AND :old.ERROR_MESSAGE_EN IS NULL)
|
|
OR NOT(:new.ERROR_MESSAGE_EN = :old.ERROR_MESSAGE_EN) ;
|
|
cg$RULES.cg$table(cg$RULES.idx).ERROR_MESSAGE_EN := :old.ERROR_MESSAGE_EN;
|
|
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$RULES.cg$table(cg$RULES.idx).CREATED_ON := :old.CREATED_ON;
|
|
|
|
|
|
cg$RULES.idx := cg$RULES.idx + 1;
|
|
|
|
if not (cg$RULES.called_from_package) then
|
|
cg$RULES.validate_arc(cg$rec);
|
|
cg$RULES.validate_domain(cg$rec, cg$ind);
|
|
cg$RULES.validate_domain_cascade_update(cg$old_rec);
|
|
|
|
cg$RULES.upd(cg$rec, cg$ind, FALSE);
|
|
cg$RULES.called_from_package := FALSE;
|
|
end if;
|
|
|
|
:new.CREATED_BY := cg$rec.CREATED_BY;
|
|
:new.RULE_NAME := cg$rec.RULE_NAME;
|
|
:new.LEFT_SIDE := cg$rec.LEFT_SIDE;
|
|
:new.RULE_RELATION := cg$rec.RULE_RELATION;
|
|
:new.RIGHT_SIDE := cg$rec.RIGHT_SIDE;
|
|
:new.ERROR_MESSAGE_HU := cg$rec.ERROR_MESSAGE_HU;
|
|
:new.ERROR_MESSAGE_EN := cg$rec.ERROR_MESSAGE_EN;
|
|
:new.CREATED_ON := cg$rec.CREATED_ON;
|
|
-- Application_logic Post-Before-Update-row <<Start>>
|
|
-- Application_logic Post-Before-Update-row << End >>
|
|
END;
|
|
/
|
|
|