About Eldus » Software » Trigger dbo.D_GLJournalItem_UTrig

Trigger dbo.D_GLJournalItem_UTrig

CREATE TRIGGER D_GLJournalItem_UTrig ON D_GLJournalItem FOR UPDATE AS

/ *
* PREVENT NULL VALUES IN ´AcctCode´
* /
IF (SELECT Count(*) FROM inserted WHERE AcctCode IS NULL) > 0
BEGIN
RAISERROR 44444 ´Field ´´AcctCode´´ cannot contain a null value.´
ROLLBACK TRANSACTION
END
ELSE
/ *
* PREVENT NULL VALUES IN ´DeptCode´
* /
IF (SELECT Count(*) FROM inserted WHERE DeptCode IS NULL) > 0
BEGIN
RAISERROR 44444 ´Field ´´DeptCode´´ cannot contain a null value.´
ROLLBACK TRANSACTION
END
ELSE
/ *
* PREVENT NULL VALUES IN ´JobCode´
* /
IF (SELECT Count(*) FROM inserted WHERE JobCode IS NULL) > 0
BEGIN
RAISERROR 44444 ´Field ´´JobCode´´ cannot contain a null value.´
ROLLBACK TRANSACTION
END
ELSE
/ *
* PREVENT NULL VALUES IN ´CurrencyCode´
* /
IF (SELECT Count(*) FROM inserted WHERE CurrencyCode IS NULL) > 0
BEGIN
RAISERROR 44444 ´Field ´´CurrencyCode´´ cannot contain a null value.´
ROLLBACK TRANSACTION
END
ELSE
/ *
* PREVENT NULL VALUES IN ´AllocPeriod´
* /
IF (SELECT Count(*) FROM inserted WHERE AllocPeriod IS NULL) > 0
BEGIN
RAISERROR 44444 ´Field ´´AllocPeriod´´ cannot contain a null value.´
ROLLBACK TRANSACTION
END
ELSE
/ *
* PREVENT NULL VALUES IN ´Debit´
* /
IF (SELECT Count(*) FROM inserted WHERE Debit IS NULL) > 0
BEGIN
RAISERROR 44444 ´Field ´´Debit´´ cannot contain a null value.´
ROLLBACK TRANSACTION
END
ELSE
/ *
* PREVENT NULL VALUES IN ´Credit´
* /
IF (SELECT Count(*) FROM inserted WHERE Credit IS NULL) > 0
BEGIN
RAISERROR 44444 ´Field ´´Credit´´ cannot contain a null value.´
ROLLBACK TRANSACTION
END
ELSE
/ *
* PREVENT NULL VALUES IN ´Description´
* /
IF (SELECT Count(*) FROM inserted WHERE Description IS NULL) > 0
BEGIN
RAISERROR 44444 ´Field ´´Description´´ cannot contain a null value.´
ROLLBACK TRANSACTION
END
ELSE
/ *
* PREVENT NULL VALUES IN ´CurrencyRate´
* /
IF (SELECT Count(*) FROM inserted WHERE CurrencyRate IS NULL) > 0
BEGIN
RAISERROR 44444 ´Field ´´CurrencyRate´´ cannot contain a null value.´
ROLLBACK TRANSACTION
END
ELSE
/ *
* PREVENT NULL VALUES IN ´CurrencyDebit´
* /
IF (SELECT Count(*) FROM inserted WHERE CurrencyDebit IS NULL) > 0
BEGIN
RAISERROR 44444 ´Field ´´CurrencyDebit´´ cannot contain a null value.´
ROLLBACK TRANSACTION
END
ELSE
/ *
* PREVENT NULL VALUES IN ´CurrencyCredit´
* /
IF (SELECT Count(*) FROM inserted WHERE CurrencyCredit IS NULL) > 0
BEGIN
RAISERROR 44444 ´Field ´´CurrencyCredit´´ cannot contain a null value.´
ROLLBACK TRANSACTION
END
/ *
* PREVENT UPDATES IF NO MATCHING KEY IN ´D_GLJournal´
* /
IF UPDATE(DocSite) OR UPDATE(DocUID)
BEGIN
IF (SELECT COUNT(*) FROM inserted) !=
(SELECT COUNT(*) FROM D_GLJournal, inserted WHERE (D_GLJournal.DocSite = inserted.DocSite AND D_GLJournal.DocUID = inserted.DocUID))
BEGIN
RAISERROR(778406, 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(778409, 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(778412, 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(778417, 16, 1)
ROLLBACK TRANSACTION
END
END

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

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

Updated On: 05.04.01