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