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