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