I’ve recently been doing some work with a client which necessitated the backup of all databases using the Web Services for Microsoft Dynamics GP. The easiest way to determine which databases had the web services enabled, was to run a script checking the Workflow Setup (WF00100) table.
I took a copy of my return functional currency for all companies script and amended it to look at the web services.
If the web services has never been enabled, a company won’t be returned at all other wise a 1 for active or 0 for inactive will be returned.
/*
Created by Ian Grieve of azurecurve | Ramblings of an IT Professional (http://www.azurecurve.co.uk)
This code is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0 Int).
*/
CREATE TABLE #Workflow(
INTERID VARCHAR(5)
,CMPNYNAM VARCHAR(200)
,WEBSERVICESACTIVE VARCHAR(20)
)
GO
DECLARE @SQL NVARCHAR(MAX)
SELECT @SQL = STUFF((
SELECT
CHAR(13)
+ 'SELECT
''' + INTERID + '''
,''' + CMPNYNAM + '''
,EnableWFNotifService
FROM
' + INTERID + '.dbo.WF00100'
FROM
DYNAMICS.dbo.SY01500
FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 1, 1, '')
INSERT INTO #Workflow
EXEC sys.sp_executesql @SQL
GO
SELECT * FROM #Workflow ORDER BY INTERID
GO
DROP TABLE #Workflow
GO