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