UFN_QUERY_IMPORTSELECTIONS
Return
Return Type |
---|
table |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@CURRENTAPPUSERID | uniqueidentifier | IN | |
@SITEFILTERMODE | tinyint | IN | |
@SITESSELECTED | xml | IN | |
@SECURITYFEATUREID | uniqueidentifier | IN | |
@SECURITYFEATURETYPE | tinyint | IN |
Definition
Copy
CREATE function dbo.[UFN_QUERY_IMPORTSELECTIONS]
(
@CURRENTAPPUSERID uniqueidentifier = null,
@SITEFILTERMODE tinyint = 0,
@SITESSELECTED xml = null,
@SECURITYFEATUREID uniqueidentifier = null,
@SECURITYFEATURETYPE tinyint = null
)
returns @SELECTIONS table
(
[ID] uniqueidentifier,
[NAME] nvarchar(255),
[RECORDTYPEID] uniqueidentifier,
[RECORDTYPE] nvarchar(50),
[CATEGORYID] uniqueidentifier,
[CATEGORY] nvarchar(100),
[USEINQUERYDESIGNER] bit,
[STATUSCODE] tinyint,
[STATUS] nvarchar(50),
[DESCRIPTION] nvarchar(1024),
[OWNERID] uniqueidentifier,
[OWNER] nvarchar(128),
[SITE] nvarchar(255),
[IDSETREGISTERID] uniqueidentifier
)
with execute as caller as
begin
declare @ISSYSADMIN bit;
select @ISSYSADMIN = [ISSYSADMIN] from dbo.[APPUSER] where [ID] = @CURRENTAPPUSERID;
insert into @SELECTIONS
(
[ID],
[NAME],
[RECORDTYPEID],
[RECORDTYPE],
[CATEGORYID],
[CATEGORY],
[USEINQUERYDESIGNER],
[STATUSCODE],
[STATUS],
[DESCRIPTION],
[OWNERID],
[OWNER],
[SITE],
[IDSETREGISTERID]
)
select
[IMPORTSELECTIONPROCESS].[ID],
[IMPORTSELECTIONPROCESS].[NAME],
[RECORDTYPE].[ID] as [RECORDTYPEID],
isnull([RECORDTYPE].[NAME], '') as [RECORDTYPE],
isnull([QUERYCATEGORYCODE].[ID], '00000000-0000-0000-0000-000000000001') as [CATEGORYID],
isnull([QUERYCATEGORYCODE].[DESCRIPTION], '') as [CATEGORY],
[IMPORTSELECTIONPROCESS].[USEINQUERYDESIGNER],
[IMPORTSELECTIONPROCESS].[STATUSCODE],
[IMPORTSELECTIONPROCESS].[STATUS],
[IMPORTSELECTIONPROCESS].[DESCRIPTION],
[IMPORTSELECTIONPROCESS].[OWNERID],
[APPUSER].[USERNAME] as [OWNER],
isnull([SITE].[NAME], 'All sites') as [SITE],
[IMPORTSELECTIONPROCESS].[IDSETREGISTERID]
from dbo.[IMPORTSELECTIONPROCESS]
left join dbo.[RECORDTYPE] on [RECORDTYPE].[ID] = [IMPORTSELECTIONPROCESS].[RECORDTYPEID]
left join dbo.[QUERYCATEGORYCODE] on [QUERYCATEGORYCODE].[ID] = [IMPORTSELECTIONPROCESS].[QUERYCATEGORYCODEID]
left join dbo.[SITE] on [SITE].[ID] = [IMPORTSELECTIONPROCESS].[SITEID]
left join dbo.[APPUSER] on [APPUSER].[ID] = [IMPORTSELECTIONPROCESS].[OWNERID]
where
(
(@ISSYSADMIN = 1) or
(@CURRENTAPPUSERID is null) or
([IMPORTSELECTIONPROCESS].[IDSETREGISTERID] is null) or
(dbo.[UFN_SECURITY_APPUSER_GRANTED_SELECTION_IN_SYSTEMROLE](@CURRENTAPPUSERID, [IMPORTSELECTIONPROCESS].[IDSETREGISTERID]) = 1)
)
and
(
[IMPORTSELECTIONPROCESS].[SITEID] is null
or
(dbo.[UFN_APPUSER_ISSYSADMIN](@CURRENTAPPUSERID) = 1 or exists (select 1 from dbo.[UFN_SITESFORUSERONFEATURE](@CURRENTAPPUSERID,@SECURITYFEATUREID,@SECURITYFEATURETYPE) where [SITEID]=[IMPORTSELECTIONPROCESS].[SITEID] or ([SITEID] is null and [IMPORTSELECTIONPROCESS].[SITEID] is null)))
)
and
(
@SITEFILTERMODE = 0
or
[IMPORTSELECTIONPROCESS].[SITEID] in (select [SITEID] from dbo.[UFN_SITE_BUILDDATALISTSITEFILTER](@CURRENTAPPUSERID, @SITEFILTERMODE, @SITESSELECTED))
);
return;
end