![]() |
---|
create trigger [dbo].[TR_CONSTITUENTRECOGNITIONREVENUE_INSERTUPDATE_CURRENCY] on [dbo].[CONSTITUENTRECOGNITIONREVENUE] 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 field. if update(AMOUNT) begin update dbo.CONSTITUENTRECOGNITIONREVENUE set CONSTITUENTRECOGNITIONREVENUE.ORGANIZATIONAMOUNT = CONSTITUENTRECOGNITIONREVENUE.AMOUNT, CONSTITUENTRECOGNITIONREVENUE.BASECURRENCYID = @ORGANIZATIONCURRENCYID, CONSTITUENTRECOGNITIONREVENUE.CHANGEDBYID = CONSTITUENTRECOGNITIONREVENUE.CHANGEDBYID, CONSTITUENTRECOGNITIONREVENUE.DATECHANGED = CONSTITUENTRECOGNITIONREVENUE.DATECHANGED from inserted inner join dbo.CONSTITUENTRECOGNITIONREVENUE on inserted.ID = CONSTITUENTRECOGNITIONREVENUE.ID where CONSTITUENTRECOGNITIONREVENUE.ORGANIZATIONEXCHANGERATEID is null and (CONSTITUENTRECOGNITIONREVENUE.BASECURRENCYID is null or CONSTITUENTRECOGNITIONREVENUE.BASECURRENCYID = @ORGANIZATIONCURRENCYID) and ( CONSTITUENTRECOGNITIONREVENUE.ORGANIZATIONAMOUNT <> CONSTITUENTRECOGNITIONREVENUE.AMOUNT or CONSTITUENTRECOGNITIONREVENUE.AMOUNT = 0 ); end end |