My Controller needs to review GP security and wants a report to see window and report
access based on the GP menu structure, Microsoft Dynamics GP, Transactions, Inquiry,
Reports, and Cards.
I have written other Crystal Reports using the GP 10 Security tables. Is there a way to group data from SY09400 (joined with other tables, if necessary) to provide the DSPLNAME, grouped by the menu options, Microsoft Dynamics GP, Transactions, Inquiry, Reports, and Cards?
David
*******
SQL 2005 query or Crystal 2008 suggestions welcome...
*This post is locked for comments
Hello David,
The Support Debugging Tool was created by a developer and as you mentioned, gives the look/feel of the old Advanced Security window that was present in GP 9.0 and prior.
If you require assistance to use the tool, or have feedback or suggestions for improvements or new features, please post your question or comments on the public Dynamics GP Developer newsgroup (microsoft.public.dynamics.gp.developer). You can use the link below to access a web-based interface to the newsgroup.
www.microsoft.com/.../default.mspx
Please prefix any subject lines with the initials “SDT:".
The closest we have to that in GP 10.0 and GP 2010 is when you go into the User Security window, double-click on a security role, which will open that window, then double-click on a security task which will open that window, in the Security Tasks Setup window, this works the same as the regular 'Security' window as in prior versions where you could select the product, type and series to get a list of objects under what you select.
This can be done for windows, reports, posting permissions, custom reports, etc. While it isn't the same look/feel as Advanced Security, it is what is available in GP 2010 and GP 10.0.
There are Resource Descriptions and the SY09400 table that gives physical, display and technical information but unfortunately, both are limited to only reports and windows and tables.
Thank you
Why? I didn't get a good anser to this yet?
Closing
I have used Victoria's scripts and developed several useful Crystal Reports of my own, but the I have to work with our Controller (Accounting) to decide who gets access to what. Visually and conceptually, security access is easiest for non-IT people when it is based on the menus they see and use. As Leslie mentions, that is the way it use to work pre v10.
I should point out that the Support Debugging Tool seems to have a Menu-based breakdown of the screens
Support Debugging Tool ->Options button -> Security Information -> drop down menu ->
Select Form (By Menu) -> Menu Explorer
How does that tool do it?
Is there some cross table in it with Display Name, Technical Name, Physical Name, MenuName?
Thank you for the additional information Leslie
This is exactly the way Advanced Security (pre v 10) used to work. You could manage security according to the cascading menu. Victoria Yudin has several very helpful scripts regarding security on her blog. Here's one that may help you get started:
victoriayudin.com/.../sql-view-with-security-and-smartlist-details-in-gp
Hello DavidM
This one is more complex as we don't have a report or script that gives window and report access based on the GP menu structure.
I'm sure a script and/or report could be created to pull this information, but we don't normally even offer this through regular support cases as it is more a billable service we would offer.
That being said, what I do have readily available is the following that you could use to at least get started on something like this:
If you want to find what security roles and tasks that give users access to a specific window, such as the 'Bank Deposit Entry' window (Transactions > Financial > Bank Deposits), first you could use this script:
Select * from Dynamics..SY09400 Where DSPLNAME = 'Bank Deposit Entry'
Using the information from this script, you could then use the dictionary ID, secrestype and securityID values to put them into the following script which will provide the security roles and tasks that give users access to this 'Bank Deposit Entry' window:
SELECT a.Securityroleid, b.securitytaskid, b.secrestype, b.securityid,b.dictid
FROM DYNAMICS.dbo.SY10600 a
JOIN
DYNAMICS.dbo.SY10700 b
ON a.securitytaskid = b.securitytaskid
WHERE b.dictid = 0 and b.secrestype = 2 and b.SecurityID = 703
ORDER BY Securityroleid
Using this same information, you can find which users are assigned access to the example 'Bank Deposit Entry' window, using this script:
select * from Dynamics..SY10000 where secrestype = 2 and securityid = 703
These are the basic scripts to use, it would just entail more complex script to pull all of the data for all the GP menus at the same time.
Thank you
Stay up to date on forum activity by subscribing. You can also customize your in-app and email Notification settings across all subscriptions.
André Arnaud de Cal... 291,240 Super User 2024 Season 2
Martin Dráb 230,149 Most Valuable Professional
nmaenpaa 101,156