![]() |
---|
CREATE trigger [dbo].[TR_MKTPACKAGE_IU_ORGANIZATIONUNITCOST] on [dbo].[MKTPACKAGE] 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) begin declare @ORGANIZATIONCURRENCYID uniqueidentifier = dbo.[UFN_CURRENCY_GETORGANIZATIONCURRENCY](); update dbo.[MKTPACKAGE] set [MKTPACKAGE].[ORGANIZATIONUNITCOST] = [MKTPACKAGE].[UNITCOST], [MKTPACKAGE].[BASECURRENCYID] = @ORGANIZATIONCURRENCYID, [MKTPACKAGE].[CHANGEDBYID] = [MKTPACKAGE].[CHANGEDBYID], [MKTPACKAGE].[DATECHANGED] = [MKTPACKAGE].[DATECHANGED] from inserted inner join dbo.[MKTPACKAGE] on inserted.ID = [MKTPACKAGE].[ID] where [MKTPACKAGE].[CURRENCYEXCHANGERATEID] is null and ([MKTPACKAGE].[BASECURRENCYID] is null or [MKTPACKAGE].[BASECURRENCYID] = @ORGANIZATIONCURRENCYID) and ([MKTPACKAGE].[ORGANIZATIONUNITCOST] <> [MKTPACKAGE].[UNITCOST] or [MKTPACKAGE].[UNITCOST] = 0); end end |