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