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