How to identify the Security Tasks and Security Roles using the Support Debugging Tool
From the Microsoft Dynamics GP Application Level Security Series.
In the previous post, How to identify the Security Tasks and Security Roles associated with a specific window or report we used the syCurrentResources (SY09400) table to help us identify resources.
We can also use the Resource Information feature of the Support Debugging Tool for Microsoft Dynamics GP to translate a form's Display Name to a Dictionary ID and Resource ID. As we are also going to use the SQL Execute feature to run our query, we will be using Advanced Mode and so need to log in as a user with administrator permissions.
Below are the steps, please skip steps already completed previously:
- Click here for the links to download the tool from PartnerSource.
- Extract the archive files to your application folder.
- Launch Microsoft Dynamics GP and select Yes to include new code.
- Log into Microsoft Dynamics GP as 'sa' or a user with administrator permissions.
- From the menus click Microsoft Dynamics GP, click Tools, click Support Debugging Tool.
- From the Support Debugging Tool window, click Options, click Dex.ini Settings.
- On the Debug Tab, in the Support Debugging Tool Options section, select the Enable Debugger Advanced Mode Features checkbox. If a System Password is in use, you will need to enter it.
- Click OK to close the Dex.ini Settings window.
- From the Support Debugging Tool window, click Options, click Resource Information.
- On Resource Information window enter the Display Name and the first form which has that name will be displayed.
Edit: Build 10 of the Support Debugging Tool now includes a Security Information window which can be opened from the Security Profiler and Resource Information windows. This window will display the Security Tasks and Security Roles associated with the select resource and provide easy navigation to the security windows to make changes if desired. Just right click and select Security Information to open the window. For more information see Support Debugging Tool Build 10 released.
- Make a note of the Product ID and Resource ID values.
- From the Support Debugging Tool window, click Options, click SQL Execute. If a System Password is in use, you will need to enter it.
- Copy the following query into the script window, update the Product ID and Resource ID and click Execute. Screenshot below:
SQL Query
SELECT ISNULL(A.SECURITYROLEID,'') AS SECURITYROLEID, ISNULL(M.SECURITYROLENAME,'') AS SECURITYROLENAME, --ISNULL(M.SECURITYROLEDESC,'') AS SECURITYROLEDESC,
ISNULL(O.SECURITYTASKID,'') AS SECURITYTASKID, ISNULL(T.SECURITYTASKNAME,'') AS SECURITYTASKNAME, --ISNULL(T.SECURITYTASKDESC,'') AS SECURITYTASKDESC,
O.DICTID, O.SECRESTYPE, O.SECURITYID
FROM DYNAMICS.dbo.SY10700 O
FULL JOIN DYNAMICS.dbo.SY09000 T ON T.SECURITYTASKID = O.SECURITYTASKID
FULL JOIN DYNAMICS.dbo.SY10600 A ON A.SECURITYTASKID = T.SECURITYTASKID
FULL JOIN DYNAMICS.dbo.SY09100 M ON M.SECURITYROLEID = A.SECURITYROLEID
WHERE O.DICTID = <Product_ID> AND O.SECURITYID = <Resource_ID> AND O.SECRESTYPE = 2
Note: The <Product_ID> and <Resource_ID> placeholders represent the Product ID and Resource ID from the Resource Information window. For example, "Sales Transaction Entry" is Product ID = 0, Resource ID = 619.
Below are the example results based on a default installation for 'Sales Transaction Entry':
Result Set
SECURITYROLEID SECURITYROLENAME SECURITYTASKID SECURITYTASKNAME DICTID SECRESTYPE SECURITYID
----------------------- ------------------------------- ----------------------- ----------------------- ------- --------------- ----------
BOOKKEEPER* Bookkeeper TRX_SALES_001* Enter SOP transactions 0 2 619
CUSTOMER SERVICE REP* Customer Service Representative TRX_SALES_001* Enter SOP transactions 0 2 619
OPERATIONS MANAGER* Operations Manager TRX_SALES_001* Enter SOP transactions 0 2 619
SHIPPING AND RECEIVING* Shipping and Receiving TRX_SALES_001* Enter SOP transactions 0 2 619
If there are no Security Roles assigned to the Security Tasks, they will show as blank. If there are no Security Tasks assigned to the Operation, they will also show as blank.
To speed up the process, a settings file with the SQL Execute Query saved has has been attached to the bottom of this post which can be loaded using the Configuration Export/Import window.
David
15-Jan-2009: Add details of new Security Info window in Support Debugging Tool build 10.
30-Aug-2010: Added link to Update: How to identify the Security Tasks and Security Roles using the Support Debugging Tool.
Comments
Anonymous
November 18, 2008
Posting from DynamicAccounting.net http://msdynamicsgp.blogspot.com/2008/11/id-security-tasks-and-roles-using.htmlAnonymous
November 19, 2008
From the Microsoft Dynamics GP Application Level Security Series . When access is denied by the applicationAnonymous
November 23, 2008
One of the great things about blogging is the ability to inform and educate partners and customers onAnonymous
November 24, 2008
Posting from the Dynamics GP Blogster http://dynamicsgpblogster.blogspot.com/2008/11/microsoft-dynamics-gp-10-security.htmlAnonymous
September 07, 2016
hi sir,i m shekar ,right now i m working as an microsoft gp consultant in india,i would like to know ,how long the microsoft gpwill exist ,by knowing that i could make career decision according to your information,,kindly help me with this.Anonymous
September 07, 2016
Hi ShekarWhile no-one has a magic crystal ball to know the future, I know that there is already a roadmap for the next few years.A recent discussion with one of the Dynamics GP product managers basically said that while people are still using and selling Dynamics GP and it is bringing in an income to Microsoft it will continue to be developed and sold.I have focussed my career on Microsoft Dynamics GP since 1994.David- Anonymous
September 07, 2016
The comment has been removed- Anonymous
September 07, 2016
The comment has been removed- Anonymous
September 07, 2016
No sir, i didnt try that game myself.but sure will try it now,keep up the work sir.
- Anonymous
- Anonymous
- Anonymous