USP_MKTSEGMENTATIONEXPORTPROCESSOUTPUT_GETDATALIST
Returns the output list for a marketing effort export process.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@BUSINESSPROCESSSTATUSID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure dbo.[USP_MKTSEGMENTATIONEXPORTPROCESSOUTPUT_GETDATALIST]
(
@BUSINESSPROCESSSTATUSID uniqueidentifier
)
as
set nocount on;
declare @TABLENAME nvarchar(250);
declare @SQL nvarchar(max);
declare @EXCLUSIONSQL nvarchar(max);
declare @BUSINESSPROCESSPARAMETERSETID uniqueidentifier;
select
@BUSINESSPROCESSPARAMETERSETID = [BUSINESSPROCESSPARAMETERSETID]
from dbo.[BUSINESSPROCESSSTATUS]
where [ID] = @BUSINESSPROCESSSTATUSID;
select @TABLENAME = [TABLENAME] from dbo.[BUSINESSPROCESSOUTPUT] where [BUSINESSPROCESSSTATUSID] = @BUSINESSPROCESSSTATUSID and upper([TABLEKEY]) = upper(convert(nvarchar(36), @BUSINESSPROCESSSTATUSID));
if exists (select top 1 1
from sys.columns as c
inner join sys.objects as o on o.object_id = c.object_id
where o.name = @TABLENAME and o.type = 'U' and c.name = 'EXCLUSION')
set @EXCLUSIONSQL = ' [BUSINESSPROCESSOUTPUTSUMMARY].[EXCLUSION]';
else
set @EXCLUSIONSQL = ' cast(0 as bit) as [EXCLUSION]';
set @SQL =
'select' + char(13) +
' (select top 1 [ID] from dbo.[BUSINESSPROCESSOUTPUT] where [BUSINESSPROCESSSTATUSID] = @BUSINESSPROCESSSTATUSID and upper([TABLEKEY]) = upper([BUSINESSPROCESSOUTPUTSUMMARY].[TABLEKEY])) as [ID],' + char(13) +
' @BUSINESSPROCESSPARAMETERSETID as [PARAMETERSETID],' + char(13) +
' [BUSINESSPROCESSOUTPUTSUMMARY].[TABLEKEY],' + char(13) +
' [BUSINESSPROCESSOUTPUTSUMMARY].[EXPORTDEFINITIONID],' + char(13) +
' [EXPORTDEFINITION].[NAME] as [EXPORTDEFINITION],' + char(13) +
' convert(integer, cast([BUSINESSPROCESSOUTPUTSUMMARY].[PACKAGES].query(''count(/PACKAGES/ITEM/ID)'') as nvarchar(10))) as [PACKAGECOUNT],' + char(13) +
' dbo.[UFN_MKTSEGMENTATIONEXPORTPROCESS_GETPACKAGELISTFROMXML]([BUSINESSPROCESSOUTPUTSUMMARY].[PACKAGES]) as [PACKAGES],' + char(13) +
' [BUSINESSPROCESSOUTPUTSUMMARY].[QUANTITY],' + char(13) +
' dbo.[UFN_MKTSEGMENTATIONEXPORTPROCESSOUTPUT_SUMMARYSTATUSCODE]([BUSINESSPROCESSOUTPUTSUMMARY].[STATUS]) as [STATUSCODE],' + char(13) +
' isnull((select max(T.c.value(''(STATUSDATE)[1]'', ''datetime'')) from [BUSINESSPROCESSOUTPUTSUMMARY].[STATUS].nodes(''/STATUS/ITEM'') T(c) where T.c.value(''(NETCOMMUNITYEMAILID)[1]'', ''integer'') > 0), [BUSINESSPROCESSOUTPUTSUMMARY].[STATUS].value(''(/STATUS/@StatusDate)[1]'', ''datetime'')) as [STATUSDATE],' + char(13) +
' convert(bit, case when exists (' + char(13) +
' select top 1 1' + char(13) +
' from [BUSINESSPROCESSOUTPUTSUMMARY].[PACKAGES].nodes(''/PACKAGES/ITEM'') T(c)' + char(13) +
' inner join dbo.[MKTPACKAGE] on [MKTPACKAGE].[ID] = T.c.value(''(ID)[1]'', ''uniqueidentifier'')' + char(13) +
' inner join dbo.[LETTERCODE] on [LETTERCODE].[ID] = [MKTPACKAGE].[LETTERCODEID]' + char(13) +
' where [LETTERCODE].[WORDFILE] is not null)' + char(13) +
' then 1 else 0 end) as [WORDMERGEENABLED],' + char(13) +
' convert(bit, case when exists (' + char(13) +
' select top 1 1' + char(13) +
' from [BUSINESSPROCESSOUTPUTSUMMARY].[PACKAGES].nodes(''/PACKAGES/ITEM'') T(c)' + char(13) +
' inner join dbo.[MKTPACKAGE] on [MKTPACKAGE].[ID] = T.c.value(''(ID)[1]'', ''uniqueidentifier'')' + char(13) +
' where [MKTPACKAGE].[NETCOMMUNITYTEMPLATEID] > 0)' + char(13) +
' then 1 else 0 end) as [NETCOMMUNITYEMAILJOBENABLED],' + char(13) +
' convert(bit, ' + char(13) +
' case when exists (' + char(13) +
' select top 1 1' + char(13) +
' from [BUSINESSPROCESSOUTPUTSUMMARY].[STATUS].nodes(''/STATUS/ITEM'') T(c)' + char(13) +
' where T.c.value(''(NETCOMMUNITYEMAILID)[1]'', ''integer'') > 0)' + char(13) +
' then 1 else 0 end) as [NETCOMMUNITYEMAILJOBSTARTED],' + char(13) +
' convert(bit, case when [PRESORTREPORT] is not null then 1 else 0 end) as [PRESORTREPORTENABLED],' + char(13) +
' convert(bit, case when (select [LABELTEMPLATE] from dbo.[BUSINESSPROCESSSTATUS] where [ID] = @BUSINESSPROCESSSTATUSID) is not null then 1 else 0 end) as [LABELMERGEENABLED],' + char(13) +
@EXCLUSIONSQL + char(13) +
'from dbo.[' + @TABLENAME + '] as [BUSINESSPROCESSOUTPUTSUMMARY]' + char(13) +
'inner join dbo.[EXPORTDEFINITION] on [EXPORTDEFINITION].[ID] = [BUSINESSPROCESSOUTPUTSUMMARY].[EXPORTDEFINITIONID]' + char(13) +
'order by [EXPORTDEFINITION].[NAME];';
exec sp_executesql @SQL, N'@BUSINESSPROCESSPARAMETERSETID uniqueidentifier, @BUSINESSPROCESSSTATUSID uniqueidentifier', @BUSINESSPROCESSPARAMETERSETID=@BUSINESSPROCESSPARAMETERSETID, @BUSINESSPROCESSSTATUSID=@BUSINESSPROCESSSTATUSID;
-- use this to get the SPWrap Code Generator to update the wrapper code:
-- 1. make the SPWRAP table's shape match that of the SQL above
-- 2. uncomment the two lines below and load the spec
-- 3. run the SPWrap Code Generator
-- 4. comment the two lines below out again and load the spec
-- make sure these lines are commented out before generating a revision for this spec!
--declare @SPWRAP table ([ID] uniqueidentifier, [PARAMETERSETID] uniqueidentifier, [TABLEKEY] nvarchar(50), [EXPORTDEFINITIONID] uniqueidentifier, [EXPORTDEFINITION] nvarchar(255), [PACKAGECOUNT] integer, [PACKAGES] nvarchar(max), [QUANTITY] integer, [STATUSCODE] tinyint, [STATUSDATE] datetime, [WORDMERGEENABLED] bit, [NETCOMMUNITYEMAILJOBENABLED] bit, [NETCOMMUNITYEMAILJOBSTARTED] bit, [PRESORTREPORTENABLED] bit, [LABELMERGEENABLED] bit, [EXCLUSION] bit)
--select * from @SPWRAP;
return 0;