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