![]() |
---|
CREATE trigger [dbo].[TR_RECOGNITIONPROGRAM_INSERTUPDATE_CURRENCY] on [dbo].[RECOGNITIONPROGRAM] 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(MAXIMUMAMOUNT) begin update dbo.RECOGNITIONPROGRAM set RECOGNITIONPROGRAM.ORGANIZATIONMAXIMUMAMOUNT = RECOGNITIONPROGRAM.MAXIMUMAMOUNT, RECOGNITIONPROGRAM.BASECURRENCYID = @ORGANIZATIONCURRENCYID, RECOGNITIONPROGRAM.CHANGEDBYID = RECOGNITIONPROGRAM.CHANGEDBYID, RECOGNITIONPROGRAM.DATECHANGED = RECOGNITIONPROGRAM.DATECHANGED from inserted inner join dbo.RECOGNITIONPROGRAM on inserted.ID = RECOGNITIONPROGRAM.ID where RECOGNITIONPROGRAM.ORGANIZATIONEXCHANGERATEID is null and (RECOGNITIONPROGRAM.BASECURRENCYID is null or RECOGNITIONPROGRAM.BASECURRENCYID = @ORGANIZATIONCURRENCYID) and ( RECOGNITIONPROGRAM.ORGANIZATIONMAXIMUMAMOUNT <> RECOGNITIONPROGRAM.MAXIMUMAMOUNT or RECOGNITIONPROGRAM.MAXIMUMAMOUNT = 0 ); end end |