git-svn-id: http://locode01.ad.dom/svn/WEBMIP/trunk@50874 248e525c-4dfb-0310-94bc-949c084e9493
This commit is contained in:
@@ -0,0 +1,102 @@
|
||||
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 <<Start>>
|
||||
-- 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 <<Start>>
|
||||
-- Application_logic Post-Before-Update-row << End >>
|
||||
END;
|
||||
/
|
||||
|
||||
Reference in New Issue
Block a user