TR_MKTMEMBERSHIPMAILINGACTIVE_IU_ORGANIZATIONAMOUNTS
Definition
Copy
create trigger [dbo].[TR_MKTMEMBERSHIPMAILINGACTIVE_IU_ORGANIZATIONAMOUNTS] on [dbo].[MKTMEMBERSHIPMAILINGACTIVE]
after insert, update
not for replication
as
begin
set nocount on;
if update(TOTALRENEWALAMOUNT) or update(AVERAGERENEWALAMOUNT) or update(COSTPERRENEWAL)
begin
declare @ORGANIZATIONCURRENCYID uniqueidentifier = dbo.[UFN_CURRENCY_GETORGANIZATIONCURRENCY]();
update
dbo.[MKTMEMBERSHIPMAILINGACTIVE]
set
[MKTMEMBERSHIPMAILINGACTIVE].[ORGANIZATIONTOTALRENEWALAMOUNT] = [MKTMEMBERSHIPMAILINGACTIVE].[TOTALRENEWALAMOUNT],
[MKTMEMBERSHIPMAILINGACTIVE].[ORGANIZATIONAVERAGERENEWALAMOUNT] = [MKTMEMBERSHIPMAILINGACTIVE].[AVERAGERENEWALAMOUNT],
[MKTMEMBERSHIPMAILINGACTIVE].[ORGANIZATIONCOSTPERRENEWAL] = [MKTMEMBERSHIPMAILINGACTIVE].[COSTPERRENEWAL],
[MKTMEMBERSHIPMAILINGACTIVE].[BASECURRENCYID] = @ORGANIZATIONCURRENCYID,
[MKTMEMBERSHIPMAILINGACTIVE].[CHANGEDBYID] = [MKTMEMBERSHIPMAILINGACTIVE].[CHANGEDBYID],
[MKTMEMBERSHIPMAILINGACTIVE].[DATECHANGED] = [MKTMEMBERSHIPMAILINGACTIVE].[DATECHANGED]
from
inserted
inner join dbo.[MKTMEMBERSHIPMAILINGACTIVE] on inserted.ID = [MKTMEMBERSHIPMAILINGACTIVE].[ID]
where
([MKTMEMBERSHIPMAILINGACTIVE].[BASECURRENCYID] is null or [MKTMEMBERSHIPMAILINGACTIVE].[BASECURRENCYID] = @ORGANIZATIONCURRENCYID)
and
(
[MKTMEMBERSHIPMAILINGACTIVE].[ORGANIZATIONTOTALRENEWALAMOUNT] <> [MKTMEMBERSHIPMAILINGACTIVE].[TOTALRENEWALAMOUNT]
or [MKTMEMBERSHIPMAILINGACTIVE].[ORGANIZATIONAVERAGERENEWALAMOUNT] <> [MKTMEMBERSHIPMAILINGACTIVE].[AVERAGERENEWALAMOUNT]
or [MKTMEMBERSHIPMAILINGACTIVE].[ORGANIZATIONCOSTPERRENEWAL] <> [MKTMEMBERSHIPMAILINGACTIVE].[COSTPERRENEWAL]
or (
[MKTMEMBERSHIPMAILINGACTIVE].[TOTALRENEWALAMOUNT] = 0 and [MKTMEMBERSHIPMAILINGACTIVE].[AVERAGERENEWALAMOUNT] = 0 and [MKTMEMBERSHIPMAILINGACTIVE].[COSTPERRENEWAL] = 0)
);
end
end