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