TR_MKTMARKETINGPLANITEM_INSERTUPDATE_CURRENCY
Definition
Copy
CREATE trigger dbo.[TR_MKTMARKETINGPLANITEM_INSERTUPDATE_CURRENCY] on dbo.[MKTMARKETINGPLANITEM]
after insert, update
not for replication
as
begin
set nocount on;
update dbo.[MKTMARKETINGPLANITEM] set
[MKTMARKETINGPLANITEM].[BASECURRENCYID] = [MKTMARKETINGPLAN].[BASECURRENCYID],
[MKTMARKETINGPLANITEM].[CHANGEDBYID] = [MKTMARKETINGPLANITEM].[CHANGEDBYID],
[MKTMARKETINGPLANITEM].[DATECHANGED] = [MKTMARKETINGPLANITEM].[DATECHANGED]
from inserted
inner join dbo.[MKTMARKETINGPLANITEM] on [MKTMARKETINGPLANITEM].[ID] = inserted.[ID]
inner join dbo.[MKTMARKETINGPLAN] on [MKTMARKETINGPLAN].[ID] = [MKTMARKETINGPLANITEM].[MARKETINGPLANID]
where [MKTMARKETINGPLANITEM].[BASECURRENCYID] is null;
if update([BUDGETAMOUNT]) or update([TOTALREVENUEGOAL]) or update ([AVERAGEREVENUEGOAL])
begin
declare @ORGANIZATIONCURRENCYID uniqueidentifier = dbo.[UFN_CURRENCY_GETORGANIZATIONCURRENCY]();
update dbo.[MKTMARKETINGPLANITEM] set
[MKTMARKETINGPLANITEM].[ORGANIZATIONBUDGETAMOUNT] = [MKTMARKETINGPLANITEM].[BUDGETAMOUNT],
[MKTMARKETINGPLANITEM].[ORGANIZATIONTOTALREVENUEGOAL] = [MKTMARKETINGPLANITEM].[TOTALREVENUEGOAL],
[MKTMARKETINGPLANITEM].[ORGANIZATIONAVERAGEREVENUEGOAL] = [MKTMARKETINGPLANITEM].[AVERAGEREVENUEGOAL],
[MKTMARKETINGPLANITEM].[CHANGEDBYID] = [MKTMARKETINGPLANITEM].[CHANGEDBYID],
[MKTMARKETINGPLANITEM].[DATECHANGED] = [MKTMARKETINGPLANITEM].[DATECHANGED]
from inserted
inner join dbo.[MKTMARKETINGPLANITEM] on [MKTMARKETINGPLANITEM].[ID] = inserted.[ID]
where [MKTMARKETINGPLANITEM].[CURRENCYEXCHANGERATEID] is null
and [MKTMARKETINGPLANITEM].[BASECURRENCYID] = @ORGANIZATIONCURRENCYID
and ([MKTMARKETINGPLANITEM].[ORGANIZATIONBUDGETAMOUNT] <> [MKTMARKETINGPLANITEM].[BUDGETAMOUNT]
or [MKTMARKETINGPLANITEM].[ORGANIZATIONTOTALREVENUEGOAL] <> [MKTMARKETINGPLANITEM].[TOTALREVENUEGOAL]
or [MKTMARKETINGPLANITEM].[ORGANIZATIONAVERAGEREVENUEGOAL] <> [MKTMARKETINGPLANITEM].[AVERAGEREVENUEGOAL]
or ([MKTMARKETINGPLANITEM].[BUDGETAMOUNT] = 0 and [MKTMARKETINGPLANITEM].[TOTALREVENUEGOAL] = 0 and [MKTMARKETINGPLANITEM].[AVERAGEREVENUEGOAL] = 0)
);
end
end