About Eldus » Software » Trigger dbo.L_GLAccount_UTrig

Trigger dbo.L_GLAccount_UTrig

CREATE TRIGGER L_GLAccount_UTrig ON L_GLAccount FOR UPDATE AS

/ *
* VALIDATION RULE FOR FIELD ´AcctType´
* /
IF (SELECT Count(*) FROM inserted WHERE NOT (AcctType=´BL´ Or AcctType=´IN´)) > 0
BEGIN
RAISERROR(778404, 16, 1)
ROLLBACK TRANSACTION
END
ELSE
/ *
* PREVENT NULL VALUES IN ´D_C´
* /
IF (SELECT Count(*) FROM inserted WHERE D_C IS NULL) > 0
BEGIN
RAISERROR 44444 ´Field ´´D_C´´ cannot contain a null value.´
ROLLBACK TRANSACTION
END
ELSE
/ *
* VALIDATION RULE FOR FIELD ´D_C´
* /
IF (SELECT Count(*) FROM inserted WHERE NOT (D_C=´D´ Or D_C=´C´)) > 0
BEGIN
RAISERROR(778405, 16, 1)
ROLLBACK TRANSACTION
END
ELSE
/ *
* PREVENT NULL VALUES IN ´AllocMethod´
* /
IF (SELECT Count(*) FROM inserted WHERE AllocMethod IS NULL) > 0
BEGIN
RAISERROR 44444 ´Field ´´AllocMethod´´ cannot contain a null value.´
ROLLBACK TRANSACTION
END
ELSE
/ *
* PREVENT NULL VALUES IN ´AccessLevel´
* /
IF (SELECT Count(*) FROM inserted WHERE AccessLevel IS NULL) > 0
BEGIN
RAISERROR 44444 ´Field ´´AccessLevel´´ cannot contain a null value.´
ROLLBACK TRANSACTION
END
/ *
* CASCADE UPDATES TO ´D_GLJournalItem´
* /
IF UPDATE(AcctCode)
BEGIN
UPDATE D_GLJournalItem
SET D_GLJournalItem.AcctCode = inserted.AcctCode
FROM D_GLJournalItem, deleted, inserted
WHERE deleted.AcctCode = D_GLJournalItem.AcctCode
END

/ *
* CASCADE UPDATES TO ´L_GLAccountOrg´
* /
IF UPDATE(AcctCode)
BEGIN
UPDATE L_GLAccountOrg
SET L_GLAccountOrg.ACCTCODE = inserted.AcctCode
FROM L_GLAccountOrg, deleted, inserted
WHERE deleted.AcctCode = L_GLAccountOrg.ACCTCODE
END

/ *
* CASCADE UPDATES TO ´D_GLSum´
* /
IF UPDATE(AcctCode)
BEGIN
UPDATE D_GLSum
SET D_GLSum.AcctCode = inserted.AcctCode
FROM D_GLSum, deleted, inserted
WHERE deleted.AcctCode = D_GLSum.AcctCode
END

Updated On: 05.04.01