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