About Eldus » Software » Trigger dbo.D_GLJournal_UTrig

Trigger dbo.D_GLJournal_UTrig

CREATE TRIGGER D_GLJournal_UTrig ON D_GLJournal FOR UPDATE AS
IF (SELECT Count(*) FROM inserted WHERE DocPeriod IS NULL) > 0
BEGIN
RAISERROR 44444 ´Field ´´DocPeriod´´ cannot contain a null value.´
ROLLBACK TRANSACTION
END
ELSE
IF (SELECT Count(*) FROM inserted WHERE Module IS NULL) > 0
BEGIN
RAISERROR 44444 ´Field ´´Module´´ cannot contain a null value.´
ROLLBACK TRANSACTION
END
ELSE
IF (SELECT Count(*) FROM inserted WHERE Source IS NULL) > 0
BEGIN
RAISERROR 44444 ´Field ´´Source´´ cannot contain a null value.´
ROLLBACK TRANSACTION
END
ELSE
IF (SELECT Count(*) FROM inserted WHERE TaxCode IS NULL) > 0
BEGIN
RAISERROR 44444 ´Field ´´TaxCode´´ cannot contain a null value.´
ROLLBACK TRANSACTION
END
ELSE
IF (SELECT Count(*) FROM inserted WHERE TransDate IS NULL) > 0
BEGIN
RAISERROR 44444 ´Field ´´TransDate´´ cannot contain a null value.´
ROLLBACK TRANSACTION
END
ELSE
IF (SELECT Count(*) FROM inserted WHERE Debit IS NULL) > 0
BEGIN
RAISERROR 44444 ´Field ´´Debit´´ cannot contain a null value.´
ROLLBACK TRANSACTION
END
ELSE
IF (SELECT Count(*) FROM inserted WHERE Credit IS NULL) > 0
BEGIN
RAISERROR 44444 ´Field ´´Credit´´ cannot contain a null value.´
ROLLBACK TRANSACTION
END
IF UPDATE(DocSite) OR UPDATE(DocUID)
BEGIN
UPDATE D_GLJournalItem
SET D_GLJournalItem.DocSite = inserted.DocSite , D_GLJournalItem.DocUID = inserted.DocUID
FROM D_GLJournalItem, deleted, inserted
WHERE deleted.DocSite = D_GLJournalItem.DocSite AND deleted.DocUID = D_GLJournalItem.DocUID
END
IF UPDATE(Module) OR UPDATE(Source)
BEGIN
IF (SELECT COUNT(*) FROM inserted) !=
(SELECT COUNT(*) FROM L_GLSource, inserted WHERE (L_GLSource.Module = inserted.Module AND L_GLSource.Source = inserted.Source))
BEGIN
RAISERROR(778425, 16, 1)
ROLLBACK TRANSACTION
END
END
IF UPDATE(TaxCode)
BEGIN
IF (SELECT COUNT(*) FROM inserted) !=
(SELECT COUNT(*) FROM L_GLTax, inserted WHERE (L_GLTax.TaxCode = inserted.TaxCode))
BEGIN
RAISERROR(778428, 16, 1)
ROLLBACK TRANSACTION
END
END
IF UPDATE(DocPeriod)
BEGIN
IF (SELECT COUNT(*) FROM inserted) !=
(SELECT COUNT(*) FROM D_Period, inserted WHERE (D_Period.DocPeriod = inserted.DocPeriod))
BEGIN
RAISERROR(778431, 16, 1)
ROLLBACK TRANSACTION
END
END

Updated On: 05.04.01