![]() |
---|
CREATE trigger TR_CREDITMEMO_INSERT_UPDATE on dbo.CREDITMEMO after insert,update not for replication as begin begin try if exists( select I.ID from INSERTED I inner join dbo.FINANCIALTRANSACTION F on F.ID = I.ID where F.TRANSACTIONAMOUNT < I.BALANCE) begin raiserror('The balance must be less than or equal to the credit memo amount.', 13, 1) end if exists( select V.ID from INSERTED I inner join dbo.FINANCIALTRANSACTION F on F.ID = I.ID left outer join dbo.VENDOR V on V.ID = F.CONSTITUENTID where V.ID is null ) begin raiserror('The constituent must be a payables vendor.', 13, 1) end if exists( select I.ID from INSERTED I inner join dbo.FINANCIALTRANSACTION F on F.ID = I.ID left outer join dbo.ADDRESS A on (A.CONSTITUENTID = F.CONSTITUENTID) and (A.ID = I.REMITADDRESSID) where I.REMITADDRESSID is not null and A.ID is null ) begin raiserror('The remit to address must belong to the selected vendor.', 13, 1); end end try begin catch exec dbo.USP_RAISE_ERROR; end catch end |