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