USP_DATALIST_COMMITMULTIPLEBATCHESPROCESS
This datalist returns a list of acknowledgment and receipt 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_COMMITMULTIPLEBATCHESPROCESS
(
@CURRENTAPPUSERID uniqueidentifier = null,
@SITEFILTERMODE tinyint = 0,
@SITESSELECTED xml = null,
@SECURITYFEATUREID uniqueidentifier = null,
@SECURITYFEATURETYPE tinyint = null
)
as
set nocount on;
--Filter as many processes as we can so the later join to BUSINESSPROCESSSTATUS is as small as possible
declare @BATCHESCOMMITPROCESS_FILTERED as table
(
ID uniqueidentifier,
OWNERID uniqueidentifier,
SITEID uniqueidentifier
);
insert into
@BATCHESCOMMITPROCESS_FILTERED
select
BATCHESCOMMITPROCESS.ID,
BPI.OWNERID,
BPI.SITEID
from
dbo.BATCHESCOMMITPROCESS
left join
dbo.BUSINESSPROCESSINSTANCE as BPI on BPI.BUSINESSPROCESSPARAMETERSETID = BATCHESCOMMITPROCESS.ID
where
(--Check site security
(
select
count(*)
from
dbo.UFN_SITEID_MAPFROM_COMMITMULTIPLEBATCHESPROCESSID(BATCHESCOMMITPROCESS.ID) as BATCHESCOMMITPROCESSSITE
where
(dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1 or exists (select 1 from dbo.UFN_SITESFORUSERONFEATURE(@CURRENTAPPUSERID,@SECURITYFEATUREID,@SECURITYFEATURETYPE) where SITEID=[BATCHESCOMMITPROCESSSITE].[SITEID] or (SITEID is null and [BATCHESCOMMITPROCESSSITE].[SITEID] is null)))
) > 0
)
and
(--Apply site filter
@SITEFILTERMODE = 0
or
BPI.SITEID in
(
select
SITEID
from
dbo.UFN_SITE_BUILDDATALISTSITEFILTER (@CURRENTAPPUSERID, @SITEFILTERMODE, @SITESSELECTED)
)
)
and
(-- Check that user has permission to view business process instance
dbo.UFN_SECURITY_APPUSER_GRANTED_BUSINESSPROCESSINSTANCE_IN_SYSTEMROLE(@CURRENTAPPUSERID, BATCHESCOMMITPROCESS.ID) = 1
);
with BPSTATUS_AGGREGATE as
(
select
BUSINESSPROCESSPARAMETERSETID,
max(STARTEDON) as STARTEDON_MAX
from
dbo.BUSINESSPROCESSSTATUS
group by
BUSINESSPROCESSPARAMETERSETID
)
select
BCP.ID,
BCP.NAME,
BCP.[DESCRIPTION],
convert(nvarchar(10), BPSTATUS_AGGREGATE.STARTEDON_MAX, 101) + right(convert(nvarchar(20), BPSTATUS_AGGREGATE.STARTEDON_MAX, 0), 8),
coalesce(SITE.NAME, 'All Sites') as SITES,
BCP_FILTER.OWNERID,
BPSTATUS_AGGREGATE.STARTEDON_MAX
from
@BATCHESCOMMITPROCESS_FILTERED as BCP_FILTER
inner join
dbo.BATCHESCOMMITPROCESS as BCP on BCP.ID = BCP_FILTER.ID
left join
dbo.[SITE] on [SITE].ID = BCP_FILTER.SITEID
left join
BPSTATUS_AGGREGATE on BPSTATUS_AGGREGATE.BUSINESSPROCESSPARAMETERSETID = BCP_FILTER.ID;