![]() |
---|
CREATE trigger [dbo].[TR_REVENUESOLICITOR_INSERTUPDATE_CURRENCY] on [dbo].[REVENUESOLICITOR] after insert, update not for replication as begin set nocount on; --Replaces CK_REVENUESOLICITOR_VALIDAMOUNT if exists(select 1 from inserted I inner join dbo.FINANCIALTRANSACTIONLINEITEM LI on LI.ID = I.REVENUESPLITID where LI.BASEAMOUNT < I.AMOUNT) BEGIN RAISERROR ('CK_REVENUESOLICITOR_VALIDAMOUNT', 16, 1) ROLLBACK END if update(AMOUNT) begin declare @ORGANIZATIONCURRENCYID uniqueidentifier = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY(); update dbo.REVENUESOLICITOR set REVENUESOLICITOR.ORGANIZATIONAMOUNT = REVENUESOLICITOR.AMOUNT, REVENUESOLICITOR.BASECURRENCYID = @ORGANIZATIONCURRENCYID, REVENUESOLICITOR.CHANGEDBYID = REVENUESOLICITOR.CHANGEDBYID, REVENUESOLICITOR.DATECHANGED = REVENUESOLICITOR.DATECHANGED from inserted inner join dbo.REVENUESOLICITOR on inserted.ID = REVENUESOLICITOR.ID where REVENUESOLICITOR.ORGANIZATIONEXCHANGERATEID is null and (REVENUESOLICITOR.BASECURRENCYID is null or REVENUESOLICITOR.BASECURRENCYID = @ORGANIZATIONCURRENCYID) and ( REVENUESOLICITOR.ORGANIZATIONAMOUNT <> REVENUESOLICITOR.AMOUNT or REVENUESOLICITOR.AMOUNT = 0 ); end end |