USP_MKTACKNOWLEDGEMENTMAILINGTEMPLATERULE_DELETE

Executes the "Marketing Acknowledgement Template Rule: Delete" record operation.

Parameters

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

Definition

Copy


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

  declare @ACKNOWLEDGEMENTMAILINGTEMPLATEID uniqueidentifier;
  declare @PACKAGEID uniqueidentifier;
  declare @SEQUENCE int;

  begin try
    /* Grab some info so we can remove the package and reorder the rest of the segments after the delete */
    select 
      @ACKNOWLEDGEMENTMAILINGTEMPLATEID = [RUL].[ACKNOWLEDGEMENTMAILINGTEMPLATEID], 
      @PACKAGEID = [RUL].[PACKAGEID],
      @SEQUENCE = [RUL].[SEQUENCE]
    from dbo.[MKTACKNOWLEDGEMENTMAILINGTEMPLATERULE] as [RUL]
    inner join dbo.[MKTSEGMENT] on [MKTSEGMENT].[ID] = [RUL].[SEGMENTID]
    where [RUL].[ID] = @ID;

    /* Delete the segment */
    exec dbo.[USP_MKTACKNOWLEDGEMENTMAILINGTEMPLATERULE_DELETEBYID_WITHCHANGEAGENTID] @ID, @CHANGEAGENTID;

    /* Reorder the rest of the rules */
    update dbo.[MKTACKNOWLEDGEMENTMAILINGTEMPLATERULE] set
      [SEQUENCE] = ([SEQUENCE] - 1),
      [CHANGEDBYID] = @CHANGEAGENTID
    where [ACKNOWLEDGEMENTMAILINGTEMPLATEID] = @ACKNOWLEDGEMENTMAILINGTEMPLATEID
    and [SEQUENCE] > @SEQUENCE;
  end try

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

  return 0;