105 lines
5.8 KiB
Plaintext
105 lines
5.8 KiB
Plaintext
CREATE OR REPLACE TRIGGER "EFT_NOM".cg$BUR_INTERMEDIARIES
|
|
|
|
BEFORE UPDATE ON INTERMEDIARIES FOR EACH ROW
|
|
|
|
|
|
DECLARE
|
|
cg$rec cg$INTERMEDIARIES.cg$row_type;
|
|
cg$ind cg$INTERMEDIARIES.cg$ind_type;
|
|
cg$old_rec cg$INTERMEDIARIES.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.INTE_ID := :new.INTE_ID;
|
|
cg$ind.INTE_ID := (:new.INTE_ID IS NULL AND :old.INTE_ID IS NOT NULL )
|
|
OR (:new.INTE_ID IS NOT NULL AND :old.INTE_ID IS NULL)
|
|
OR NOT(:new.INTE_ID = :old.INTE_ID) ;
|
|
cg$INTERMEDIARIES.cg$table(cg$INTERMEDIARIES.idx).INTE_ID := :old.INTE_ID;
|
|
cg$rec.NAME := :new.NAME;
|
|
cg$ind.NAME := (:new.NAME IS NULL AND :old.NAME IS NOT NULL )
|
|
OR (:new.NAME IS NOT NULL AND :old.NAME IS NULL)
|
|
OR NOT(:new.NAME = :old.NAME) ;
|
|
cg$INTERMEDIARIES.cg$table(cg$INTERMEDIARIES.idx).NAME := :old.NAME;
|
|
cg$rec.PERIOD_START := :new.PERIOD_START;
|
|
cg$ind.PERIOD_START := (:new.PERIOD_START IS NULL AND :old.PERIOD_START IS NOT NULL )
|
|
OR (:new.PERIOD_START IS NOT NULL AND :old.PERIOD_START IS NULL)
|
|
OR NOT(:new.PERIOD_START = :old.PERIOD_START) ;
|
|
cg$INTERMEDIARIES.cg$table(cg$INTERMEDIARIES.idx).PERIOD_START := :old.PERIOD_START;
|
|
cg$rec.CONTACT_TELEPHONE := :new.CONTACT_TELEPHONE;
|
|
cg$ind.CONTACT_TELEPHONE := (:new.CONTACT_TELEPHONE IS NULL AND :old.CONTACT_TELEPHONE IS NOT NULL )
|
|
OR (:new.CONTACT_TELEPHONE IS NOT NULL AND :old.CONTACT_TELEPHONE IS NULL)
|
|
OR NOT(:new.CONTACT_TELEPHONE = :old.CONTACT_TELEPHONE) ;
|
|
cg$INTERMEDIARIES.cg$table(cg$INTERMEDIARIES.idx).CONTACT_TELEPHONE := :old.CONTACT_TELEPHONE;
|
|
cg$rec.CONTACT_FAX := :new.CONTACT_FAX;
|
|
cg$ind.CONTACT_FAX := (:new.CONTACT_FAX IS NULL AND :old.CONTACT_FAX IS NOT NULL )
|
|
OR (:new.CONTACT_FAX IS NOT NULL AND :old.CONTACT_FAX IS NULL)
|
|
OR NOT(:new.CONTACT_FAX = :old.CONTACT_FAX) ;
|
|
cg$INTERMEDIARIES.cg$table(cg$INTERMEDIARIES.idx).CONTACT_FAX := :old.CONTACT_FAX;
|
|
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$INTERMEDIARIES.cg$table(cg$INTERMEDIARIES.idx).CREATED_BY := :old.CREATED_BY;
|
|
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$INTERMEDIARIES.cg$table(cg$INTERMEDIARIES.idx).CREATED_ON := :old.CREATED_ON;
|
|
cg$rec.DESCRIPTION := :new.DESCRIPTION;
|
|
cg$ind.DESCRIPTION := (:new.DESCRIPTION IS NULL AND :old.DESCRIPTION IS NOT NULL )
|
|
OR (:new.DESCRIPTION IS NOT NULL AND :old.DESCRIPTION IS NULL)
|
|
OR NOT(:new.DESCRIPTION = :old.DESCRIPTION) ;
|
|
cg$INTERMEDIARIES.cg$table(cg$INTERMEDIARIES.idx).DESCRIPTION := :old.DESCRIPTION;
|
|
cg$rec.PERIOD_END := :new.PERIOD_END;
|
|
cg$ind.PERIOD_END := (:new.PERIOD_END IS NULL AND :old.PERIOD_END IS NOT NULL )
|
|
OR (:new.PERIOD_END IS NOT NULL AND :old.PERIOD_END IS NULL)
|
|
OR NOT(:new.PERIOD_END = :old.PERIOD_END) ;
|
|
cg$INTERMEDIARIES.cg$table(cg$INTERMEDIARIES.idx).PERIOD_END := :old.PERIOD_END;
|
|
cg$rec.UPDATED_BY := :new.UPDATED_BY;
|
|
cg$ind.UPDATED_BY := (:new.UPDATED_BY IS NULL AND :old.UPDATED_BY IS NOT NULL )
|
|
OR (:new.UPDATED_BY IS NOT NULL AND :old.UPDATED_BY IS NULL)
|
|
OR NOT(:new.UPDATED_BY = :old.UPDATED_BY) ;
|
|
cg$INTERMEDIARIES.cg$table(cg$INTERMEDIARIES.idx).UPDATED_BY := :old.UPDATED_BY;
|
|
cg$rec.UPDATED_ON := :new.UPDATED_ON;
|
|
cg$ind.UPDATED_ON := (:new.UPDATED_ON IS NULL AND :old.UPDATED_ON IS NOT NULL )
|
|
OR (:new.UPDATED_ON IS NOT NULL AND :old.UPDATED_ON IS NULL)
|
|
OR NOT(:new.UPDATED_ON = :old.UPDATED_ON) ;
|
|
cg$INTERMEDIARIES.cg$table(cg$INTERMEDIARIES.idx).UPDATED_ON := :old.UPDATED_ON;
|
|
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$INTERMEDIARIES.cg$table(cg$INTERMEDIARIES.idx).EMAIL_ADDRESS := :old.EMAIL_ADDRESS;
|
|
|
|
|
|
cg$INTERMEDIARIES.idx := cg$INTERMEDIARIES.idx + 1;
|
|
|
|
if not (cg$INTERMEDIARIES.called_from_package) then
|
|
cg$INTERMEDIARIES.validate_arc(cg$rec);
|
|
cg$INTERMEDIARIES.validate_domain(cg$rec, cg$ind);
|
|
cg$INTERMEDIARIES.validate_domain_cascade_update(cg$old_rec);
|
|
|
|
cg$INTERMEDIARIES.upd(cg$rec, cg$ind, FALSE);
|
|
cg$INTERMEDIARIES.called_from_package := FALSE;
|
|
end if;
|
|
|
|
:new.NAME := cg$rec.NAME;
|
|
:new.PERIOD_START := cg$rec.PERIOD_START;
|
|
:new.CONTACT_TELEPHONE := cg$rec.CONTACT_TELEPHONE;
|
|
:new.CONTACT_FAX := cg$rec.CONTACT_FAX;
|
|
:new.CREATED_BY := cg$rec.CREATED_BY;
|
|
:new.CREATED_ON := cg$rec.CREATED_ON;
|
|
:new.DESCRIPTION := cg$rec.DESCRIPTION;
|
|
:new.PERIOD_END := cg$rec.PERIOD_END;
|
|
:new.UPDATED_BY := cg$rec.UPDATED_BY;
|
|
:new.UPDATED_ON := cg$rec.UPDATED_ON;
|
|
:new.EMAIL_ADDRESS := cg$rec.EMAIL_ADDRESS;
|
|
-- Application_logic Post-Before-Update-row <<Start>>
|
|
-- Application_logic Post-Before-Update-row << End >>
|
|
END;
|
|
/
|
|
|