![]() |
---|
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 |