USP_DATALIST_QUEUEPROCESS
List of saved queue processes.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@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. |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_QUEUEPROCESS(
@CURRENTAPPUSERID uniqueidentifier,
@SITEFILTERMODE tinyint = 0,
@SITESSELECTED xml = null,
@SECURITYFEATUREID uniqueidentifier = null,
@SECURITYFEATURETYPE tinyint = null
)
with execute as caller
as
set nocount on;
select QUEUEPROCESS.ID,
QUEUEPROCESS.NAME,
QUEUEPROCESS.DESCRIPTION,
QUEUEPROCESS.DATEADDED,
CHANGEAGENT.USERNAME,
BPI.OWNERID as OWNERID,
coalesce(SITE.NAME, 'All Sites') SITES,
case
when [QUEUEPROCESSWITHMISSINGSTEP].ID is null then null
else 'RES:warning'
end as IMAGEKEY
from dbo.QUEUEPROCESS
left join dbo.CHANGEAGENT on QUEUEPROCESS.ADDEDBYID = CHANGEAGENT.ID
left join dbo.BUSINESSPROCESSINSTANCE BPI on QUEUEPROCESS.ID = BPI.BUSINESSPROCESSPARAMETERSETID
left join dbo.SITE on SITE.ID = BPI.SITEID
left join
(
select distinct
QUEUEPROCESS.ID
from
dbo.QUEUEPROCESS
outer apply QUEUEPROCESS.STEPLISTXML.nodes('/ArrayOfQueueProcessStep/QueueProcessStep') QUEUEPROCESSSTEP(ELEMENT)
left join dbo.V_BUSINESSPROCESSPARAMETERSETS on
V_BUSINESSPROCESSPARAMETERSETS.BUSINESSPROCESSID = QUEUEPROCESSSTEP.ELEMENT.value('@BusinessProcessID', 'uniqueidentifier')
and V_BUSINESSPROCESSPARAMETERSETS.PARAMETERSETID = QUEUEPROCESSSTEP.ELEMENT.value('@ParameterSetID', 'uniqueidentifier')
where
QUEUEPROCESSSTEP.ELEMENT.exist('@ParameterSetID') = 1
and V_BUSINESSPROCESSPARAMETERSETS.PARAMETERSETID is null
) as [QUEUEPROCESSWITHMISSINGSTEP] on QUEUEPROCESS.ID = [QUEUEPROCESSWITHMISSINGSTEP].ID
where (dbo.UFN_SECURITY_APPUSER_GRANTED_BUSINESSPROCESSINSTANCE_IN_SYSTEMROLE(@CURRENTAPPUSERID, QUEUEPROCESS.ID) = 1)
and (
(
(--Check site security
select count(*)
from dbo.UFN_SITEID_MAPFROM_QUEUEPROCESSID(QUEUEPROCESS.ID) as QUEUEPROCESSSITE
where (dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1 or exists (select 1 from dbo.UFN_SITESFORUSERONFEATURE(@CURRENTAPPUSERID,@SECURITYFEATUREID,@SECURITYFEATURETYPE) where SITEID=[QUEUEPROCESSSITE].[SITEID] or (SITEID is null and [QUEUEPROCESSSITE].[SITEID] is null)))
) > 0
)
and (--Apply site filter
@SITEFILTERMODE = 0
or BPI.SITEID in (
select SITEID
from dbo.UFN_SITE_BUILDDATALISTSITEFILTER (@CURRENTAPPUSERID, @SITEFILTERMODE, @SITESSELECTED)
)
)
)
order by QUEUEPROCESS.NAME;