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