TR_REVENUETRIBUTE_INSERTUPDATE_CURRENCY
Definition
Copy
CREATE trigger [dbo].[TR_REVENUETRIBUTE_INSERTUPDATE_CURRENCY] on [dbo].[REVENUETRIBUTE]
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 field.
if update(AMOUNT)
begin
update
dbo.REVENUETRIBUTE
set
REVENUETRIBUTE.ORGANIZATIONAMOUNT = REVENUETRIBUTE.AMOUNT,
REVENUETRIBUTE.BASECURRENCYID = @ORGANIZATIONCURRENCYID,
REVENUETRIBUTE.CHANGEDBYID = REVENUETRIBUTE.CHANGEDBYID,
REVENUETRIBUTE.DATECHANGED = REVENUETRIBUTE.DATECHANGED
from
inserted
inner join
dbo.REVENUETRIBUTE on inserted.ID = REVENUETRIBUTE.ID
where
REVENUETRIBUTE.ORGANIZATIONEXCHANGERATEID is null
and (REVENUETRIBUTE.BASECURRENCYID is null or REVENUETRIBUTE.BASECURRENCYID = @ORGANIZATIONCURRENCYID)
and
(
REVENUETRIBUTE.ORGANIZATIONAMOUNT <> REVENUETRIBUTE.AMOUNT
or REVENUETRIBUTE.AMOUNT = 0
);
end
end