CREATE OR REPLACE TRIGGER EFT_NOM.cg$BUR_DOCUMENT_TIMESTAMPS BEFORE UPDATE ON DOCUMENT_TIMESTAMPS FOR EACH ROW DECLARE cg$rec cg$DOCUMENT_TIMESTAMPS.cg$row_type; cg$ind cg$DOCUMENT_TIMESTAMPS.cg$ind_type; cg$old_rec cg$DOCUMENT_TIMESTAMPS.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.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$DOCUMENT_TIMESTAMPS.cg$table(cg$DOCUMENT_TIMESTAMPS.idx).UPDATED_BY := :old.UPDATED_BY; 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$DOCUMENT_TIMESTAMPS.cg$table(cg$DOCUMENT_TIMESTAMPS.idx).CREATED_BY := :old.CREATED_BY; cg$rec.DOC_IDENTIFIER := :new.DOC_IDENTIFIER; cg$ind.DOC_IDENTIFIER := (:new.DOC_IDENTIFIER IS NULL AND :old.DOC_IDENTIFIER IS NOT NULL ) OR (:new.DOC_IDENTIFIER IS NOT NULL AND :old.DOC_IDENTIFIER IS NULL) OR NOT(:new.DOC_IDENTIFIER = :old.DOC_IDENTIFIER) ; cg$DOCUMENT_TIMESTAMPS.cg$table(cg$DOCUMENT_TIMESTAMPS.idx).DOC_IDENTIFIER := :old.DOC_IDENTIFIER; cg$rec.DOC_TYPE := :new.DOC_TYPE; cg$ind.DOC_TYPE := (:new.DOC_TYPE IS NULL AND :old.DOC_TYPE IS NOT NULL ) OR (:new.DOC_TYPE IS NOT NULL AND :old.DOC_TYPE IS NULL) OR NOT(:new.DOC_TYPE = :old.DOC_TYPE) ; cg$DOCUMENT_TIMESTAMPS.cg$table(cg$DOCUMENT_TIMESTAMPS.idx).DOC_TYPE := :old.DOC_TYPE; cg$rec.DOC_TIMESTAMP := :new.DOC_TIMESTAMP; cg$ind.DOC_TIMESTAMP := (:new.DOC_TIMESTAMP IS NULL AND :old.DOC_TIMESTAMP IS NOT NULL ) OR (:new.DOC_TIMESTAMP IS NOT NULL AND :old.DOC_TIMESTAMP IS NULL) OR NOT(:new.DOC_TIMESTAMP = :old.DOC_TIMESTAMP) ; cg$DOCUMENT_TIMESTAMPS.cg$table(cg$DOCUMENT_TIMESTAMPS.idx).DOC_TIMESTAMP := :old.DOC_TIMESTAMP; cg$rec.HASH := :new.HASH; cg$ind.HASH := (:new.HASH IS NULL AND :old.HASH IS NOT NULL ) OR (:new.HASH IS NOT NULL AND :old.HASH IS NULL) OR NOT(:new.HASH = :old.HASH) ; cg$DOCUMENT_TIMESTAMPS.cg$table(cg$DOCUMENT_TIMESTAMPS.idx).HASH := :old.HASH; -- Warning: Column HASHED_FILE is of type BLOB and not allowed in triggers cg$ind.HASHED_FILE := FALSE; 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$DOCUMENT_TIMESTAMPS.cg$table(cg$DOCUMENT_TIMESTAMPS.idx).STATUS := :old.STATUS; cg$rec.DOTI_ID := :new.DOTI_ID; cg$ind.DOTI_ID := (:new.DOTI_ID IS NULL AND :old.DOTI_ID IS NOT NULL ) OR (:new.DOTI_ID IS NOT NULL AND :old.DOTI_ID IS NULL) OR NOT(:new.DOTI_ID = :old.DOTI_ID) ; cg$DOCUMENT_TIMESTAMPS.cg$table(cg$DOCUMENT_TIMESTAMPS.idx).DOTI_ID := :old.DOTI_ID; cg$rec.RETRY_COUNT := :new.RETRY_COUNT; cg$ind.RETRY_COUNT := (:new.RETRY_COUNT IS NULL AND :old.RETRY_COUNT IS NOT NULL ) OR (:new.RETRY_COUNT IS NOT NULL AND :old.RETRY_COUNT IS NULL) OR NOT(:new.RETRY_COUNT = :old.RETRY_COUNT) ; cg$DOCUMENT_TIMESTAMPS.cg$table(cg$DOCUMENT_TIMESTAMPS.idx).RETRY_COUNT := :old.RETRY_COUNT; 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$DOCUMENT_TIMESTAMPS.cg$table(cg$DOCUMENT_TIMESTAMPS.idx).CREATED_ON := :old.CREATED_ON; 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$DOCUMENT_TIMESTAMPS.cg$table(cg$DOCUMENT_TIMESTAMPS.idx).UPDATED_ON := :old.UPDATED_ON; -- Warning: Column TIMESTAMP_RESPONSE is of type BLOB and not allowed in triggers cg$ind.TIMESTAMP_RESPONSE := FALSE; cg$DOCUMENT_TIMESTAMPS.idx := cg$DOCUMENT_TIMESTAMPS.idx + 1; if not (cg$DOCUMENT_TIMESTAMPS.called_from_package) then cg$DOCUMENT_TIMESTAMPS.validate_arc(cg$rec); cg$DOCUMENT_TIMESTAMPS.validate_domain(cg$rec, cg$ind); cg$DOCUMENT_TIMESTAMPS.validate_domain_cascade_update(cg$old_rec); cg$DOCUMENT_TIMESTAMPS.upd(cg$rec, cg$ind, FALSE); cg$DOCUMENT_TIMESTAMPS.called_from_package := FALSE; end if; :new.UPDATED_BY := cg$rec.UPDATED_BY; :new.CREATED_BY := cg$rec.CREATED_BY; :new.DOC_IDENTIFIER := cg$rec.DOC_IDENTIFIER; :new.DOC_TYPE := cg$rec.DOC_TYPE; :new.DOC_TIMESTAMP := cg$rec.DOC_TIMESTAMP; :new.HASH := cg$rec.HASH; -- Warning: Column HASHED_FILE is of type BLOB and not allowed in triggers :new.STATUS := cg$rec.STATUS; :new.RETRY_COUNT := cg$rec.RETRY_COUNT; :new.CREATED_ON := cg$rec.CREATED_ON; :new.UPDATED_ON := cg$rec.UPDATED_ON; -- Warning: Column TIMESTAMP_RESPONSE is of type BLOB and not allowed in triggers -- Application_logic Post-Before-Update-row <> -- Application_logic Post-Before-Update-row << End >> END; /