USP_MKTSPONSORSHIPMAILINGTEMPLATERULE_MOVEDOWN

Executes the "Sponsorship Effort Template Rule: Move Down" record operation.

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN Input parameter indicating the ID of the record being updated.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the update.

Definition

Copy


CREATE procedure dbo.[USP_MKTSPONSORSHIPMAILINGTEMPLATERULE_MOVEDOWN]
(
  @ID uniqueidentifier,
  @CHANGEAGENTID uniqueidentifier = null
)
as
  set nocount on;

  declare @SPONSORSHIPMAILINGTEMPLATEID uniqueidentifier;
  declare @BELOWRULEID uniqueidentifier;
  declare @SEQUENCE int;
  declare @MAXSEQUENCE int;
  declare @CURRENTDATE datetime;

  begin try
    if @CHANGEAGENTID is null  
      exec dbo.[USP_CHANGEAGENT_GETORCREATECHANGEAGENT] @CHANGEAGENTID output;

    set @CURRENTDATE = getdate();

    select 
      @SPONSORSHIPMAILINGTEMPLATEID = [SPONSORSHIPMAILINGTEMPLATEID],
      @SEQUENCE = [SEQUENCE]
    from 
      dbo.[MKTSPONSORSHIPMAILINGTEMPLATERULE] 
    where 
      [ID] = @ID;

    begin
      select 
        @MAXSEQUENCE = max([SEQUENCE]) 
      from 
        dbo.[MKTSPONSORSHIPMAILINGTEMPLATERULE] 
      where 
        [SPONSORSHIPMAILINGTEMPLATEID] = @SPONSORSHIPMAILINGTEMPLATEID;

      if (@SEQUENCE < @MAXSEQUENCE
        begin
          select 
            @BELOWRULEID = [ID]
          from 
            dbo.[MKTSPONSORSHIPMAILINGTEMPLATERULE]
          where 
            [SPONSORSHIPMAILINGTEMPLATEID] = @SPONSORSHIPMAILINGTEMPLATEID
          and 
            [SEQUENCE] = (@SEQUENCE + 1);

          exec dbo.[USP_MKTSPONSORSHIPMAILINGTEMPLATE_SWAPRULES] @ID, @BELOWRULEID, @CHANGEAGENTID;
        end
    end

  end try

  begin catch
    exec dbo.[USP_RAISE_ERROR];
    return 1;
  end catch

  return 0;