TR_REVENUESPLITGIFTAID_INSERTUPDATE_CURRENCY
Definition
Copy
CREATE trigger [dbo].[TR_REVENUESPLITGIFTAID_INSERTUPDATE_CURRENCY] on [dbo].[REVENUESPLITGIFTAID]
after insert, update
not for replication
as
begin
set nocount on;
if update(BASETAXCLAIMAMOUNT) or update(TRANSITIONALTAXCLAIMAMOUNT)
begin
declare @ORGANIZATIONCURRENCYID uniqueidentifier = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY();
update
dbo.REVENUESPLITGIFTAID
set
REVENUESPLITGIFTAID.ORGANIZATIONBASETAXCLAIMAMOUNT = REVENUESPLITGIFTAID.BASETAXCLAIMAMOUNT,
REVENUESPLITGIFTAID.TRANSACTIONBASETAXCLAIMAMOUNT = REVENUESPLITGIFTAID.BASETAXCLAIMAMOUNT,
REVENUESPLITGIFTAID.ORGANIZATIONTRANSITIONALTAXCLAIMAMOUNT = REVENUESPLITGIFTAID.TRANSITIONALTAXCLAIMAMOUNT,
REVENUESPLITGIFTAID.TRANSACTIONTRANSITIONALTAXCLAIMAMOUNT = REVENUESPLITGIFTAID.TRANSITIONALTAXCLAIMAMOUNT,
REVENUESPLITGIFTAID.BASECURRENCYID = @ORGANIZATIONCURRENCYID,
REVENUESPLITGIFTAID.TRANSACTIONCURRENCYID = @ORGANIZATIONCURRENCYID,
REVENUESPLITGIFTAID.CHANGEDBYID = REVENUESPLITGIFTAID.CHANGEDBYID,
REVENUESPLITGIFTAID.DATECHANGED = REVENUESPLITGIFTAID.DATECHANGED
from
inserted
inner join
dbo.REVENUESPLITGIFTAID on inserted.ID = REVENUESPLITGIFTAID.ID
where
REVENUESPLITGIFTAID.ORGANIZATIONEXCHANGERATEID is null
and (REVENUESPLITGIFTAID.BASECURRENCYID is null or REVENUESPLITGIFTAID.BASECURRENCYID = @ORGANIZATIONCURRENCYID)
and REVENUESPLITGIFTAID.BASEEXCHANGERATEID is null
and (REVENUESPLITGIFTAID.TRANSACTIONCURRENCYID is null or REVENUESPLITGIFTAID.TRANSACTIONCURRENCYID = @ORGANIZATIONCURRENCYID)
and
(
REVENUESPLITGIFTAID.ORGANIZATIONBASETAXCLAIMAMOUNT <> REVENUESPLITGIFTAID.BASETAXCLAIMAMOUNT
or REVENUESPLITGIFTAID.TRANSACTIONBASETAXCLAIMAMOUNT <> REVENUESPLITGIFTAID.BASETAXCLAIMAMOUNT
or REVENUESPLITGIFTAID.ORGANIZATIONTRANSITIONALTAXCLAIMAMOUNT <> REVENUESPLITGIFTAID.TRANSITIONALTAXCLAIMAMOUNT
or REVENUESPLITGIFTAID.TRANSACTIONTRANSITIONALTAXCLAIMAMOUNT <> REVENUESPLITGIFTAID.TRANSITIONALTAXCLAIMAMOUNT
or (
REVENUESPLITGIFTAID.BASETAXCLAIMAMOUNT = 0
and REVENUESPLITGIFTAID.TRANSITIONALTAXCLAIMAMOUNT = 0
)
);
end
end