TR_MKTMEMBERSHIPMAILINGSEGMENTACTIVE_IU_ORGANIZATIONAMOUNTS

Definition

Copy


          create trigger [dbo].[TR_MKTMEMBERSHIPMAILINGSEGMENTACTIVE_IU_ORGANIZATIONAMOUNTS] on [dbo].[MKTMEMBERSHIPMAILINGSEGMENTACTIVE] 
          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.[MKTMEMBERSHIPMAILINGSEGMENTACTIVE]
              set
                [MKTMEMBERSHIPMAILINGSEGMENTACTIVE].[ORGANIZATIONTOTALRENEWALAMOUNT] = [MKTMEMBERSHIPMAILINGSEGMENTACTIVE].[TOTALRENEWALAMOUNT],
                [MKTMEMBERSHIPMAILINGSEGMENTACTIVE].[ORGANIZATIONAVERAGERENEWALAMOUNT] = [MKTMEMBERSHIPMAILINGSEGMENTACTIVE].[AVERAGERENEWALAMOUNT],
                [MKTMEMBERSHIPMAILINGSEGMENTACTIVE].[ORGANIZATIONCOSTPERRENEWAL] = [MKTMEMBERSHIPMAILINGSEGMENTACTIVE].[COSTPERRENEWAL],
                [MKTMEMBERSHIPMAILINGSEGMENTACTIVE].[BASECURRENCYID] = @ORGANIZATIONCURRENCYID,
                [MKTMEMBERSHIPMAILINGSEGMENTACTIVE].[CHANGEDBYID] = [MKTMEMBERSHIPMAILINGSEGMENTACTIVE].[CHANGEDBYID],
                [MKTMEMBERSHIPMAILINGSEGMENTACTIVE].[DATECHANGED] = [MKTMEMBERSHIPMAILINGSEGMENTACTIVE].[DATECHANGED]
              from
                inserted
                inner join dbo.[MKTMEMBERSHIPMAILINGSEGMENTACTIVE] on inserted.ID = [MKTMEMBERSHIPMAILINGSEGMENTACTIVE].[ID]
              where
                ([MKTMEMBERSHIPMAILINGSEGMENTACTIVE].[BASECURRENCYID] is null or [MKTMEMBERSHIPMAILINGSEGMENTACTIVE].[BASECURRENCYID] = @ORGANIZATIONCURRENCYID)
                and
                  (
                    [MKTMEMBERSHIPMAILINGSEGMENTACTIVE].[ORGANIZATIONTOTALRENEWALAMOUNT] <> [MKTMEMBERSHIPMAILINGSEGMENTACTIVE].[TOTALRENEWALAMOUNT]
                    or [MKTMEMBERSHIPMAILINGSEGMENTACTIVE].[ORGANIZATIONAVERAGERENEWALAMOUNT] <> [MKTMEMBERSHIPMAILINGSEGMENTACTIVE].[AVERAGERENEWALAMOUNT]
                    or [MKTMEMBERSHIPMAILINGSEGMENTACTIVE].[ORGANIZATIONCOSTPERRENEWAL] <> [MKTMEMBERSHIPMAILINGSEGMENTACTIVE].[COSTPERRENEWAL]
                    or ([MKTMEMBERSHIPMAILINGSEGMENTACTIVE].[TOTALRENEWALAMOUNT] = 0 and [MKTMEMBERSHIPMAILINGSEGMENTACTIVE].[AVERAGERENEWALAMOUNT] = 0 and [MKTMEMBERSHIPMAILINGSEGMENTACTIVE].[COSTPERRENEWAL] = 0)
                  );
            end
          end