USP_MKTSEGMENTATIONEXPORTPROCESS_GETEXPORTDEFINITIONS
Retrieves information about the export definitions required to export a marketing effort.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@SEGMENTATIONID | uniqueidentifier | IN | |
@PREVIEWEXPORTDEFINITIONID | uniqueidentifier | IN | |
@PREVIEWDEFAULTMAILEXPORTDEFINITION | bit | IN | |
@PREVIEWDEFAULTEMAILEXPORTDEFINITION | bit | IN | |
@PREVIEWDEFAULTPHONEEXPORTDEFINITION | bit | IN |
Definition
Copy
CREATE procedure dbo.[USP_MKTSEGMENTATIONEXPORTPROCESS_GETEXPORTDEFINITIONS]
(
@SEGMENTATIONID uniqueidentifier,
@PREVIEWEXPORTDEFINITIONID uniqueidentifier = null,
@PREVIEWDEFAULTMAILEXPORTDEFINITION bit = 0,
@PREVIEWDEFAULTEMAILEXPORTDEFINITION bit = 0,
@PREVIEWDEFAULTPHONEEXPORTDEFINITION bit = 0
)
as
set nocount on;
if @PREVIEWEXPORTDEFINITIONID is null
begin
set @PREVIEWDEFAULTMAILEXPORTDEFINITION = 0;
set @PREVIEWDEFAULTEMAILEXPORTDEFINITION = 0;
set @PREVIEWDEFAULTPHONEEXPORTDEFINITION = 0;
end;
with [EXPORTDEFINITIONS] ([EXPORTDEFINITIONID]) as (
select distinct
case [MKTPACKAGE].[CHANNELCODE]
when 0 then case when @PREVIEWDEFAULTMAILEXPORTDEFINITION = 1 then @PREVIEWEXPORTDEFINITIONID
else coalesce([MAILEXPORTDEFINITION].[EXPORTDEFINITIONID], [MKTPACKAGE].[EXPORTDEFINITIONID], [MKTSEGMENTATIONEXPORTPROCESS].[MAILEXPORTDEFINITIONID]) end
when 1 then case when @PREVIEWDEFAULTEMAILEXPORTDEFINITION = 1 then @PREVIEWEXPORTDEFINITIONID
else coalesce([EMAILEXPORTDEFINITION].[ID], [MKTPACKAGE].[EXPORTDEFINITIONID], [MKTSEGMENTATIONEXPORTPROCESS].[EMAILEXPORTDEFINITIONID]) end
when 2 then case when @PREVIEWDEFAULTPHONEEXPORTDEFINITION = 1 then @PREVIEWEXPORTDEFINITIONID
else coalesce([MKTPACKAGE].[EXPORTDEFINITIONID], [MKTSEGMENTATIONEXPORTPROCESS].[PHONEEXPORTDEFINITIONID]) end
end as [EXPORTDEFINITIONID]
from dbo.[MKTSEGMENTATIONSEGMENT]
inner join dbo.[MKTSEGMENTATIONEXPORTPROCESS] on [MKTSEGMENTATIONEXPORTPROCESS].[SEGMENTATIONID] = [MKTSEGMENTATIONSEGMENT].[SEGMENTATIONID]
inner join dbo.[MKTSEGMENT] on [MKTSEGMENT].[ID] = [MKTSEGMENTATIONSEGMENT].[SEGMENTID]
left outer join dbo.[MKTSEGMENTLIST] on [MKTSEGMENTLIST].[ID] = [MKTSEGMENT].[CURRENTSEGMENTLISTID]
inner join dbo.[MKTPACKAGE] on [MKTPACKAGE].[ID] = [MKTSEGMENTATIONSEGMENT].[PACKAGEID]
left outer join dbo.[LETTERCODE] as [MAILEXPORTDEFINITION] on [MAILEXPORTDEFINITION].[ID] = [MKTPACKAGE].[LETTERCODEID]
left outer join dbo.[MKTEXPORTDEFINITION] on ([MKTEXPORTDEFINITION].[NETCOMMUNITYDATASOURCEID] = [MKTPACKAGE].[NETCOMMUNITYDATASOURCEID] and [MKTPACKAGE].[NETCOMMUNITYDATASOURCEID] > 0)
left outer join dbo.[EXPORTDEFINITION] as [EMAILEXPORTDEFINITION] on [EMAILEXPORTDEFINITION].[ID] = [MKTEXPORTDEFINITION].[EXPORTDEFINITIONID]
where [MKTSEGMENTATIONSEGMENT].[SEGMENTATIONID] = @SEGMENTATIONID
and ([MKTSEGMENTLIST].[TYPECODE] is null or [MKTSEGMENTLIST].[TYPECODE] <> 1) -- exclude vendor-managed segments
union
select distinct
case [MKTPACKAGE].[CHANNELCODE]
when 0 then case when @PREVIEWDEFAULTMAILEXPORTDEFINITION = 1 then @PREVIEWEXPORTDEFINITIONID
else coalesce([MAILEXPORTDEFINITION].[EXPORTDEFINITIONID], [MKTPACKAGE].[EXPORTDEFINITIONID], [MKTSEGMENTATIONEXPORTPROCESS].[MAILEXPORTDEFINITIONID]) end
when 1 then case when @PREVIEWDEFAULTEMAILEXPORTDEFINITION = 1 then @PREVIEWEXPORTDEFINITIONID
else coalesce([EMAILEXPORTDEFINITION].[ID], [MKTPACKAGE].[EXPORTDEFINITIONID], [MKTSEGMENTATIONEXPORTPROCESS].[EMAILEXPORTDEFINITIONID]) end
when 2 then case when @PREVIEWDEFAULTPHONEEXPORTDEFINITION = 1 then @PREVIEWEXPORTDEFINITIONID
else coalesce([MKTPACKAGE].[EXPORTDEFINITIONID], [MKTSEGMENTATIONEXPORTPROCESS].[PHONEEXPORTDEFINITIONID]) end
end as [EXPORTDEFINITIONID]
from dbo.[MKTSEGMENTATIONSEGMENT]
inner join dbo.[MKTSEGMENTATIONTESTSEGMENT] on [MKTSEGMENTATIONTESTSEGMENT].[SEGMENTID] = [MKTSEGMENTATIONSEGMENT].[ID]
inner join dbo.[MKTSEGMENTATIONEXPORTPROCESS] on [MKTSEGMENTATIONEXPORTPROCESS].[SEGMENTATIONID] = [MKTSEGMENTATIONSEGMENT].[SEGMENTATIONID]
inner join dbo.[MKTSEGMENT] on [MKTSEGMENT].[ID] = [MKTSEGMENTATIONSEGMENT].[SEGMENTID]
left outer join dbo.[MKTSEGMENTLIST] on [MKTSEGMENTLIST].[ID] = [MKTSEGMENT].[CURRENTSEGMENTLISTID]
inner join dbo.[MKTPACKAGE] on [MKTPACKAGE].[ID] = [MKTSEGMENTATIONTESTSEGMENT].[PACKAGEID]
left outer join dbo.[LETTERCODE] as [MAILEXPORTDEFINITION] on [MAILEXPORTDEFINITION].[ID] = [MKTPACKAGE].[LETTERCODEID]
left outer join dbo.[MKTEXPORTDEFINITION] on ([MKTEXPORTDEFINITION].[NETCOMMUNITYDATASOURCEID] = [MKTPACKAGE].[NETCOMMUNITYDATASOURCEID] and [MKTPACKAGE].[NETCOMMUNITYDATASOURCEID] > 0)
left outer join dbo.[EXPORTDEFINITION] as [EMAILEXPORTDEFINITION] on [EMAILEXPORTDEFINITION].[ID] = [MKTEXPORTDEFINITION].[EXPORTDEFINITIONID]
where [MKTSEGMENTATIONSEGMENT].[SEGMENTATIONID] = @SEGMENTATIONID
and ([MKTSEGMENTLIST].[TYPECODE] is null or [MKTSEGMENTLIST].[TYPECODE] <> 1)) -- exclude vendor-managed segments
select
[EXPORTDEFINITIONS].[EXPORTDEFINITIONID],
[EXPORTDEFINITION].[NAME] as [EXPORTDEFINITIONNAME]
from [EXPORTDEFINITIONS]
inner join dbo.[EXPORTDEFINITION] on [EXPORTDEFINITION].[ID] = [EXPORTDEFINITIONS].[EXPORTDEFINITIONID]
where (@PREVIEWEXPORTDEFINITIONID is null or [EXPORTDEFINITIONS].[EXPORTDEFINITIONID] = @PREVIEWEXPORTDEFINITIONID);
return 0;