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