About Eldus » Software » Trigger dbo.D_GLSum_UTrig

Trigger dbo.D_GLSum_UTrig

CREATE TRIGGER D_GLSum_UTrig ON D_GLSum FOR UPDATE AS
/ *
* PREVENT UPDATES IF NO MATCHING KEY IN ´D_Period´
* /
IF UPDATE(DocPeriod)
BEGIN
IF (SELECT COUNT(*) FROM inserted) !=
(SELECT COUNT(*) FROM D_Period, inserted WHERE (D_Period.DocPeriod = inserted.DocPeriod))
BEGIN
RAISERROR(778437, 16, 1)
ROLLBACK TRANSACTION
END
END

/ *
* PREVENT UPDATES IF NO MATCHING KEY IN ´L_Currency´
* /
IF UPDATE(CurrencyCode)
BEGIN
IF (SELECT COUNT(*) FROM inserted) !=
(SELECT COUNT(*) FROM L_Currency, inserted WHERE (L_Currency.CurrencyCode = inserted.CurrencyCode))
BEGIN
RAISERROR(778440, 16, 1)
ROLLBACK TRANSACTION
END
END

/ *
* PREVENT UPDATES IF NO MATCHING KEY IN ´L_GLAccount´
* /
IF UPDATE(AcctCode)
BEGIN
IF (SELECT COUNT(*) FROM inserted) !=
(SELECT COUNT(*) FROM L_GLAccount, inserted WHERE (L_GLAccount.AcctCode = inserted.AcctCode))
BEGIN
RAISERROR(778443, 16, 1)
ROLLBACK TRANSACTION
END
END

/ *
* PREVENT UPDATES IF NO MATCHING KEY IN ´L_GLDept´
* /
IF UPDATE(DeptCode)
BEGIN
IF (SELECT COUNT(*) FROM inserted) !=
(SELECT COUNT(*) FROM L_GLDept, inserted WHERE (L_GLDept.DeptCode = inserted.DeptCode))
BEGIN
RAISERROR(778446, 16, 1)
ROLLBACK TRANSACTION
END
END

Updated On: 05.04.01