![]() |
---|
CREATE trigger [dbo].[TR_REVENUETRIBUTE_INSERTUPDATE_CURRENCY] on [dbo].[REVENUETRIBUTE] after insert, update not for replication as begin set nocount on; declare @ORGANIZATIONCURRENCYID uniqueidentifier = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY(); -- If we try to save an amount without explicitly setting an organization amount -- and an exchange rate, copy the amount to the organization amount field. if update(AMOUNT) begin update dbo.REVENUETRIBUTE set REVENUETRIBUTE.ORGANIZATIONAMOUNT = REVENUETRIBUTE.AMOUNT, REVENUETRIBUTE.BASECURRENCYID = @ORGANIZATIONCURRENCYID, REVENUETRIBUTE.CHANGEDBYID = REVENUETRIBUTE.CHANGEDBYID, REVENUETRIBUTE.DATECHANGED = REVENUETRIBUTE.DATECHANGED from inserted inner join dbo.REVENUETRIBUTE on inserted.ID = REVENUETRIBUTE.ID where REVENUETRIBUTE.ORGANIZATIONEXCHANGERATEID is null and (REVENUETRIBUTE.BASECURRENCYID is null or REVENUETRIBUTE.BASECURRENCYID = @ORGANIZATIONCURRENCYID) and ( REVENUETRIBUTE.ORGANIZATIONAMOUNT <> REVENUETRIBUTE.AMOUNT or REVENUETRIBUTE.AMOUNT = 0 ); end end |