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