GP Purchase Order Entry security

  • GP Purchase Order Entry security

    Posted by Howard Blitstein on June 20, 2023 at 2:02 pm

    I thought I was pretty good in GP Security, but I am having some difficulty in trying to add some security(or actually take away security) to the Purchase Order Entry window. Over the years numerous GP admins and support staff have added multiple custom roles and tasks which makes seeing what users have what security confusing. I am trialing GP Power Tools and David has been great answering questions, but I think I may be going to the well too many times in the trial period. I’ve even used David’s scripts that read the SY09400 table, but what I am seeing is that most things I find are showing what a user has. I am really looking to find out what roles or tasks are giving users access to create Purchase orders. At this point I am will to try anything, and it’s probably something simple and I am overthinking this whole thing.

    Thanks

    Rich LaMarche replied 3 months ago 2 Members · 1 Reply
  • 1 Reply
  • Rich LaMarche

    Member
    June 20, 2023 at 2:50 pm

    If you have the ability to run SQL which it sounds like you do, I use the following query based on the window display name to return all of the things that have access to that window. I pasted it below as text as I figured it might be easier to deal with than an attachment.

    --The following query is used to display security roles and security tasks that are associated with a specific window 
    --or with a specific report. You can specify the window or the report by changing the display name in the last line of
    --the query.
    SELECT ISNULL(A.SECURITYROLEID, '') AS   SECURITYROLEID
    , ISNULL(M.SECURITYROLENAME, '') AS SECURITYROLENAME
    , ISNULL(O.SECURITYTASKID, '') AS SECURITYTASKID
    , ISNULL(T.SECURITYTASKNAME, '') AS SECURITYTASKNAME
    , R.PRODNAME
    , R.TYPESTR
    , R.DSPLNAME
    , R.RESTECHNAME
    , R.DICTID
    , R.SECRESTYPE
    , R.SECURITYID
    FROM DYNAMICS.dbo.SY09400 R
    FULL JOIN DYNAMICS.dbo.SY10700 O
    ON R.DICTID = O.DICTID
    AND O.SECRESTYPE = R.SECRESTYPE
    AND O.SECURITYID = R.SECURITYID
    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 R.DSPLNAME = 'User Setup'
    --WHERE R.DSPLNAME = 'Customer Maintenance Options'
    --WHERE R.DSPLNAME = 'FS-Meter Master'
    --WHERE R.DSPLNAME = 'Garnishment Maximum Setup'
    WHERE R.DSPLNAME = 'Purchase Order inquiry zoom'
    --WHERE R.DSPLNAME IN ( 'Budget Import Exception Report')
    --where prodname = 'Excel-Based Budgeting'
    --where R.RESTECHNAME = 'UM_Maintenance_Group_Schedule_lookup'
    --where r.TYPESTR = 'SmartList Objects'
    -- and r.DSPLNAME like '%purchase requisitions%'
    order by 1

Welcome to our new site!

Here you will find a wealth of information created for people  that are on a mission to redefine business models with cloud techinologies, AI, automation, low code / no code applications, data, security & more to compete in the Acceleration Economy!