USP_MKTSOURCECODELAYOUTPART_MOVEUP

Executes the "Marketing Effort Layout Part: Move Up" 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_MKTSOURCECODELAYOUTPART_MOVEUP]
(
  @ID uniqueidentifier,
  @CHANGEAGENTID uniqueidentifier = null
)
as
  set nocount on;

  declare @ABOVESOURCECODEITEMID uniqueidentifier;
  declare @SOURCECODEID uniqueidentifier;
  declare @SEQ int;

  begin try
    select 
      @SEQ = [MKTSOURCECODEITEM].[SEQUENCE],
      @SOURCECODEID = [MKTSOURCECODEITEM].[SOURCECODEID]
    from dbo.[MKTSOURCECODEITEM] 
    where [ID] = @ID;

    --Only move if not the first part in the layout.

    if @SEQ > 1
      begin
        if @CHANGEAGENTID is null  
          exec dbo.[USP_CHANGEAGENT_GETORCREATECHANGEAGENT] @CHANGEAGENTID output;

        select @ABOVESOURCECODEITEMID = [ID]
        from dbo.[MKTSOURCECODEITEM] 
        where [SOURCECODEID] = @SOURCECODEID and [SEQUENCE] = (@SEQ - 1);

        --Source code layout part is being moved above another source code layout part, swap the 2 source code layout parts.

        exec dbo.[USP_MKTSOURCECODEPART_SWAPSOURCECODEPARTS] @ABOVESOURCECODEITEMID, @ID, @CHANGEAGENTID;
      end
  end try

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

  return 0;