replied on September 11, 2023
Hi Jesse,
This SQL Stored Procedure should be enough to point you in the right direction.
USE [LFForms]
GO
/****** Object: StoredProcedure [dbo].[LF_GETFORMSSTATUS] Script Date: 12/09/2023 9:33:35 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[LF_GETFORMSSTATUS]
AS
BEGIN
SET NOCOUNT ON;
SELECT
bp.[name] AS [process_name],
bp.[date_updated] AS [Last_Updated],
bp.[unique_id] AS [form_ID],
bp.[created_by_snapshot_id] AS created_by,
bp.[updated_by_snapshot_id] AS updated_by,
u.[username] AS [username],
u.[displayname],
CASE
WHEN uir.[role_id] = 1 THEN 'Process Admin'
WHEN uir.[role_id] = 3 THEN 'Submitter'
WHEN uir.[role_id] = 7 THEN 'Business Manager'
ELSE CAST(uir.[role_id] AS VARCHAR(20))
END AS [role]
FROM [LFForms].[dbo].[cf_business_processes] AS bp
LEFT JOIN [LFForms].[dbo].[cf_users_in_role] AS uir ON uir.[bizprocess_applied] = bp.[bp_id]
LEFT JOIN [LFForms].[dbo].[cf_users] AS u ON u.[user_id] = uir.[user_id]
WHERE bp.[is_deleted] = 0 --Exclude deleted processes
AND bp.[is_activated] = 1 --Only review published processes
AND bp.[is_triggerpublic] = 1 --Public Forms
AND uir.[role_id] IS NOT NULL --Exclude processes with no user assignments
AND uir.[role_id] <> 0 --Exclude deleted assignments
AND uir.[role_id] <> 3 --Exclude submitters
AND uir.[role_id] <> 7 --Exclude business managers
UNION
SELECT
bp.[name] AS [process_name],
bp.[date_updated] AS [Last_Updated],
bp.[unique_id] AS [form_ID],
bp.[created_by_snapshot_id] AS created_by,
bp.[updated_by_snapshot_id] AS updated_by,
'GROUP' AS [username],
g.[full_group_name] AS [displayname],
CASE
WHEN gir.[role_id] = 1 THEN 'Process Admin'
WHEN gir.[role_id] = 3 THEN 'Submitter'
WHEN gir.[role_id] = 7 THEN 'Business Manager'
ELSE CAST(gir.[role_id] AS VARCHAR(20))
END AS [role]
FROM [LFForms].[dbo].[cf_business_processes] AS bp
LEFT JOIN [LFForms].[dbo].[cf_usergroups_in_role] AS gir ON gir.[bizprocess_applied] = bp.[bp_id]
LEFT JOIN [LFForms].[dbo].[cf_usergroups] AS g ON g.[group_id] = gir.[group_id]
WHERE bp.[is_deleted] = 0 --Exclude deleted processes
AND bp.[is_activated] = 1 --Only review published processes
AND bp.[is_triggerpublic] = 1 --Public Forms
AND gir.[role_id] IS NOT NULL --Exclude processes with no group assignments
AND gir.[role_id] <> 0 --Exclude deleted assignments
AND gir.[role_id] <> 3 --Exclude submitters
AND gir.[role_id] <> 7 --Exclude business managers
--AND g.[full_group_name] <> 'Forms Administration' --Exclude name of group who is allowed to be Process Admin
END
Let me know if you need any further assistance with this query.