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

73 lines
3.6 KiB
Plaintext

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