TR_RECOGNITIONPROGRAM_INSERTUPDATE_CURRENCY
Definition
Copy
CREATE trigger [dbo].[TR_RECOGNITIONPROGRAM_INSERTUPDATE_CURRENCY] on [dbo].[RECOGNITIONPROGRAM]
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 field.
if update(MAXIMUMAMOUNT)
begin
update
dbo.RECOGNITIONPROGRAM
set
RECOGNITIONPROGRAM.ORGANIZATIONMAXIMUMAMOUNT = RECOGNITIONPROGRAM.MAXIMUMAMOUNT,
RECOGNITIONPROGRAM.BASECURRENCYID = @ORGANIZATIONCURRENCYID,
RECOGNITIONPROGRAM.CHANGEDBYID = RECOGNITIONPROGRAM.CHANGEDBYID,
RECOGNITIONPROGRAM.DATECHANGED = RECOGNITIONPROGRAM.DATECHANGED
from
inserted
inner join
dbo.RECOGNITIONPROGRAM on inserted.ID = RECOGNITIONPROGRAM.ID
where
RECOGNITIONPROGRAM.ORGANIZATIONEXCHANGERATEID is null
and (RECOGNITIONPROGRAM.BASECURRENCYID is null or RECOGNITIONPROGRAM.BASECURRENCYID = @ORGANIZATIONCURRENCYID)
and
(
RECOGNITIONPROGRAM.ORGANIZATIONMAXIMUMAMOUNT <> RECOGNITIONPROGRAM.MAXIMUMAMOUNT
or RECOGNITIONPROGRAM.MAXIMUMAMOUNT = 0
);
end
end