![]() |
---|
CREATE trigger [dbo].[TR_MISCELLANEOUSPAYMENT_IUD] ON [dbo].[MISCELLANEOUSPAYMENT] AFTER INSERT, UPDATE, DELETE NOT FOR REPLICATION AS --NOTE: if making changes to this trigger see also the trigger(s) on the bankaccountdepositpayment -- table to and make sure they are in synch BEGIN SET NOCOUNT ON --see if the deposit is locked - if so, raise an error if exists(Select INSERTED.ID from INSERTED INNER JOIN DBO.BANKACCOUNTDEPOSITPAYMENT ON INSERTED.ID=BANKACCOUNTDEPOSITPAYMENT.ID INNER JOIN DBO.BANKACCOUNTDEPOSIT ON BANKACCOUNTDEPOSIT.ID=BANKACCOUNTDEPOSITPAYMENT.DEPOSITID where BANKACCOUNTDEPOSIT.STATUSCODE=0) BEGIN RAISERROR ('Payments linked to locked deposits cannot be edited.', 16, 1) ROLLBACK END if exists(Select DELETED.ID from DELETED INNER JOIN DBO.BANKACCOUNTDEPOSITPAYMENT ON DELETED.ID=BANKACCOUNTDEPOSITPAYMENT.ID INNER JOIN DBO.BANKACCOUNTDEPOSIT ON BANKACCOUNTDEPOSIT.ID=BANKACCOUNTDEPOSITPAYMENT.DEPOSITID where BANKACCOUNTDEPOSIT.STATUSCODE=0) BEGIN RAISERROR ('Payments linked to locked deposits cannot be edited.', 16, 1) ROLLBACK END --see if the original bank is closed - if so, raise an error if exists(Select INSERTED.ID from INSERTED INNER JOIN DBO.BANKACCOUNTDEPOSITPAYMENT ON INSERTED.ID=BANKACCOUNTDEPOSITPAYMENT.ID INNER JOIN DBO.BANKACCOUNTTRANSACTION DEPOSIT1 ON BANKACCOUNTDEPOSITPAYMENT.DEPOSITID=DEPOSIT1.ID INNER JOIN DBO.BANKACCOUNT ON BANKACCOUNT.ID=DEPOSIT1.BANKACCOUNTID where BANKACCOUNT.STATUSCODE=0) BEGIN RAISERROR ('Payments linked to deposits associated with closed bank accounts cannot be edited.', 16, 1) ROLLBACK END if exists(Select DELETED.ID from DELETED INNER JOIN DBO.BANKACCOUNTDEPOSITPAYMENT ON DELETED.ID=BANKACCOUNTDEPOSITPAYMENT.ID INNER JOIN DBO.BANKACCOUNTTRANSACTION DEPOSIT1 ON BANKACCOUNTDEPOSITPAYMENT.DEPOSITID=DEPOSIT1.ID INNER JOIN DBO.BANKACCOUNT ON BANKACCOUNT.ID=DEPOSIT1.BANKACCOUNTID where BANKACCOUNT.STATUSCODE=0) BEGIN RAISERROR ('Payments linked to deposits associated with closed bank accounts cannot be edited.', 16, 1) ROLLBACK END --********************************************* --place all error conditions ABOVE this comment --********************************************* END |