USP_COMMUNICATIONLETTER_DELETE
Executes the "Communication Letter 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_COMMUNICATIONLETTER_DELETE
(
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null
)
as begin
set nocount on;
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
declare @CURRENTDATE datetime = getDate();
declare @SEGMENTATIONID uniqueidentifier;
declare @MAILPACKAGEID uniqueidentifier;
declare @MAILSEGMENTID uniqueidentifier;
declare @MAILSEGMENTIDSETREGISTERID uniqueidentifier;
declare @EMAILPACKAGEID uniqueidentifier;
declare @EMAILSEGMENTID uniqueidentifier;
declare @EMAILSEGMENTIDSETREGISTERID uniqueidentifier;
declare @COMMUNICATIONEXCLUSIONIDSETREGISTERID uniqueidentifier;
select
@SEGMENTATIONID = COMMUNICATIONLETTER.SEGMENTATIONID,
@MAILPACKAGEID = COMMUNICATIONLETTER.MAILPACKAGEID,
@MAILSEGMENTID = COMMUNICATIONLETTER.MAILSEGMENTID,
@EMAILPACKAGEID = COMMUNICATIONLETTER.EMAILPACKAGEID,
@EMAILSEGMENTID = COMMUNICATIONLETTER.EMAILSEGMENTID,
@COMMUNICATIONEXCLUSIONIDSETREGISTERID = COMMUNICATIONLETTERACTIVITYEXCLUSIONS.IDSETREGISTERID,
@MAILSEGMENTIDSETREGISTERID = MAILSEGMENT.IDSETREGISTERID,
@EMAILSEGMENTIDSETREGISTERID = EMAILSEGMENT.IDSETREGISTERID
from dbo.COMMUNICATIONLETTER
left join dbo.MKTPACKAGE MAILPACKAGE
on COMMUNICATIONLETTER.MAILPACKAGEID = MAILPACKAGE.ID
left join dbo.MKTPACKAGE EMAILPACKAGE
on COMMUNICATIONLETTER.EMAILPACKAGEID = EMAILPACKAGE.ID
left join dbo.MKTSEGMENT MAILSEGMENT
on COMMUNICATIONLETTER.MAILSEGMENTID = MAILSEGMENT.ID
left join dbo.MKTSEGMENT EMAILSEGMENT
on COMMUNICATIONLETTER.EMAILSEGMENTID = EMAILSEGMENT.ID
left join dbo.COMMUNICATIONLETTERACTIVITYEXCLUSIONS
on COMMUNICATIONLETTER.ID = COMMUNICATIONLETTERACTIVITYEXCLUSIONS.COMMUNICATIONLETTERID
where COMMUNICATIONLETTER.ID = @ID;
if @SEGMENTATIONID is not null
exec dbo.USP_COMMUNICATIONLETTER_REMOVE @ID, @CHANGEAGENTID;
exec USP_COMMUNICATIONLETTER_DELETEBYID_WITHCHANGEAGENTID @ID, @CHANGEAGENTID;
if @COMMUNICATIONEXCLUSIONIDSETREGISTERID is not null
exec dbo.USP_IDSETREGISTER_DELETEBYID_WITHCHANGEAGENTID @COMMUNICATIONEXCLUSIONIDSETREGISTERID, @CHANGEAGENTID;
if @MAILPACKAGEID is not null
begin
update dbo.MKTPACKAGE set
ISSYSTEM = 0,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where ID = @MAILPACKAGEID;
exec dbo.USP_MKTPACKAGE_DELETE @MAILPACKAGEID, @CHANGEAGENTID;
end
if @MAILSEGMENTID is not null
begin
update dbo.MKTSEGMENT set
ISSYSTEM = 0,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where ID = @MAILSEGMENTID;
exec dbo.USP_MKTSEGMENT_DELETE @MAILSEGMENTID, @CHANGEAGENTID;
if @MAILSEGMENTIDSETREGISTERID is not null
exec dbo.USP_IDSETREGISTER_DELETEBYID_WITHCHANGEAGENTID @MAILSEGMENTIDSETREGISTERID, @CHANGEAGENTID;
end
if @EMAILPACKAGEID is not null
begin
update dbo.MKTPACKAGE set
ISSYSTEM = 0,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where ID = @EMAILPACKAGEID;
exec dbo.USP_MKTPACKAGE_DELETE @EMAILPACKAGEID, @CHANGEAGENTID;
end
if @EMAILSEGMENTID is not null
begin
update dbo.MKTSEGMENT set
ISSYSTEM = 0,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where ID = @EMAILSEGMENTID;
exec dbo.USP_MKTSEGMENT_DELETE @EMAILSEGMENTID, @CHANGEAGENTID;
if @EMAILSEGMENTIDSETREGISTERID is not null
exec dbo.USP_IDSETREGISTER_DELETEBYID_WITHCHANGEAGENTID @EMAILSEGMENTIDSETREGISTERID, @CHANGEAGENTID;
end
return 0;
end