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;