TR_MKTLIST_IU_ORGANIZATIONCOST
Definition
Copy
CREATE trigger [dbo].[TR_MKTLIST_IU_ORGANIZATIONCOST] on [dbo].[MKTLIST]
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(BASERENTALCOST) or update(BASEEXCHANGECOST)
begin
declare @ORGANIZATIONCURRENCYID uniqueidentifier = dbo.[UFN_CURRENCY_GETORGANIZATIONCURRENCY]();
update dbo.[MKTLIST] set
[MKTLIST].[ORGANIZATIONBASERENTALCOST] = [MKTLIST].[BASERENTALCOST],
[MKTLIST].[ORGANIZATIONBASEEXCHANGECOST] = [MKTLIST].[BASEEXCHANGECOST],
[MKTLIST].[BASECURRENCYID] = @ORGANIZATIONCURRENCYID,
[MKTLIST].[CHANGEDBYID] = [MKTLIST].[CHANGEDBYID],
[MKTLIST].[DATECHANGED] = [MKTLIST].[DATECHANGED]
from inserted
inner join dbo.[MKTLIST] on inserted.ID = [MKTLIST].[ID]
where [MKTLIST].[CURRENCYEXCHANGERATEID] is null
and ([MKTLIST].[BASECURRENCYID] is null or [MKTLIST].[BASECURRENCYID] = @ORGANIZATIONCURRENCYID)
and ([MKTLIST].[ORGANIZATIONBASERENTALCOST] <> [MKTLIST].[BASERENTALCOST]
or [MKTLIST].[ORGANIZATIONBASEEXCHANGECOST] <> [MKTLIST].[BASEEXCHANGECOST]
or ([MKTLIST].[BASERENTALCOST] = 0 and [MKTLIST].[BASEEXCHANGECOST] = 0)
);
end
end