TR_MKTSEGMENTATIONPACKAGE_IU_ORGANIZATIONAMOUNTS
Definition
Copy
CREATE trigger [dbo].[TR_MKTSEGMENTATIONPACKAGE_IU_ORGANIZATIONAMOUNTS] on [dbo].[MKTSEGMENTATIONPACKAGE]
after insert, update
not for replication
as
begin
set nocount on;
-- if we try to save an amount without explicitly setting an organization amount and an exchange rate,
-- copy the amount to the organization amount.
if update(UNITCOST) or update(INSERTCOSTPERPIECE) or update(INSERTCOSTPERRESPONSE) or update(INSERTCOSTPEREFFORT)
begin
declare @ORGANIZATIONCURRENCYID uniqueidentifier = dbo.[UFN_CURRENCY_GETORGANIZATIONCURRENCY]();
update dbo.[MKTSEGMENTATIONPACKAGE] set
[MKTSEGMENTATIONPACKAGE].[ORGANIZATIONUNITCOST] = [MKTSEGMENTATIONPACKAGE].[UNITCOST],
[MKTSEGMENTATIONPACKAGE].[ORGANIZATIONINSERTCOSTPERPIECE] = [MKTSEGMENTATIONPACKAGE].[INSERTCOSTPERPIECE],
[MKTSEGMENTATIONPACKAGE].[ORGANIZATIONINSERTCOSTPERRESPONSE] = [MKTSEGMENTATIONPACKAGE].[INSERTCOSTPERRESPONSE],
[MKTSEGMENTATIONPACKAGE].[ORGANIZATIONINSERTCOSTPEREFFORT] = [MKTSEGMENTATIONPACKAGE].[INSERTCOSTPEREFFORT],
[MKTSEGMENTATIONPACKAGE].[BASECURRENCYID] = @ORGANIZATIONCURRENCYID,
[MKTSEGMENTATIONPACKAGE].[CHANGEDBYID] = [MKTSEGMENTATIONPACKAGE].[CHANGEDBYID],
[MKTSEGMENTATIONPACKAGE].[DATECHANGED] = [MKTSEGMENTATIONPACKAGE].[DATECHANGED]
from inserted
inner join dbo.[MKTSEGMENTATIONPACKAGE] on inserted.ID = [MKTSEGMENTATIONPACKAGE].[ID]
where [MKTSEGMENTATIONPACKAGE].[ORGANIZATIONCURRENCYEXCHANGERATEID] is null
and ([MKTSEGMENTATIONPACKAGE].[BASECURRENCYID] is null or [MKTSEGMENTATIONPACKAGE].[BASECURRENCYID] = @ORGANIZATIONCURRENCYID)
and ([MKTSEGMENTATIONPACKAGE].[ORGANIZATIONUNITCOST] <> [MKTSEGMENTATIONPACKAGE].[UNITCOST]
or [MKTSEGMENTATIONPACKAGE].[ORGANIZATIONINSERTCOSTPERPIECE] <> [MKTSEGMENTATIONPACKAGE].[INSERTCOSTPERPIECE]
or [MKTSEGMENTATIONPACKAGE].[ORGANIZATIONINSERTCOSTPERRESPONSE] <> [MKTSEGMENTATIONPACKAGE].[INSERTCOSTPERRESPONSE]
or [MKTSEGMENTATIONPACKAGE].[ORGANIZATIONINSERTCOSTPEREFFORT] <> [MKTSEGMENTATIONPACKAGE].[INSERTCOSTPEREFFORT]
or ([MKTSEGMENTATIONPACKAGE].[UNITCOST] = 0 and [MKTSEGMENTATIONPACKAGE].[INSERTCOSTPERPIECE] = 0 and [MKTSEGMENTATIONPACKAGE].[INSERTCOSTPERRESPONSE] = 0 and [MKTSEGMENTATIONPACKAGE].[INSERTCOSTPEREFFORT] = 0)
);
end
end