79 lines
4.2 KiB
Plaintext
79 lines
4.2 KiB
Plaintext
CREATE OR REPLACE TRIGGER EFT_NOM.cg$BUR_CONFIRMATIONS
|
|
|
|
BEFORE UPDATE ON CONFIRMATIONS FOR EACH ROW
|
|
DECLARE
|
|
cg$rec cg$CONFIRMATIONS.cg$row_type;
|
|
cg$ind cg$CONFIRMATIONS.cg$ind_type;
|
|
cg$old_rec cg$CONFIRMATIONS.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$CONFIRMATIONS.cg$table(cg$CONFIRMATIONS.idx).CREATED_BY := :old.CREATED_BY;
|
|
cg$rec.CONF_ID := :new.CONF_ID;
|
|
cg$ind.CONF_ID := (:new.CONF_ID IS NULL AND :old.CONF_ID IS NOT NULL )
|
|
OR (:new.CONF_ID IS NOT NULL AND :old.CONF_ID IS NULL)
|
|
OR NOT(:new.CONF_ID = :old.CONF_ID) ;
|
|
cg$CONFIRMATIONS.cg$table(cg$CONFIRMATIONS.idx).CONF_ID := :old.CONF_ID;
|
|
cg$rec.CONFIRMATION_TYPE := :new.CONFIRMATION_TYPE;
|
|
cg$ind.CONFIRMATION_TYPE := (:new.CONFIRMATION_TYPE IS NULL AND :old.CONFIRMATION_TYPE IS NOT NULL )
|
|
OR (:new.CONFIRMATION_TYPE IS NOT NULL AND :old.CONFIRMATION_TYPE IS NULL)
|
|
OR NOT(:new.CONFIRMATION_TYPE = :old.CONFIRMATION_TYPE) ;
|
|
cg$CONFIRMATIONS.cg$table(cg$CONFIRMATIONS.idx).CONFIRMATION_TYPE := :old.CONFIRMATION_TYPE;
|
|
cg$rec.CONFIRMATION_SENT := :new.CONFIRMATION_SENT;
|
|
cg$ind.CONFIRMATION_SENT := (:new.CONFIRMATION_SENT IS NULL AND :old.CONFIRMATION_SENT IS NOT NULL )
|
|
OR (:new.CONFIRMATION_SENT IS NOT NULL AND :old.CONFIRMATION_SENT IS NULL)
|
|
OR NOT(:new.CONFIRMATION_SENT = :old.CONFIRMATION_SENT) ;
|
|
cg$CONFIRMATIONS.cg$table(cg$CONFIRMATIONS.idx).CONFIRMATION_SENT := :old.CONFIRMATION_SENT;
|
|
-- Warning: Column CONFIRMATION_TEXT is of type CLOB and not allowed in triggers
|
|
cg$ind.CONFIRMATION_TEXT := FALSE;
|
|
cg$rec.NOMI_ID := :new.NOMI_ID;
|
|
cg$ind.NOMI_ID := (:new.NOMI_ID IS NULL AND :old.NOMI_ID IS NOT NULL )
|
|
OR (:new.NOMI_ID IS NOT NULL AND :old.NOMI_ID IS NULL)
|
|
OR NOT(:new.NOMI_ID = :old.NOMI_ID) ;
|
|
cg$CONFIRMATIONS.cg$table(cg$CONFIRMATIONS.idx).NOMI_ID := :old.NOMI_ID;
|
|
cg$rec.APPROVED := :new.APPROVED;
|
|
cg$ind.APPROVED := (:new.APPROVED IS NULL AND :old.APPROVED IS NOT NULL )
|
|
OR (:new.APPROVED IS NOT NULL AND :old.APPROVED IS NULL)
|
|
OR NOT(:new.APPROVED = :old.APPROVED) ;
|
|
cg$CONFIRMATIONS.cg$table(cg$CONFIRMATIONS.idx).APPROVED := :old.APPROVED;
|
|
-- Warning: Column CONFIRMATION is of type BLOB and not allowed in triggers
|
|
cg$ind.CONFIRMATION := FALSE;
|
|
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$CONFIRMATIONS.cg$table(cg$CONFIRMATIONS.idx).CREATED_ON := :old.CREATED_ON;
|
|
|
|
|
|
cg$CONFIRMATIONS.idx := cg$CONFIRMATIONS.idx + 1;
|
|
|
|
if not (cg$CONFIRMATIONS.called_from_package) then
|
|
cg$CONFIRMATIONS.validate_arc(cg$rec);
|
|
cg$CONFIRMATIONS.validate_domain(cg$rec, cg$ind);
|
|
cg$CONFIRMATIONS.validate_domain_cascade_update(cg$old_rec);
|
|
|
|
cg$CONFIRMATIONS.upd(cg$rec, cg$ind, FALSE);
|
|
cg$CONFIRMATIONS.called_from_package := FALSE;
|
|
end if;
|
|
|
|
:new.CREATED_BY := cg$rec.CREATED_BY;
|
|
:new.CONFIRMATION_TYPE := cg$rec.CONFIRMATION_TYPE;
|
|
:new.CONFIRMATION_SENT := cg$rec.CONFIRMATION_SENT;
|
|
-- Warning: Column CONFIRMATION_TEXT is of type CLOB and not allowed in triggers
|
|
:new.NOMI_ID := cg$rec.NOMI_ID;
|
|
:new.APPROVED := cg$rec.APPROVED;
|
|
-- Warning: Column CONFIRMATION is of type BLOB and not allowed in triggers
|
|
:new.CREATED_ON := cg$rec.CREATED_ON;
|
|
-- Application_logic Post-Before-Update-row <<Start>>
|
|
-- Application_logic Post-Before-Update-row << End >>
|
|
END;
|
|
/
|
|
|