TR_DONORCHALLENGEENCUMBERED_INSERTUPDATE_CURRENCY

Definition

Copy


CREATE trigger [dbo].[TR_DONORCHALLENGEENCUMBERED_INSERTUPDATE_CURRENCY] on [dbo].[DONORCHALLENGEENCUMBERED] 
after insert, update 
not for replication
as
begin
 set nocount on;

 if update(AMOUNT)
 begin
  declare @ORGANIZATIONCURRENCYID uniqueidentifier = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY();

  update
   dbo.DONORCHALLENGEENCUMBERED
  set
   DONORCHALLENGEENCUMBERED.ORGANIZATIONAMOUNT = DONORCHALLENGEENCUMBERED.AMOUNT,
   DONORCHALLENGEENCUMBERED.BASECURRENCYID = @ORGANIZATIONCURRENCYID,
   DONORCHALLENGEENCUMBERED.CHANGEDBYID = DONORCHALLENGEENCUMBERED.CHANGEDBYID,
   DONORCHALLENGEENCUMBERED.DATECHANGED = DONORCHALLENGEENCUMBERED.DATECHANGED
  from
   inserted
  inner join
   dbo.DONORCHALLENGEENCUMBERED on inserted.ID = DONORCHALLENGEENCUMBERED.ID
  where
   DONORCHALLENGEENCUMBERED.ORGANIZATIONEXCHANGERATEID is null
   and (DONORCHALLENGEENCUMBERED.BASECURRENCYID is null or DONORCHALLENGEENCUMBERED.BASECURRENCYID = @ORGANIZATIONCURRENCYID)
   and (DONORCHALLENGEENCUMBERED.ORGANIZATIONAMOUNT <> DONORCHALLENGEENCUMBERED.AMOUNT
        or DONORCHALLENGEENCUMBERED.AMOUNT = 0);
  end
end