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