TR_BATCHREVENUEUNAPPLIEDMATCHINGGIFTSPLIT_INSERTUPDATE_CURRENCY
Definition
Copy
CREATE trigger [dbo].[TR_BATCHREVENUEUNAPPLIEDMATCHINGGIFTSPLIT_INSERTUPDATE_CURRENCY] on [dbo].[BATCHREVENUEUNAPPLIEDMATCHINGGIFTSPLIT]
after insert, update
not for replication
as
begin
set nocount on;
declare @ORGANIZATIONCURRENCYID uniqueidentifier = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY();
-- if we try to save an amount without explicitly setting an organization amount and an exchange rate,
-- copy the amount to the organization amount.
if update(AMOUNT)
begin
update
dbo.BATCHREVENUEUNAPPLIEDMATCHINGGIFTSPLIT
set
BATCHREVENUEUNAPPLIEDMATCHINGGIFTSPLIT.BASECURRENCYID = @ORGANIZATIONCURRENCYID,
BATCHREVENUEUNAPPLIEDMATCHINGGIFTSPLIT.ORGANIZATIONAMOUNT = BATCHREVENUEUNAPPLIEDMATCHINGGIFTSPLIT.AMOUNT,
BATCHREVENUEUNAPPLIEDMATCHINGGIFTSPLIT.TRANSACTIONAMOUNT = BATCHREVENUEUNAPPLIEDMATCHINGGIFTSPLIT.AMOUNT,
BATCHREVENUEUNAPPLIEDMATCHINGGIFTSPLIT.TRANSACTIONCURRENCYID = @ORGANIZATIONCURRENCYID,
BATCHREVENUEUNAPPLIEDMATCHINGGIFTSPLIT.CHANGEDBYID = BATCHREVENUEUNAPPLIEDMATCHINGGIFTSPLIT.CHANGEDBYID,
BATCHREVENUEUNAPPLIEDMATCHINGGIFTSPLIT.DATECHANGED = BATCHREVENUEUNAPPLIEDMATCHINGGIFTSPLIT.DATECHANGED
from
inserted
inner join
dbo.BATCHREVENUEUNAPPLIEDMATCHINGGIFTSPLIT on inserted.ID = BATCHREVENUEUNAPPLIEDMATCHINGGIFTSPLIT.ID
where
BATCHREVENUEUNAPPLIEDMATCHINGGIFTSPLIT.ORGANIZATIONEXCHANGERATEID is null
and (BATCHREVENUEUNAPPLIEDMATCHINGGIFTSPLIT.BASECURRENCYID is null or BATCHREVENUEUNAPPLIEDMATCHINGGIFTSPLIT.BASECURRENCYID = @ORGANIZATIONCURRENCYID)
and BATCHREVENUEUNAPPLIEDMATCHINGGIFTSPLIT.BASEEXCHANGERATEID is null
and (BATCHREVENUEUNAPPLIEDMATCHINGGIFTSPLIT.TRANSACTIONCURRENCYID is null or BATCHREVENUEUNAPPLIEDMATCHINGGIFTSPLIT.TRANSACTIONCURRENCYID = @ORGANIZATIONCURRENCYID)
and
(
BATCHREVENUEUNAPPLIEDMATCHINGGIFTSPLIT.TRANSACTIONAMOUNT <> BATCHREVENUEUNAPPLIEDMATCHINGGIFTSPLIT.AMOUNT
or BATCHREVENUEUNAPPLIEDMATCHINGGIFTSPLIT.ORGANIZATIONAMOUNT <> BATCHREVENUEUNAPPLIEDMATCHINGGIFTSPLIT.AMOUNT
or BATCHREVENUEUNAPPLIEDMATCHINGGIFTSPLIT.AMOUNT = 0
)
end
end