USP_DATALIST_MKTLISTSEGMENTS
Returns all the segments based on a particular list.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@LISTID | uniqueidentifier | IN | Input parameter indicating the context ID for the data list. |
@SEGMENTCATEGORYCODEID | uniqueidentifier | IN | Category |
@SEGMENTGROUPID | uniqueidentifier | IN | Group |
@SITEFILTERMODE | tinyint | IN | Sites |
@SITESSELECTED | xml | IN | Sites selected |
@SECURITYFEATUREID | uniqueidentifier | IN | Input parameter indicating the ID of the feature to use for site security checking. |
@SECURITYFEATURETYPE | tinyint | IN | Input parameter indicating the type of the feature to use for site security checking. |
@CURRENTAPPUSERID | uniqueidentifier | IN | Input parameter indicating the ID of the current user. |
Definition
Copy
CREATE procedure dbo.[USP_DATALIST_MKTLISTSEGMENTS]
(
@LISTID uniqueidentifier,
@SEGMENTCATEGORYCODEID uniqueidentifier = null,
@SEGMENTGROUPID uniqueidentifier = null,
@SITEFILTERMODE tinyint = 0,
@SITESSELECTED xml = null,
@SECURITYFEATUREID uniqueidentifier = null,
@SECURITYFEATURETYPE tinyint = null,
@CURRENTAPPUSERID uniqueidentifier = null
)
as
set nocount on;
select
[MKTSEGMENT].[ID],
[MKTSEGMENT].[NAME],
[MKTSEGMENT].[DESCRIPTION],
[MKTSEGMENT].[CODE],
[MKTSEGMENTCATEGORYCODE].[DESCRIPTION] as [CATEGORY],
[MKTSEGMENTGROUP].[NAME] as [GROUP],
dbo.[UFN_MKTSEGMENT_ISINUSE]([MKTSEGMENT].[ID]) as [ISINUSE],
[MKTSEGMENTLIST].[STATUS],
[MKTSEGMENTLIST].[TOTALRECORDCOUNT],
[MKTSEGMENTLIST].[ORDERDATE],
[MKTSEGMENTLIST].[EXPIRATIONDATE],
[MKTSEGMENTLIST].[NUMBEROFCONTACTS],
cast((case when [MKTSEGMENTLIST].[CONSOLIDATEDQUERYVIEWID] is null then 0 else 1 end) as bit) as [ISCONSOLIDATED],
[QUERYVIEWCATALOG].[ROOTOBJECT] as [SHOWINQUERYDESIGNER],
cast((case when [MKTSEGMENTLIST].[PARENTSEGMENTID] is null then 0 else 1 end) as bit) as [ISCHILDLISTSEGMENT],
[MKTSEGMENTREFRESHPROCESS].[ID] as [SEGMENTREFRESHPROCESSID],
dbo.[UFN_TRANSLATIONFUNCTION_SITE_GETNAME]([MKTSEGMENT].[SITEID]) as [SITE],
[MKTSEGMENT].[ISHISTORICAL]
from dbo.[MKTSEGMENTLIST]
inner join dbo.[MKTSEGMENT] on [MKTSEGMENT].[CURRENTSEGMENTLISTID] = [MKTSEGMENTLIST].[ID]
left join dbo.[MKTSEGMENTREFRESHPROCESS] on [MKTSEGMENTREFRESHPROCESS].[SEGMENTID] = [MKTSEGMENT].[ID]
left join dbo.[MKTSEGMENTCATEGORYCODE] on [MKTSEGMENTCATEGORYCODE].[ID] = [MKTSEGMENT].[SEGMENTCATEGORYCODEID]
left join dbo.[MKTGROUPSEGMENTS] on [MKTGROUPSEGMENTS].[SEGMENTID] = [MKTSEGMENT].[ID]
left join dbo.[MKTSEGMENTGROUP] on [MKTSEGMENTGROUP].[ID] = [MKTGROUPSEGMENTS].[SEGMENTGROUPID]
left join dbo.[QUERYVIEWCATALOG] on [QUERYVIEWCATALOG].[ID] = [MKTSEGMENTLIST].[QUERYVIEWCATALOGID]
where [MKTSEGMENTLIST].[LISTID] = @LISTID
and (@SEGMENTCATEGORYCODEID is null or [MKTSEGMENT].[SEGMENTCATEGORYCODEID] = @SEGMENTCATEGORYCODEID)
and (@SEGMENTGROUPID is null or [MKTSEGMENTGROUP].[ID] = @SEGMENTGROUPID)
and (
(
( -- check site security
select count(1)
from
(select [SITEID]
from dbo.[MKTSEGMENT] as [SEGMENTSITE]
where [SEGMENTSITE].[ID] = [MKTSEGMENT].[ID])
as [SEGMENTSITE]
where (dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1 or exists (select 1 from dbo.UFN_SITESFORUSERONFEATURE(@CURRENTAPPUSERID,@SECURITYFEATUREID,@SECURITYFEATURETYPE) where SITEID=[SEGMENTSITE].[SITEID] or (SITEID is null and [SEGMENTSITE].[SITEID] is null)))
) > 0
)
and
( -- apply site filter
@SITEFILTERMODE = 0
or [MKTSEGMENT].[SITEID] in (select [SITEID] from dbo.[UFN_SITE_BUILDDATALISTSITEFILTER](@CURRENTAPPUSERID, @SITEFILTERMODE, @SITESSELECTED))
)
)
order by [MKTSEGMENT].[NAME];
return 0;