The eighth and final view in the series, shows users with their access to companies, roles, tasks and security operations. I’ll state up front that this is probably the least useful fo the views due to the sheer number of rows that it returns.
CREATE VIEW [dbo].[uv_AZRCRV_UserAccessAndGrantedSecurityRolesWithTasksAndOperations] AS /* Created by Ian Grieve of azurecurve|Ramblings of a Dynamics GP Consultant (https://www.azurecurve.co.uk) This code is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 2.0 UK: England & Wales (CC BY-NC-SA 2.0 UK). */ SELECT ['User Master'].USERID AS 'User ID' ,['User Master'].USERNAME AS 'Username' ,['User Master'].USRCLASS AS 'User Class' ,ISNULL(['Class Master'].DSCRIPTN, '') AS 'User Class Description' ,ISNULL(['Company Master'].INTERID, '') AS 'Intercompany ID' ,ISNULL(['Company Master'].CMPNYNAM, '') AS 'Company Name' ,ISNULL(['Security Assignment User Role'].SECURITYROLEID, '') AS 'Security Role ID' ,ISNULL(['Security Roles Master'].SECURITYROLENAME, '') AS 'Security Role Name' ,ISNULL(['Security Role Task Assignment'].SECURITYTASKID, '') AS 'Security Task ID' ,ISNULL(['Security Task Master'].SECURITYTASKNAME, '') AS 'Security Task Name' ,ISNULL(['Security Task Master'].SECURITYTASKDESC, '') AS 'Security Task Description' ,ISNULL(['Security Resource Descriptions'].PRODNAME, '') AS 'Product Name' ,ISNULL(['Security Resource Descriptions'].Series_Name, '') AS 'Series Name' ,ISNULL(['Security Resource Descriptions'].DSPLNAME, '') AS 'Security Operation Name' ,ISNULL(['Security Resource Descriptions'].TYPESTR, '') AS 'Security Operation Type' FROM SY01400 AS ['User Master'] LEFT JOIN SY40400 AS ['Class Master'] ON ['Class Master'].USRCLASS = ['User Master'].USRCLASS LEFT JOIN SY60100 AS ['User-Company Access'] ON ['User-Company Access'].USERID = ['User Master'].USERID LEFT JOIN SY10500 AS ['Security Assignment User Role'] ON ['Security Assignment User Role'].CMPANYID = ['User-Company Access'].CMPANYID AND ['Security Assignment User Role'].USERID = ['User-Company Access'].USERID LEFT JOIN SY09100 AS ['Security Roles Master'] ON ['Security Roles Master'].SECURITYROLEID = ['Security Assignment User Role'].SECURITYROLEID LEFT JOIN SY10600 AS ['Security Role Task Assignment'] ON ['Security Role Task Assignment'].SECURITYROLEID = ['Security Roles Master'].SECURITYROLEID LEFT JOIN SY01500 AS ['Company Master'] ON ['Company Master'].CMPANYID = ['User-Company Access'].CMPANYID LEFT JOIN SY09000 AS ['Security Task Master'] ON ['Security Task Master'].SECURITYTASKID = ['Security Role Task Assignment'].SECURITYTASKID LEFT JOIN SY10700 AS ['Security Assignment Task Operations'] ON ['Security Assignment Task Operations'].SECURITYTASKID = ['Security Task Master'].SECURITYTASKID LEFT JOIN SY09400 AS ['Security Resource Descriptions'] ON ['Security Resource Descriptions'].SECURITYID = ['Security Assignment Task Operations'].SECURITYID GO GRANT SELECT ON uv_AZRCRV_UserAccessAndGrantedSecurityRolesWithTasksAndOperations TO DYNGRP GO