USP_MKTSEGMENT_DELETE

Executes the "Segment: 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.
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.

Definition

Copy


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

  declare @SEGMENTTYPECODE tinyint;
  declare @PARENTSEGMENTID uniqueidentifier;
  declare @ISSYSTEM bit = 0;

  begin try
    select
      @SEGMENTTYPECODE = [MKTSEGMENT].[SEGMENTTYPECODE],
      @PARENTSEGMENTID = [MKTSEGMENTLIST].[PARENTSEGMENTID],
      @ISSYSTEM = [MKTSEGMENT].[ISSYSTEM]
    from dbo.[MKTSEGMENT]
    left join dbo.[MKTSEGMENTLIST] on [MKTSEGMENTLIST].[ID] = [MKTSEGMENT].[CURRENTSEGMENTLISTID]
    where [MKTSEGMENT].[ID] = @ID;

    if @ISSYSTEM = 1
      begin
        raiserror('BBERR_MKTSEGMENT_ISSYSTEMSEGMENT', 13, 1);
        return 1;
      end

    if @SEGMENTTYPECODE = 2 and @PARENTSEGMENTID is null
      --Delete the list import data (if any)...

      exec dbo.[USP_MKTSEGMENTLIST_DELETEIMPORTDATA] @ID, @CURRENTAPPUSERID, 1, @CHANGEAGENTID;
    else
      --Delete the constituent or revenue segment view and IDSet...

      exec dbo.[USP_MKTSEGMENT_DELETEVIEW] @ID, @CHANGEAGENTID;

    --Delete the main segment record

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

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

  return 0;