TR_REVENUESPLITGIFTAIDREFUND_INSERTUPDATE_CURRENCY
Definition
Copy
CREATE trigger [dbo].[TR_REVENUESPLITGIFTAIDREFUND_INSERTUPDATE_CURRENCY] on [dbo].[REVENUESPLITGIFTAIDREFUND]
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 and transaction amounts.
if update(ORIGINALGIFTAMOUNT) or update(ORIGINALBASETAXCLAIMAMOUNT) or update(ORIGINALTRANSITIONALTAXCLAIMAMOUNT)
update
dbo.REVENUESPLITGIFTAIDREFUND
set
REVENUESPLITGIFTAIDREFUND.ORIGINALTRANSACTIONBASETAXCLAIMAMOUNT = REVENUESPLITGIFTAIDREFUND.ORIGINALBASETAXCLAIMAMOUNT,
REVENUESPLITGIFTAIDREFUND.ORIGINALORGANIZATIONBASETAXCLAIMAMOUNT = REVENUESPLITGIFTAIDREFUND.ORIGINALBASETAXCLAIMAMOUNT,
REVENUESPLITGIFTAIDREFUND.ORIGINALTRANSACTIONTRANSITIONALTAXCLAIMAMOUNT = REVENUESPLITGIFTAIDREFUND.ORIGINALTRANSITIONALTAXCLAIMAMOUNT,
REVENUESPLITGIFTAIDREFUND.ORIGINALORGANIZATIONTRANSITIONALTAXCLAIMAMOUNT = REVENUESPLITGIFTAIDREFUND.ORIGINALTRANSITIONALTAXCLAIMAMOUNT,
REVENUESPLITGIFTAIDREFUND.ORIGINALBASECURRENCYID = @ORGANIZATIONCURRENCYID,
REVENUESPLITGIFTAIDREFUND.ORIGINALTRANSACTIONCURRENCYID = @ORGANIZATIONCURRENCYID,
REVENUESPLITGIFTAIDREFUND.CHANGEDBYID = REVENUESPLITGIFTAIDREFUND.CHANGEDBYID,
REVENUESPLITGIFTAIDREFUND.DATECHANGED = REVENUESPLITGIFTAIDREFUND.DATECHANGED,
REVENUESPLITGIFTAIDREFUND.ORIGINALTRANSACTIONGIFTAMOUNT = REVENUESPLITGIFTAIDREFUND.ORIGINALGIFTAMOUNT,
REVENUESPLITGIFTAIDREFUND.ORIGINALORGANIZATIONGIFTAMOUNT = REVENUESPLITGIFTAIDREFUND.ORIGINALGIFTAMOUNT
from
inserted
inner join
dbo.REVENUESPLITGIFTAIDREFUND on inserted.ID = REVENUESPLITGIFTAIDREFUND.ID
where
REVENUESPLITGIFTAIDREFUND.ORIGINALORGANIZATIONEXCHANGERATEID is null
and (REVENUESPLITGIFTAIDREFUND.ORIGINALBASECURRENCYID is null or REVENUESPLITGIFTAIDREFUND.ORIGINALBASECURRENCYID = @ORGANIZATIONCURRENCYID)
and REVENUESPLITGIFTAIDREFUND.ORIGINALBASEEXCHANGERATEID is null
and (REVENUESPLITGIFTAIDREFUND.ORIGINALTRANSACTIONCURRENCYID is null or REVENUESPLITGIFTAIDREFUND.ORIGINALTRANSACTIONCURRENCYID = @ORGANIZATIONCURRENCYID)
and
(
REVENUESPLITGIFTAIDREFUND.ORIGINALTRANSACTIONBASETAXCLAIMAMOUNT <> REVENUESPLITGIFTAIDREFUND.ORIGINALBASETAXCLAIMAMOUNT
or REVENUESPLITGIFTAIDREFUND.ORIGINALORGANIZATIONBASETAXCLAIMAMOUNT <> REVENUESPLITGIFTAIDREFUND.ORIGINALBASETAXCLAIMAMOUNT
or REVENUESPLITGIFTAIDREFUND.ORIGINALTRANSACTIONTRANSITIONALTAXCLAIMAMOUNT <> REVENUESPLITGIFTAIDREFUND.ORIGINALTRANSITIONALTAXCLAIMAMOUNT
or REVENUESPLITGIFTAIDREFUND.ORIGINALORGANIZATIONTRANSITIONALTAXCLAIMAMOUNT <> REVENUESPLITGIFTAIDREFUND.ORIGINALTRANSITIONALTAXCLAIMAMOUNT
or (
REVENUESPLITGIFTAIDREFUND.ORIGINALBASETAXCLAIMAMOUNT = 0
and REVENUESPLITGIFTAIDREFUND.ORIGINALTRANSITIONALTAXCLAIMAMOUNT = 0
)
)
end