TR_MKTSEGMENTLIST_IU_ORGANIZATIONAMOUNTS
Definition
Copy
CREATE trigger [dbo].[TR_MKTSEGMENTLIST_IU_ORGANIZATIONAMOUNTS] on [dbo].[MKTSEGMENTLIST]
after insert, update
not for replication
as
begin
set nocount on;
declare @ORGANIZATIONCURRENCYID uniqueidentifier = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY();
-- 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(RENTALCOSTADJUSTMENT) or update(EXCHANGECOSTADJUSTMENT)
begin
update dbo.MKTSEGMENTLIST set
MKTSEGMENTLIST.ORGANIZATIONRENTALCOSTADJUSTMENT = MKTSEGMENTLIST.RENTALCOSTADJUSTMENT,
MKTSEGMENTLIST.ORGANIZATIONEXCHANGECOSTADJUSTMENT = MKTSEGMENTLIST.EXCHANGECOSTADJUSTMENT,
MKTSEGMENTLIST.BASECURRENCYID = MKTLIST.BASECURRENCYID,
MKTSEGMENTLIST.CHANGEDBYID = MKTSEGMENTLIST.CHANGEDBYID,
MKTSEGMENTLIST.DATECHANGED = MKTSEGMENTLIST.DATECHANGED
from inserted
inner join dbo.MKTSEGMENTLIST on inserted.ID = MKTSEGMENTLIST.ID
inner join dbo.MKTLIST on MKTSEGMENTLIST.LISTID = MKTLIST.ID
where MKTSEGMENTLIST.CURRENCYEXCHANGERATEID is null
and (MKTLIST.BASECURRENCYID is null or MKTLIST.BASECURRENCYID = @ORGANIZATIONCURRENCYID)
and
(
MKTSEGMENTLIST.ORGANIZATIONRENTALCOSTADJUSTMENT <> MKTSEGMENTLIST.RENTALCOSTADJUSTMENT
or MKTSEGMENTLIST.ORGANIZATIONEXCHANGECOSTADJUSTMENT <> MKTSEGMENTLIST.EXCHANGECOSTADJUSTMENT
or (
MKTSEGMENTLIST.RENTALCOSTADJUSTMENT = 0
and MKTSEGMENTLIST.EXCHANGECOSTADJUSTMENT = 0
)
);
end
end