UFN_QUERY_EXPORTPROCESSLISTNOCONTEXT
Return
Return Type |
---|
table |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@SITEFILTERMODE | tinyint | IN | |
@SITESSELECTED | xml | IN | |
@CURRENTAPPUSERID | uniqueidentifier | IN | |
@SECURITYFEATUREID | uniqueidentifier | IN | |
@SECURITYFEATURETYPE | tinyint | IN |
Definition
Copy
CREATE function dbo.[UFN_QUERY_EXPORTPROCESSLISTNOCONTEXT]
(
@SITEFILTERMODE tinyint = 0,
@SITESSELECTED xml = null,
@CURRENTAPPUSERID uniqueidentifier,
@SECURITYFEATUREID uniqueidentifier = null,
@SECURITYFEATURETYPE tinyint = null
)
returns table
as return (
with [ISSYSADMIN] ([ISSYSADMIN]) as (
select [ISSYSADMIN] from dbo.[APPUSER] where [ID] = @CURRENTAPPUSERID
)
select
[EXPORTPROCESS].[ID],
[EXPORTPROCESS].[NAME],
[EXPORTPROCESS].[DESCRIPTION],
case when [ADHOCQUERY].[ID] is not null then 'Ad-hoc query'
when [SMARTQUERYINSTANCE].[ID] is not null then 'Smart query instance'
else 'Export definition' end as [EXPORTTYPE],
case when [ADHOCQUERY].[NAME] is null then case when [SMARTQUERYINSTANCE].[NAME] is null then [IDSETREGISTER].[NAME] else [SMARTQUERYINSTANCE].[NAME] end else [ADHOCQUERY].[NAME] end as [QUERYSELECTION],
[EXPORTDEFINITION].[NAME] as [EXPORTDEFINITION],
[BUSINESSPROCESSSTATUS].[STARTEDON] as [LASTRUNDATE],
cast([BUSINESSPROCESSSTATUS].[ENDEDON] - [BUSINESSPROCESSSTATUS].[STARTEDON] as time) as [LASTRUNDURATION],
case when [APPUSER].[DISPLAYNAME] = '' then [APPUSER].[USERNAME] else [DISPLAYNAME] end as [LASTRUNBY_USERNAME],
[BUSINESSPROCESSSTATUS].[NUMBERPROCESSED] as [LASTRUNRESULTCOUNT],
isnull([BUSINESSPROCESSSTATUS].[STATUS], 'Not started') as [LASTRUNSTATUS],
[BUSINESSPROCESSINSTANCE].[OWNERID] as [OWNERID],
coalesce([SITE].[NAME], 'All sites') as [SITES],
[EXPORTPROCESS].[SMARTQUERYINSTANCEID],
[EXPORTPROCESS].[ADHOCQUERYID]
from dbo.[EXPORTPROCESS]
left outer join dbo.[ADHOCQUERY] on [EXPORTPROCESS].[ADHOCQUERYID] = [ADHOCQUERY].[ID]
left outer join dbo.[UFN_ADHOCQUERY_APPLYQUERYVIEWSECURITY](@CURRENTAPPUSERID) as [GRANTEDADHOCQUERIES] on [GRANTEDADHOCQUERIES].[ID] = [ADHOCQUERY].[ID]
left outer join dbo.[IDSETREGISTERADHOCQUERY] on [EXPORTPROCESS].[ADHOCQUERYID] = [IDSETREGISTERADHOCQUERY].[ADHOCQUERYID]
left outer join dbo.[SMARTQUERYINSTANCE] on [EXPORTPROCESS].[SMARTQUERYINSTANCEID] = [SMARTQUERYINSTANCE].[ID]
left outer join dbo.[UFN_SECURITY_GETGRANTEDSMARTQUERIESFORUSER](@CURRENTAPPUSERID) as [GRANTEDSMARTQUERIES] on [GRANTEDSMARTQUERIES].[SMARTQUERYCATALOGID] = [SMARTQUERYINSTANCE].[SMARTQUERYCATALOGID]
left outer join dbo.[IDSETREGISTERSMARTQUERYINSTANCE] on [EXPORTPROCESS].[SMARTQUERYINSTANCEID] = [IDSETREGISTERSMARTQUERYINSTANCE].[SMARTQUERYINSTANCEID]
left outer join dbo.[BUSINESSPROCESSINSTANCE] on [EXPORTPROCESS].[ID] = [BUSINESSPROCESSINSTANCE].[BUSINESSPROCESSPARAMETERSETID]
left outer join dbo.[SITE] on [SITE].[ID] = [BUSINESSPROCESSINSTANCE].[SITEID]
left outer join dbo.[UFN_SITESFORUSERONFEATURE](@CURRENTAPPUSERID, @SECURITYFEATUREID, @SECURITYFEATURETYPE) as [GRANTEDSITES] on [GRANTEDSITES].[SITEID] = [BUSINESSPROCESSINSTANCE].[SITEID]
left outer join dbo.[EXPORTDEFINITION] on [EXPORTDEFINITION].[ID] = [EXPORTPROCESS].[EXPORTDEFINITIONID]
left outer join dbo.[UFN_EXPORTDEFINITION_APPLYQUERYVIEWSECURITY](@CURRENTAPPUSERID) as [GRANTEDEXPORTDEFINITIONS] on [GRANTEDEXPORTDEFINITIONS].[ID] = [EXPORTDEFINITION].[ID]
left outer join dbo.[IDSETREGISTER] on [IDSETREGISTER].[ID] = [EXPORTPROCESS].[SELECTIONID]
left outer join dbo.[IDSETREGISTERADHOCQUERY] as [IDSETREGISTERADHOCQUERY2] on [IDSETREGISTER].[ID] = [IDSETREGISTERADHOCQUERY2].[IDSETREGISTERID]
left outer join dbo.[IDSETREGISTERSMARTQUERYINSTANCE] as [IDSETREGISTERSMARTQUERYINSTANCE2] on [IDSETREGISTER].[ID] = [IDSETREGISTERSMARTQUERYINSTANCE2].[IDSETREGISTERID]
outer apply (
select
top 1
[STARTEDON],
[STATUS],
[STARTEDBYUSERID],
[ENDEDON],
[NUMBERPROCESSED],
[BUSINESSPROCESSPARAMETERSETID]
from dbo.[BUSINESSPROCESSSTATUS]
where [BUSINESSPROCESSSTATUS].[BUSINESSPROCESSPARAMETERSETID] = [BUSINESSPROCESSINSTANCE].[BUSINESSPROCESSPARAMETERSETID]
order by [STARTEDON] desc
) as [BUSINESSPROCESSSTATUS]
left outer join dbo.[APPUSER] on [APPUSER].[ID] = [BUSINESSPROCESSSTATUS].[STARTEDBYUSERID]
cross apply [ISSYSADMIN]
where
-- start security check
(
[ISSYSADMIN].[ISSYSADMIN] = 1
or
(
case when [ADHOCQUERY].[ID] is not null then case when [GRANTEDADHOCQUERIES].[ID] is not null then 1 else 0 end else 1 end = 1
and
case when [SMARTQUERYINSTANCE].[ID] is not null then case when [GRANTEDSMARTQUERIES].[SMARTQUERYCATALOGID] is not null then 1 else 0 end else 1 end = 1
and
case when [EXPORTDEFINITION].[ID] is not null then case when [GRANTEDEXPORTDEFINITIONS].[ID] is not null then 1 else 0 end else 1 end = 1
and
dbo.[UFN_SECURITY_APPUSER_GRANTED_BUSINESSPROCESSINSTANCE_IN_SYSTEMROLE](@CURRENTAPPUSERID, [EXPORTPROCESS].[ID]) = 1
and
-- check site security
([GRANTEDSITES].[SITEID] is not null or [BUSINESSPROCESSINSTANCE].[SITEID] is null)
)
)
-- end security check
and
(
@SITEFILTERMODE = 0
or
[BUSINESSPROCESSINSTANCE].[SITEID] in
(
select [SITEID]
from dbo.[UFN_SITE_BUILDDATALISTSITEFILTER](@CURRENTAPPUSERID, @SITEFILTERMODE, @SITESSELECTED)
)
)
)