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