git-svn-id: http://locode01.ad.dom/svn/WEBMIP/trunk@50874 248e525c-4dfb-0310-94bc-949c084e9493
This commit is contained in:
@@ -0,0 +1,72 @@
|
||||
CREATE OR REPLACE TRIGGER EFT_NOM.cg$BUR_NOMINATION_WINDOWS
|
||||
|
||||
BEFORE UPDATE ON NOMINATION_WINDOWS FOR EACH ROW
|
||||
DECLARE
|
||||
cg$rec cg$NOMINATION_WINDOWS.cg$row_type;
|
||||
cg$ind cg$NOMINATION_WINDOWS.cg$ind_type;
|
||||
cg$old_rec cg$NOMINATION_WINDOWS.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.GAS_DAY := :new.GAS_DAY;
|
||||
cg$ind.GAS_DAY := (:new.GAS_DAY IS NULL AND :old.GAS_DAY IS NOT NULL )
|
||||
OR (:new.GAS_DAY IS NOT NULL AND :old.GAS_DAY IS NULL)
|
||||
OR NOT(:new.GAS_DAY = :old.GAS_DAY) ;
|
||||
cg$NOMINATION_WINDOWS.cg$table(cg$NOMINATION_WINDOWS.idx).GAS_DAY := :old.GAS_DAY;
|
||||
cg$rec.WINDOW_START := :new.WINDOW_START;
|
||||
cg$ind.WINDOW_START := (:new.WINDOW_START IS NULL AND :old.WINDOW_START IS NOT NULL )
|
||||
OR (:new.WINDOW_START IS NOT NULL AND :old.WINDOW_START IS NULL)
|
||||
OR NOT(:new.WINDOW_START = :old.WINDOW_START) ;
|
||||
cg$NOMINATION_WINDOWS.cg$table(cg$NOMINATION_WINDOWS.idx).WINDOW_START := :old.WINDOW_START;
|
||||
cg$rec.WINDOW_END := :new.WINDOW_END;
|
||||
cg$ind.WINDOW_END := (:new.WINDOW_END IS NULL AND :old.WINDOW_END IS NOT NULL )
|
||||
OR (:new.WINDOW_END IS NOT NULL AND :old.WINDOW_END IS NULL)
|
||||
OR NOT(:new.WINDOW_END = :old.WINDOW_END) ;
|
||||
cg$NOMINATION_WINDOWS.cg$table(cg$NOMINATION_WINDOWS.idx).WINDOW_END := :old.WINDOW_END;
|
||||
cg$rec.MESSAGE := :new.MESSAGE;
|
||||
cg$ind.MESSAGE := (:new.MESSAGE IS NULL AND :old.MESSAGE IS NOT NULL )
|
||||
OR (:new.MESSAGE IS NOT NULL AND :old.MESSAGE IS NULL)
|
||||
OR NOT(:new.MESSAGE = :old.MESSAGE) ;
|
||||
cg$NOMINATION_WINDOWS.cg$table(cg$NOMINATION_WINDOWS.idx).MESSAGE := :old.MESSAGE;
|
||||
cg$rec.NOTES := :new.NOTES;
|
||||
cg$ind.NOTES := (:new.NOTES IS NULL AND :old.NOTES IS NOT NULL )
|
||||
OR (:new.NOTES IS NOT NULL AND :old.NOTES IS NULL)
|
||||
OR NOT(:new.NOTES = :old.NOTES) ;
|
||||
cg$NOMINATION_WINDOWS.cg$table(cg$NOMINATION_WINDOWS.idx).NOTES := :old.NOTES;
|
||||
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$NOMINATION_WINDOWS.cg$table(cg$NOMINATION_WINDOWS.idx).TSA_TIMESTAMP := :old.TSA_TIMESTAMP;
|
||||
cg$rec.NOWI_ID := :new.NOWI_ID;
|
||||
cg$ind.NOWI_ID := (:new.NOWI_ID IS NULL AND :old.NOWI_ID IS NOT NULL )
|
||||
OR (:new.NOWI_ID IS NOT NULL AND :old.NOWI_ID IS NULL)
|
||||
OR NOT(:new.NOWI_ID = :old.NOWI_ID) ;
|
||||
cg$NOMINATION_WINDOWS.cg$table(cg$NOMINATION_WINDOWS.idx).NOWI_ID := :old.NOWI_ID;
|
||||
|
||||
|
||||
cg$NOMINATION_WINDOWS.idx := cg$NOMINATION_WINDOWS.idx + 1;
|
||||
|
||||
if not (cg$NOMINATION_WINDOWS.called_from_package) then
|
||||
cg$NOMINATION_WINDOWS.validate_arc(cg$rec);
|
||||
cg$NOMINATION_WINDOWS.validate_domain(cg$rec, cg$ind);
|
||||
cg$NOMINATION_WINDOWS.validate_domain_cascade_update(cg$old_rec);
|
||||
|
||||
cg$NOMINATION_WINDOWS.upd(cg$rec, cg$ind, FALSE);
|
||||
cg$NOMINATION_WINDOWS.called_from_package := FALSE;
|
||||
end if;
|
||||
|
||||
:new.GAS_DAY := cg$rec.GAS_DAY;
|
||||
:new.WINDOW_START := cg$rec.WINDOW_START;
|
||||
:new.WINDOW_END := cg$rec.WINDOW_END;
|
||||
:new.MESSAGE := cg$rec.MESSAGE;
|
||||
:new.NOTES := cg$rec.NOTES;
|
||||
:new.TSA_TIMESTAMP := cg$rec.TSA_TIMESTAMP;
|
||||
-- Application_logic Post-Before-Update-row <<Start>>
|
||||
-- Application_logic Post-Before-Update-row << End >>
|
||||
END;
|
||||
/
|
||||
|
||||
Reference in New Issue
Block a user