![]() |
---|
CREATE trigger [dbo].[TR_PLANNEDGIFTADDITIONASSET_INSERTUPDATE_CURRENCY] on [dbo].[PLANNEDGIFTADDITIONASSET] after insert, update not for replication as begin set nocount on; declare @ORGANIZATIONCURRENCYID uniqueidentifier = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY(); -- If we try to save a value or cost basis without explicitly setting an organization value -- and an exchange rate, copy the value and cost basis to their organization and transaction -- amount fields. if update(VALUE) or update(COSTBASIS) begin update dbo.PLANNEDGIFTADDITIONASSET set PLANNEDGIFTADDITIONASSET.ORGANIZATIONVALUE = PLANNEDGIFTADDITIONASSET.VALUE, PLANNEDGIFTADDITIONASSET.TRANSACTIONVALUE = PLANNEDGIFTADDITIONASSET.VALUE, PLANNEDGIFTADDITIONASSET.ORGANIZATIONCOSTBASIS = PLANNEDGIFTADDITIONASSET.COSTBASIS, PLANNEDGIFTADDITIONASSET.TRANSACTIONCOSTBASIS = PLANNEDGIFTADDITIONASSET.COSTBASIS, PLANNEDGIFTADDITIONASSET.BASECURRENCYID = @ORGANIZATIONCURRENCYID, PLANNEDGIFTADDITIONASSET.TRANSACTIONCURRENCYID = @ORGANIZATIONCURRENCYID, PLANNEDGIFTADDITIONASSET.CHANGEDBYID = PLANNEDGIFTADDITIONASSET.CHANGEDBYID, PLANNEDGIFTADDITIONASSET.DATECHANGED = PLANNEDGIFTADDITIONASSET.DATECHANGED from inserted inner join dbo.PLANNEDGIFTADDITIONASSET on inserted.ID = PLANNEDGIFTADDITIONASSET.ID where PLANNEDGIFTADDITIONASSET.ORGANIZATIONEXCHANGERATEID is null and (PLANNEDGIFTADDITIONASSET.BASECURRENCYID is null or PLANNEDGIFTADDITIONASSET.BASECURRENCYID = @ORGANIZATIONCURRENCYID) and PLANNEDGIFTADDITIONASSET.BASEEXCHANGERATEID is null and (PLANNEDGIFTADDITIONASSET.TRANSACTIONCURRENCYID is null or PLANNEDGIFTADDITIONASSET.TRANSACTIONCURRENCYID = @ORGANIZATIONCURRENCYID) and ( PLANNEDGIFTADDITIONASSET.ORGANIZATIONVALUE <> PLANNEDGIFTADDITIONASSET.VALUE or PLANNEDGIFTADDITIONASSET.TRANSACTIONVALUE <> PLANNEDGIFTADDITIONASSET.VALUE or PLANNEDGIFTADDITIONASSET.ORGANIZATIONCOSTBASIS <> PLANNEDGIFTADDITIONASSET.COSTBASIS or PLANNEDGIFTADDITIONASSET.TRANSACTIONCOSTBASIS <> PLANNEDGIFTADDITIONASSET.COSTBASIS or (PLANNEDGIFTADDITIONASSET.VALUE = 0 and PLANNEDGIFTADDITIONASSET.COSTBASIS = 0) ); end end |