CREATE TRIGGER IBE$BANKDOC_AI FOR BANKDOC
ACTIVE AFTER INSERT POSITION 32767
AS
DECLARE VARIABLE TID INTEGER;
BEGIN
TID = GEN_ID(IBE$LOG_TABLES_GEN,1);
INSERT INTO IBE$LOG_TABLES (ID, TABLE_NAME, OPERATION, DATE_TIME, USER_NAME)
VALUES (:TID, 'BANKDOC', 'I', 'NOW', USER);
INSERT INTO IBE$LOG_KEYS (LOG_TABLES_ID, KEY_FIELD, KEY_VALUE)
VALUES (:TID, 'IDBANKDOC', NEW.IDBANKDOC);
IF (NOT (NEW.IDBANKDOC IS NULL)) THEN
INSERT INTO IBE$LOG_FIELDS (LOG_TABLES_ID, FIELD_NAME, OLD_VALUE, NEW_VALUE)
VALUES (:TID, 'IDBANKDOC', NULL, NEW.IDBANKDOC);
IF (NOT (NEW.SCHETID IS NULL)) THEN
INSERT INTO IBE$LOG_FIELDS (LOG_TABLES_ID, FIELD_NAME, OLD_VALUE, NEW_VALUE)
VALUES (:TID, 'SCHETID', NULL, NEW.SCHETID);
IF (NOT (NEW.DOCID IS NULL)) THEN
INSERT INTO IBE$LOG_FIELDS (LOG_TABLES_ID, FIELD_NAME, OLD_VALUE, NEW_VALUE)
VALUES (:TID, 'DOCID', NULL, NEW.DOCID);
IF (NOT (NEW.SUMMASPISAN IS NULL)) THEN
INSERT INTO IBE$LOG_FIELDS (LOG_TABLES_ID, FIELD_NAME, OLD_VALUE, NEW_VALUE)
VALUES (:TID, 'SUMMASPISAN', NULL, NEW.SUMMASPISAN);
IF (NOT (NEW.SUMMAPRIHOD IS NULL)) THEN
INSERT INTO IBE$LOG_FIELDS (LOG_TABLES_ID, FIELD_NAME, OLD_VALUE, NEW_VALUE)
VALUES (:TID, 'SUMMAPRIHOD', NULL, NEW.SUMMAPRIHOD);
IF (NOT (NEW.SUMMASPISANNDS IS NULL)) THEN
INSERT INTO IBE$LOG_FIELDS (LOG_TABLES_ID, FIELD_NAME, OLD_VALUE, NEW_VALUE)
VALUES (:TID, 'SUMMASPISANNDS', NULL, NEW.SUMMASPISANNDS);
IF (NOT (NEW.SUMMAPRIHODNDS IS NULL)) THEN
INSERT INTO IBE$LOG_FIELDS (LOG_TABLES_ID, FIELD_NAME, OLD_VALUE, NEW_VALUE)
VALUES (:TID, 'SUMMAPRIHODNDS', NULL, NEW.SUMMAPRIHODNDS);
IF (NOT (NEW.KODF IS NULL)) THEN
INSERT INTO IBE$LOG_FIELDS (LOG_TABLES_ID, FIELD_NAME, OLD_VALUE, NEW_VALUE)
VALUES (:TID, 'KODF', NULL, NEW.KODF);
IF (NOT (NEW.NAZNACH IS NULL)) THEN
INSERT INTO IBE$LOG_BLOB_FIELDS (LOG_TABLES_ID, FIELD_NAME, OLD_BLOB_VALUE, NEW_BLOB_VALUE)
VALUES (:TID,'NAZNACH',NULL, NEW.NAZNACH);
END
^
CREATE TRIGGER IBE$BANKDOC_AU FOR BANKDOC
ACTIVE AFTER UPDATE POSITION 32767
AS
DECLARE VARIABLE TID INTEGER;
BEGIN
TID = GEN_ID(IBE$LOG_TABLES_GEN,1);
INSERT INTO IBE$LOG_TABLES (ID, TABLE_NAME, OPERATION, DATE_TIME, USER_NAME)
VALUES (:TID, 'BANKDOC', 'U', 'NOW', USER);
INSERT INTO IBE$LOG_KEYS (LOG_TABLES_ID, KEY_FIELD, KEY_VALUE)
VALUES (:TID, 'IDBANKDOC', OLD.IDBANKDOC);
IF ((OLD.IDBANKDOC IS NULL AND NEW.IDBANKDOC IS NOT NULL) OR
(NEW.IDBANKDOC IS NULL AND OLD.IDBANKDOC IS NOT NULL) OR
(NEW.IDBANKDOC IS NOT NULL AND OLD.IDBANKDOC IS NOT NULL AND NEW.IDBANKDOC <> OLD.IDBANKDOC)) THEN
INSERT INTO IBE$LOG_FIELDS (LOG_TABLES_ID, FIELD_NAME, OLD_VALUE, NEW_VALUE)
VALUES (:TID,'IDBANKDOC',OLD.IDBANKDOC, NEW.IDBANKDOC);
IF ((OLD.SCHETID IS NULL AND NEW.SCHETID IS NOT NULL) OR
(NEW.SCHETID IS NULL AND OLD.SCHETID IS NOT NULL) OR
(NEW.SCHETID IS NOT NULL AND OLD.SCHETID IS NOT NULL AND NEW.SCHETID <> OLD.SCHETID)) THEN
INSERT INTO IBE$LOG_FIELDS (LOG_TABLES_ID, FIELD_NAME, OLD_VALUE, NEW_VALUE)
VALUES (:TID,'SCHETID',OLD.SCHETID, NEW.SCHETID);
IF ((OLD.DOCID IS NULL AND NEW.DOCID IS NOT NULL) OR
(NEW.DOCID IS NULL AND OLD.DOCID IS NOT NULL) OR
(NEW.DOCID IS NOT NULL AND OLD.DOCID IS NOT NULL AND NEW.DOCID <> OLD.DOCID)) THEN
INSERT INTO IBE$LOG_FIELDS (LOG_TABLES_ID, FIELD_NAME, OLD_VALUE, NEW_VALUE)
VALUES (:TID,'DOCID',OLD.DOCID, NEW.DOCID);
IF ((OLD.SUMMASPISAN IS NULL AND NEW.SUMMASPISAN IS NOT NULL) OR
(NEW.SUMMASPISAN IS NULL AND OLD.SUMMASPISAN IS NOT NULL) OR
(NEW.SUMMASPISAN IS NOT NULL AND OLD.SUMMASPISAN IS NOT NULL AND NEW.SUMMASPISAN <>OLD.SUMMASPISAN)) THEN
INSERT INTO IBE$LOG_FIELDS (LOG_TABLES_ID, FIELD_NAME, OLD_VALUE, NEW_VALUE)
VALUES (:TID,'SUMMASPISAN',OLD.SUMMASPISAN, NEW.SUMMASPISAN);
IF ((OLD.SUMMAPRIHOD IS NULL AND NEW.SUMMAPRIHOD IS NOT NULL) OR
(NEW.SUMMAPRIHOD IS NULL AND OLD.SUMMAPRIHOD IS NOT NULL) OR
(NEW.SUMMAPRIHOD IS NOT NULL AND OLD.SUMMAPRIHOD IS NOT NULL AND NEW.SUMMAPRIHOD <> OLD.SUMMAPRIHOD)) THEN
INSERT INTO IBE$LOG_FIELDS (LOG_TABLES_ID, FIELD_NAME, OLD_VALUE, NEW_VALUE)
VALUES (:TID,'SUMMAPRIHOD',OLD.SUMMAPRIHOD, NEW.SUMMAPRIHOD);
IF ((OLD.SUMMASPISANNDS IS NULL AND NEW.SUMMASPISANNDS IS NOT NULL) OR
(NEW.SUMMASPISANNDS IS NULL AND OLD.SUMMASPISANNDS IS NOT NULL) OR
(NEW.SUMMASPISANNDS IS NOT NULL AND OLD.SUMMASPISANNDS IS NOT NULL AND NEW.SUMMASPISANNDS <> OLD.SUMMASPISANNDS)) THEN
INSERT INTO IBE$LOG_FIELDS (LOG_TABLES_ID, FIELD_NAME, OLD_VALUE, NEW_VALUE)
VALUES (:TID,'SUMMASPISANNDS',OLD.SUMMASPISANNDS, NEW.SUMMASPISANNDS);
IF ((OLD.SUMMAPRIHODNDS IS NULL AND NEW.SUMMAPRIHODNDS IS NOT NULL) OR
(NEW.SUMMAPRIHODNDS IS NULL AND OLD.SUMMAPRIHODNDS IS NOT NULL) OR
(NEW.SUMMAPRIHODNDS IS NOT NULL AND OLD.SUMMAPRIHODNDS IS NOT NULL AND NEW.SUMMAPRIHODNDS <> OLD.SUMMAPRIHODNDS)) THEN
INSERT INTO IBE$LOG_FIELDS (LOG_TABLES_ID, FIELD_NAME, OLD_VALUE, NEW_VALUE)
VALUES (:TID,'SUMMAPRIHODNDS',OLD.SUMMAPRIHODNDS, NEW.SUMMAPRIHODNDS);
IF ((OLD.KODF IS NULL AND NEW.KODF IS NOT NULL) OR
(NEW.KODF IS NULL AND OLD.KODF IS NOT NULL) OR
(NEW.KODF IS NOT NULL AND OLD.KODF IS NOT NULL AND NEW.KODF <> OLD.KODF)) THEN
INSERT INTO IBE$LOG_FIELDS (LOG_TABLES_ID, FIELD_NAME, OLD_VALUE, NEW_VALUE)
VALUES (:TID,'KODF',OLD.KODF, NEW.KODF);
INSERT INTO IBE$LOG_BLOB_FIELDS (LOG_TABLES_ID, FIELD_NAME, OLD_BLOB_VALUE, NEW_BLOB_VALUE)
VALUES (:TID,'NAZNACH',OLD.NAZNACH, NEW.NAZNACH);
END
^
CREATE TRIGGER IBE$BANKDOC_AD FOR BANKDOC
ACTIVE AFTER DELETE POSITION 32767
AS
DECLARE VARIABLE TID INTEGER;
BEGIN
TID = GEN_ID(IBE$LOG_TABLES_GEN,1);
INSERT INTO IBE$LOG_TABLES (ID, TABLE_NAME, OPERATION, DATE_TIME, USER_NAME)
VALUES (:TID, 'BANKDOC', 'D', 'NOW', USER);
INSERT INTO IBE$LOG_KEYS (LOG_TABLES_ID, KEY_FIELD, KEY_VALUE)
VALUES (:TID, 'IDBANKDOC', OLD.IDBANKDOC);
INSERT INTO IBE$LOG_FIELDS (LOG_TABLES_ID, FIELD_NAME, OLD_VALUE, NEW_VALUE)
VALUES (:TID,'IDBANKDOC',OLD.IDBANKDOC, NULL);
INSERT INTO IBE$LOG_FIELDS (LOG_TABLES_ID, FIELD_NAME, OLD_VALUE, NEW_VALUE)
VALUES (:TID,'SCHETID',OLD.SCHETID, NULL);
INSERT INTO IBE$LOG_FIELDS (LOG_TABLES_ID, FIELD_NAME, OLD_VALUE, NEW_VALUE)
VALUES (:TID,'DOCID',OLD.DOCID, NULL);
INSERT INTO IBE$LOG_FIELDS (LOG_TABLES_ID, FIELD_NAME, OLD_VALUE, NEW_VALUE)
VALUES (:TID,'SUMMASPISAN',OLD.SUMMASPISAN, NULL);
INSERT INTO IBE$LOG_FIELDS (LOG_TABLES_ID, FIELD_NAME, OLD_VALUE, NEW_VALUE)
VALUES (:TID,'SUMMAPRIHOD',OLD.SUMMAPRIHOD, NULL);
INSERT INTO IBE$LOG_FIELDS (LOG_TABLES_ID, FIELD_NAME, OLD_VALUE, NEW_VALUE)
VALUES (:TID,'SUMMASPISANNDS',OLD.SUMMASPISANNDS, NULL);
INSERT INTO IBE$LOG_FIELDS (LOG_TABLES_ID, FIELD_NAME, OLD_VALUE, NEW_VALUE)
VALUES (:TID,'SUMMAPRIHODNDS',OLD.SUMMAPRIHODNDS, NULL);
INSERT INTO IBE$LOG_FIELDS (LOG_TABLES_ID, FIELD_NAME, OLD_VALUE, NEW_VALUE)
VALUES (:TID,'KODF',OLD.KODF, NULL);
INSERT INTO IBE$LOG_BLOB_FIELDS (LOG_TABLES_ID, FIELD_NAME, OLD_BLOB_VALUE, NEW_BLOB_VALUE)
VALUES (:TID,'NAZNACH',OLD.NAZNACH, NULL);
END
^ |