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