TR_APPEAL_INSERTUPDATE_CURRENCY

Definition

Copy


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

  declare @ORGANIZATIONCURRENCYID uniqueidentifier = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY();
  if update(GOAL)
  update
    dbo.APPEAL
  set
    APPEAL.ORGANIZATIONGOAL = APPEAL.GOAL,
    APPEAL.BASECURRENCYID = @ORGANIZATIONCURRENCYID,
    APPEAL.CHANGEDBYID = APPEAL.CHANGEDBYID,
    APPEAL.DATECHANGED = APPEAL.DATECHANGED
  from
    inserted
  inner join
    dbo.APPEAL on inserted.ID = APPEAL.ID
  where
    APPEAL.ORGANIZATIONEXCHANGERATEID is null
    and (APPEAL.BASECURRENCYID is null or APPEAL.BASECURRENCYID = @ORGANIZATIONCURRENCYID)
    and
    (
      APPEAL.ORGANIZATIONGOAL <> APPEAL.GOAL
      or APPEAL.GOAL = 0
    );
end