USP_SIMPLEDATALIST_MKTSEGMENTATIONEXPORTDEFINITION2
Returns a list of all of the export definitions associated with a marketing effort.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@SEGMENTATIONID | uniqueidentifier | IN | Effort ID |
@EXPORTACTIVESEGMENTS | bit | IN | Export active segments |
@MAILEXPORTDEFINITIONID | uniqueidentifier | IN | Mail export definition ID |
@EMAILEXPORTDEFINITIONID | uniqueidentifier | IN | Email export definition ID |
@PHONEEXPORTDEFINITIONID | uniqueidentifier | IN | Phone export definition ID |
@EXPORTINLINEEXCLUSIONS | bit | IN | Export inline exclusions |
@INLINEEXCLUSIONEXPORTDEFINITIONID | uniqueidentifier | IN | Inline exclusion export definition ID |
Definition
Copy
create procedure dbo.[USP_SIMPLEDATALIST_MKTSEGMENTATIONEXPORTDEFINITION2]
(
@SEGMENTATIONID uniqueidentifier,
@EXPORTACTIVESEGMENTS bit = 1,
@MAILEXPORTDEFINITIONID uniqueidentifier = null,
@EMAILEXPORTDEFINITIONID uniqueidentifier = null,
@PHONEEXPORTDEFINITIONID uniqueidentifier = null,
@EXPORTINLINEEXCLUSIONS bit = 0,
@INLINEEXCLUSIONEXPORTDEFINITIONID uniqueidentifier = null
)
as
set nocount on;
declare @ITEMS table ([ID] uniqueidentifier, [VALUE] varchar(38), [LABEL] nvarchar(255), [EXCLUSION] bit);
if @EXPORTACTIVESEGMENTS = 1
begin
with [PACKAGES] ([PACKAGEID]) as (
select distinct [TEMP].[PACKAGEID]
from (select [MKTSEGMENTATIONSEGMENT].[PACKAGEID]
from dbo.[MKTSEGMENTATIONSEGMENT]
inner join dbo.[MKTSEGMENT] on [MKTSEGMENT].[ID] = [MKTSEGMENTATIONSEGMENT].[SEGMENTID]
left outer join dbo.[MKTSEGMENTLIST] on [MKTSEGMENTLIST].[SEGMENTID] = [MKTSEGMENT].[ID]
inner join dbo.[MKTPACKAGE] on [MKTSEGMENTATIONSEGMENT].[PACKAGEID] = [MKTPACKAGE].[ID] and [MKTPACKAGE].[ISSYSTEM] = 0
where [MKTSEGMENTATIONSEGMENT].[SEGMENTATIONID] = @SEGMENTATIONID
and ([MKTSEGMENTLIST].[TYPECODE] is null or [MKTSEGMENTLIST].[TYPECODE] <> 1)
union all
select [MKTSEGMENTATIONTESTSEGMENT].[PACKAGEID]
from dbo.[MKTSEGMENTATIONTESTSEGMENT]
inner join dbo.[MKTSEGMENTATIONSEGMENT] on [MKTSEGMENTATIONSEGMENT].[ID] = [MKTSEGMENTATIONTESTSEGMENT].[SEGMENTID]
inner join dbo.[MKTSEGMENT] on [MKTSEGMENT].[ID] = [MKTSEGMENTATIONSEGMENT].[SEGMENTID]
left outer join dbo.[MKTSEGMENTLIST] on [MKTSEGMENTLIST].[SEGMENTID] = [MKTSEGMENT].[ID]
inner join dbo.[MKTPACKAGE] on [MKTSEGMENTATIONSEGMENT].[PACKAGEID] = [MKTPACKAGE].[ID] and [MKTPACKAGE].[ISSYSTEM] = 0
where [MKTSEGMENTATIONSEGMENT].[SEGMENTATIONID] = @SEGMENTATIONID
and ([MKTSEGMENTLIST].[TYPECODE] is null or [MKTSEGMENTLIST].[TYPECODE] <> 1)) as [TEMP]
)
insert into @ITEMS ([ID], [VALUE], [LABEL], [EXCLUSION])
select distinct
[EXPORTDEFINITION].[ID],
convert(varchar(36), [EXPORTDEFINITION].[ID]) + '|0' as [VALUE],
[EXPORTDEFINITION].[NAME] as [LABEL],
0 as [EXCLUSION]
from [PACKAGES]
inner join dbo.[MKTPACKAGE] on [MKTPACKAGE].[ID] = [PACKAGES].[PACKAGEID]
left outer join dbo.[LETTERCODE] on [LETTERCODE].[ID] = [MKTPACKAGE].[LETTERCODEID]
left outer join dbo.[MKTEXPORTDEFINITION] on ([MKTEXPORTDEFINITION].[NETCOMMUNITYDATASOURCEID] = [MKTPACKAGE].[NETCOMMUNITYDATASOURCEID] and [MKTPACKAGE].[NETCOMMUNITYDATASOURCEID] > 0)
inner join dbo.[EXPORTDEFINITION] on ([EXPORTDEFINITION].[ID] = [LETTERCODE].[EXPORTDEFINITIONID] or [EXPORTDEFINITION].[ID] = [MKTEXPORTDEFINITION].[EXPORTDEFINITIONID] or [EXPORTDEFINITION].[ID] = [MKTPACKAGE].[EXPORTDEFINITIONID])
order by [EXPORTDEFINITION].[NAME];
if @MAILEXPORTDEFINITIONID is not null and not exists (select top 1 1 from @ITEMS where [ID] = @MAILEXPORTDEFINITIONID)
insert into @ITEMS ([ID], [VALUE], [LABEL], [EXCLUSION])
values (@MAILEXPORTDEFINITIONID, convert(varchar(36), @MAILEXPORTDEFINITIONID) + '|0', dbo.[UFN_EXPORTDEFINITION_GETNAME](@MAILEXPORTDEFINITIONID), 0);
if @EMAILEXPORTDEFINITIONID is not null and not exists (select top 1 1 from @ITEMS where [ID] = @EMAILEXPORTDEFINITIONID)
insert into @ITEMS ([ID], [VALUE], [LABEL], [EXCLUSION])
values (@EMAILEXPORTDEFINITIONID, convert(varchar(36), @EMAILEXPORTDEFINITIONID) + '|0', dbo.[UFN_EXPORTDEFINITION_GETNAME](@EMAILEXPORTDEFINITIONID), 0);
if @PHONEEXPORTDEFINITIONID is not null and not exists (select top 1 1 from @ITEMS where [ID] = @PHONEEXPORTDEFINITIONID)
insert into @ITEMS ([ID], [VALUE], [LABEL], [EXCLUSION])
values (@PHONEEXPORTDEFINITIONID, convert(varchar(36), @PHONEEXPORTDEFINITIONID) + '|0', dbo.[UFN_EXPORTDEFINITION_GETNAME](@PHONEEXPORTDEFINITIONID), 0);
end
if @EXPORTINLINEEXCLUSIONS = 1
if @INLINEEXCLUSIONEXPORTDEFINITIONID is not null
insert into @ITEMS ([ID], [VALUE], [LABEL], [EXCLUSION])
values (@INLINEEXCLUSIONEXPORTDEFINITIONID, convert(varchar(36), @INLINEEXCLUSIONEXPORTDEFINITIONID) + '|1', N'Exclusions: ' + dbo.[UFN_EXPORTDEFINITION_GETNAME](@INLINEEXCLUSIONEXPORTDEFINITIONID), 1);
select [VALUE], [LABEL] from @ITEMS order by [EXCLUSION], [LABEL];
return 0;