TR_MKTMARKETINGPLANBRIEF_INSERTUPDATE_CURRENCY

Definition

Copy


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

  update dbo.[MKTMARKETINGPLANBRIEF] set
    [MKTMARKETINGPLANBRIEF].[BASECURRENCYID] = [MKTMARKETINGPLAN].[BASECURRENCYID],
    [MKTMARKETINGPLANBRIEF].[CHANGEDBYID] = [MKTMARKETINGPLANBRIEF].[CHANGEDBYID],
    [MKTMARKETINGPLANBRIEF].[DATECHANGED] = [MKTMARKETINGPLANBRIEF].[DATECHANGED]
  from inserted
  inner join dbo.[MKTMARKETINGPLANBRIEF] on [MKTMARKETINGPLANBRIEF].[ID] = inserted.[ID]
  inner join dbo.[MKTMARKETINGPLANITEM] on [MKTMARKETINGPLANITEM].[ID] = [MKTMARKETINGPLANBRIEF].[MARKETINGPLANITEMID]
  inner join dbo.[MKTMARKETINGPLAN] on [MKTMARKETINGPLAN].[ID] = [MKTMARKETINGPLANITEM].[MARKETINGPLANID]
  where [MKTMARKETINGPLANBRIEF].[BASECURRENCYID] is null;

  if update([UNITCOST]) or update([BUDGETAMOUNT]) or update([TOTALREVENUEGOAL]) or update ([AVERAGEREVENUEGOAL])
    begin
      declare @ORGANIZATIONCURRENCYID uniqueidentifier = dbo.[UFN_CURRENCY_GETORGANIZATIONCURRENCY]();

      update dbo.[MKTMARKETINGPLANBRIEF] set
        [MKTMARKETINGPLANBRIEF].[ORGANIZATIONUNITCOST] = [MKTMARKETINGPLANBRIEF].[UNITCOST],
        [MKTMARKETINGPLANBRIEF].[ORGANIZATIONBUDGETAMOUNT] = [MKTMARKETINGPLANBRIEF].[BUDGETAMOUNT],
        [MKTMARKETINGPLANBRIEF].[ORGANIZATIONTOTALREVENUEGOAL] = [MKTMARKETINGPLANBRIEF].[TOTALREVENUEGOAL],
        [MKTMARKETINGPLANBRIEF].[ORGANIZATIONAVERAGEREVENUEGOAL] = [MKTMARKETINGPLANBRIEF].[AVERAGEREVENUEGOAL],
        [MKTMARKETINGPLANBRIEF].[CHANGEDBYID] = [MKTMARKETINGPLANBRIEF].[CHANGEDBYID],
        [MKTMARKETINGPLANBRIEF].[DATECHANGED] = [MKTMARKETINGPLANBRIEF].[DATECHANGED]
      from inserted
      inner join dbo.[MKTMARKETINGPLANBRIEF] on [MKTMARKETINGPLANBRIEF].[ID] = inserted.[ID]
      where [MKTMARKETINGPLANBRIEF].[CURRENCYEXCHANGERATEID] is null
      and [MKTMARKETINGPLANBRIEF].[BASECURRENCYID] = @ORGANIZATIONCURRENCYID
      and ([MKTMARKETINGPLANBRIEF].[ORGANIZATIONUNITCOST]           <> [MKTMARKETINGPLANBRIEF].[UNITCOST]
        or [MKTMARKETINGPLANBRIEF].[ORGANIZATIONBUDGETAMOUNT]       <> [MKTMARKETINGPLANBRIEF].[BUDGETAMOUNT]
        or [MKTMARKETINGPLANBRIEF].[ORGANIZATIONTOTALREVENUEGOAL]   <> [MKTMARKETINGPLANBRIEF].[TOTALREVENUEGOAL]
        or [MKTMARKETINGPLANBRIEF].[ORGANIZATIONAVERAGEREVENUEGOAL] <> [MKTMARKETINGPLANBRIEF].[AVERAGEREVENUEGOAL]
        or ([MKTMARKETINGPLANBRIEF].[UNITCOST] = 0 and
            [MKTMARKETINGPLANBRIEF].[BUDGETAMOUNT] = 0 and
            [MKTMARKETINGPLANBRIEF].[TOTALREVENUEGOAL] = 0 and
            [MKTMARKETINGPLANBRIEF].[AVERAGEREVENUEGOAL] = 0)
      );
    end
end