USP_DATALIST_SELECTIONS
List of all Selections
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@NAME | nvarchar(100) | IN | Name |
@RECORDTYPEID | uniqueidentifier | IN | Type |
@ADHOC | bit | IN | Include ad-hoc |
@SMART | bit | IN | Include smart |
@OTHER | bit | IN | Include other |
@CURRENTAPPUSERID | uniqueidentifier | IN | Input parameter indicating the ID of the current user. |
@SITEFILTERMODE | tinyint | IN | Sites |
@SITESSELECTED | xml | IN | |
@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. |
@INCLUDEINACTIVE | bit | IN | Include inactive |
Definition
Copy
CREATE procedure dbo.[USP_DATALIST_SELECTIONS]
(
@NAME nvarchar(100) = null,
@RECORDTYPEID uniqueidentifier = null,
@ADHOC bit = 1,
@SMART bit = 1,
@OTHER bit = 1,
@CURRENTAPPUSERID uniqueidentifier = null,
@SITEFILTERMODE tinyint = 0,
@SITESSELECTED xml = null,
@SECURITYFEATUREID uniqueidentifier = null,
@SECURITYFEATURETYPE tinyint = null,
@INCLUDEINACTIVE bit = 0
)
as
set nocount on;
declare @ISSYSADMIN bit;
select @ISSYSADMIN = [ISSYSADMIN] from dbo.[APPUSER] where [ID] = @CURRENTAPPUSERID;
select
IDSR.ID AS SELECTIONID,
IDSR.[NAME] as [SELECTIONNAME],
coalesce(AQ.[NAME], SQ.[NAME], '') as [SOURCEQUERYNAME],
(case
when (AQ.ID is not null) then 'Ad-hoc'
when (SQ.ID is not null) then 'Smart'
else
'Other'
end) as [SOURCEQUERYTYPE],
coalesce(RECORDTYPE.NAME, '') as RECORDTYPE,
coalesce(QUERYCATEGORYCODE.DESCRIPTION, '') as CATEGORY,
(case IDSR.STATIC when 1 then 'Static' else 'Dynamic' end) as [SELECTIONTYPE],
IDSR.USEINQUERYDESIGNER as USEINQUERY,
IDSR.STATIC as ISSTATIC,
isnull(AQ.ID, SQ.ID) as [SOURCEQUERYID],
AQ.ID as ADHOCQUERYID,
SQ.ID as SMARTQUERYID,
IDSR.DESCRIPTION,
IDSR.OWNERID,
isnull(SITE.NAME, 'All sites') as [SITE],
IDSR.ACTIVE,
IDSR.DATECHANGED as CURRENTASOFDATE,
IDSR.NUMROWS as RECORDCOUNT
from
dbo.IDSETREGISTER as IDSR
-- Filter by installed products
left join dbo.SQLFUNCTIONCATALOG on SQLFUNCTIONCATALOG.FUNCTIONNAME = IDSR.DBOBJECTNAME
--AD HOC QUERY JOINS
left outer join dbo.IDSETREGISTERADHOCQUERY as IDSRA on IDSR.ID = IDSRA.IDSETREGISTERID
left outer join dbo.ADHOCQUERY as AQ on IDSRA.ADHOCQUERYID = AQ.ID
left outer join dbo.QUERYVIEWCATALOG as QVC on AQ.QUERYVIEWCATALOGID = QVC.ID
--SMART QUERY JOINS
left outer join dbo.IDSETREGISTERSMARTQUERYINSTANCE as IDSRS on IDSR.ID =IDSRS.IDSETREGISTERID
left outer join dbo.SMARTQUERYINSTANCE as SQ on IDSRS.SMARTQUERYINSTANCEID = SQ.ID
left outer join dbo.SMARTQUERYCATALOG as SQC on SQ.SMARTQUERYCATALOGID = SQC.ID
--Site join
left outer join dbo.SITE on IDSR.SITEID = SITE.ID
left outer join dbo.RECORDTYPE on IDSR.RECORDTYPEID = RECORDTYPE.ID
left outer join dbo.QUERYCATEGORYCODE on coalesce(AQ.QUERYCATEGORYCODEID, SQ.QUERYCATEGORYCODEID) = QUERYCATEGORYCODE.ID
where
(SQLFUNCTIONCATALOG.ID is null or
dbo.UFN_INSTALLEDPRODUCTS_OPTIONALPRODUCTSINSTALLED (
SQLFUNCTIONCATALOG.SQLFUNCTIONSPECXML.query (
'declare namespace common="bb_appfx_commontypes";
/*/common:InstalledProductList'
)
) = 1)
and ((@RECORDTYPEID is null) or (IDSR.RECORDTYPEID = @RECORDTYPEID))
and ((@ADHOC = 1) or (AQ.ID is null))
and ((@SMART = 1) or (SQ.ID is null))
and ((@OTHER = 1) or (AQ.ID is not null or SQ.ID is not null))
and ((@NAME is null or @NAME = '') or (IDSR.NAME like '%' + @NAME + '%'))
and not exists(select [ID] from dbo.[IMPORTSELECTIONPROCESS] where [IDSETREGISTERID] = [IDSR].[ID])
-- note that @CURRENTAPPUSERID is optional to maintain backwards compatibility
and ((@ISSYSADMIN = 1) or (@CURRENTAPPUSERID is null) or (dbo.UFN_SECURITY_APPUSER_GRANTED_SELECTION_IN_SYSTEMROLE(@CURRENTAPPUSERID, IDSR.ID) = 1))
and
(
IDSR.SITEID is null
or
(dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1 or exists (select 1 from dbo.UFN_SITESFORUSERONFEATURE(@CURRENTAPPUSERID,@SECURITYFEATUREID,@SECURITYFEATURETYPE) where SITEID=[IDSR].[SITEID] or (SITEID is null and [IDSR].[SITEID] is null)))
)
and
(
@SITEFILTERMODE = 0
or
IDSR.SITEID in (select SITEID from dbo.UFN_SITE_BUILDDATALISTSITEFILTER(@CURRENTAPPUSERID, @SITEFILTERMODE, @SITESSELECTED))
)
and (IDSR.ACTIVE = 1 or @INCLUDEINACTIVE = 1)
and IDSR.ISSYSTEM = 0;
return 0;