TR_MKTSEGMENTATIONTESTSEGMENT_IU_ORGANIZATIONGIFTAMOUNT
Definition
Copy
CREATE trigger [dbo].[TR_MKTSEGMENTATIONTESTSEGMENT_IU_ORGANIZATIONGIFTAMOUNT] on [dbo].[MKTSEGMENTATIONTESTSEGMENT]
after insert, update
not for replication
as
begin
set nocount on;
-- if we try to save an amount without explicitly setting an organization amount and an exchange rate,
-- copy the amount to the organization amount.
if update(GIFTAMOUNT)
begin
declare @ORGANIZATIONCURRENCYID uniqueidentifier = dbo.[UFN_CURRENCY_GETORGANIZATIONCURRENCY]();
update dbo.[MKTSEGMENTATIONTESTSEGMENT] set
[MKTSEGMENTATIONTESTSEGMENT].[ORGANIZATIONGIFTAMOUNT] = [MKTSEGMENTATIONTESTSEGMENT].[GIFTAMOUNT],
[MKTSEGMENTATIONTESTSEGMENT].[BASECURRENCYID] = @ORGANIZATIONCURRENCYID,
[MKTSEGMENTATIONTESTSEGMENT].[CHANGEDBYID] = [MKTSEGMENTATIONTESTSEGMENT].[CHANGEDBYID],
[MKTSEGMENTATIONTESTSEGMENT].[DATECHANGED] = [MKTSEGMENTATIONTESTSEGMENT].[DATECHANGED]
from inserted
inner join dbo.[MKTSEGMENTATIONTESTSEGMENT] on inserted.ID = [MKTSEGMENTATIONTESTSEGMENT].[ID]
where [MKTSEGMENTATIONTESTSEGMENT].[ORGANIZATIONCURRENCYEXCHANGERATEID] is null
and ([MKTSEGMENTATIONTESTSEGMENT].[BASECURRENCYID] is null or [MKTSEGMENTATIONTESTSEGMENT].[BASECURRENCYID] = @ORGANIZATIONCURRENCYID)
and (
[MKTSEGMENTATIONTESTSEGMENT].[ORGANIZATIONGIFTAMOUNT] <> [MKTSEGMENTATIONTESTSEGMENT].[GIFTAMOUNT]
or ([MKTSEGMENTATIONTESTSEGMENT].[GIFTAMOUNT] = 0)
);
end
end