TR_MKTDOCUMENT_IU_ORGANIZATIONCOST
Definition
Copy
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