TR_SALESORDERITEMMEMBERSHIPITEMPROMOTION_INSERTUPDATE_CURRENCY
Definition
Copy
CREATE trigger [dbo].[TR_SALESORDERITEMMEMBERSHIPITEMPROMOTION_INSERTUPDATE_CURRENCY] on [dbo].[SALESORDERITEMMEMBERSHIPITEMPROMOTION]
after insert, update
not for replication
as
begin
set nocount on;
declare @ORGANIZATIONCURRENCYID uniqueidentifier = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY();
if update(AMOUNT)
update
dbo.SALESORDERITEMMEMBERSHIPITEMPROMOTION
set
SALESORDERITEMMEMBERSHIPITEMPROMOTION.ORGANIZATIONAMOUNT = SALESORDERITEMMEMBERSHIPITEMPROMOTION.AMOUNT,
SALESORDERITEMMEMBERSHIPITEMPROMOTION.BASECURRENCYID = @ORGANIZATIONCURRENCYID,
SALESORDERITEMMEMBERSHIPITEMPROMOTION.CHANGEDBYID = SALESORDERITEMMEMBERSHIPITEMPROMOTION.CHANGEDBYID,
SALESORDERITEMMEMBERSHIPITEMPROMOTION.DATECHANGED = SALESORDERITEMMEMBERSHIPITEMPROMOTION.DATECHANGED
from
inserted
inner join
dbo.SALESORDERITEMMEMBERSHIPITEMPROMOTION on inserted.ID = SALESORDERITEMMEMBERSHIPITEMPROMOTION.ID
where
SALESORDERITEMMEMBERSHIPITEMPROMOTION.ORGANIZATIONEXCHANGERATEID is null
and (SALESORDERITEMMEMBERSHIPITEMPROMOTION.BASECURRENCYID is null or SALESORDERITEMMEMBERSHIPITEMPROMOTION.BASECURRENCYID = @ORGANIZATIONCURRENCYID)
and
(
SALESORDERITEMMEMBERSHIPITEMPROMOTION.ORGANIZATIONAMOUNT <> SALESORDERITEMMEMBERSHIPITEMPROMOTION.AMOUNT
or SALESORDERITEMMEMBERSHIPITEMPROMOTION.AMOUNT = 0
);
end