UFN_SECURITY_APPUSER_GRANTED_SECURITYATTRS_FORBATCHTEMPLATE

Returns a table of Constit Security Attribute IDs for which the user has been granted the BATCHTEMPLATE according to the role security groups.

Return

Return Type
table

Parameters

Parameter Parameter Type Mode Description
@APPUSERID uniqueidentifier IN
@BATCHTEMPLATEID uniqueidentifier IN

Definition

Copy


            CREATE function dbo.UFN_SECURITY_APPUSER_GRANTED_SECURITYATTRS_FORBATCHTEMPLATE
            (
                @APPUSERID uniqueidentifier,
                @BATCHTEMPLATEID uniqueidentifier
            )
            returns table 
            as
            /*Returns a row for every constituent security attribute that the the user has rights to according to record access security.*/
            return
            (
                select distinct
                    SYSTEMROLEAPPUSERCONSTITUENTSECURITY.CONSTITUENTSECURITYATTRIBUTEID
                from 
                    dbo.SYSTEMROLEPERM_BATCHTEMPLATE as ST
                    inner join dbo.SYSTEMROLEAPPUSER on SYSTEMROLEAPPUSER.SYSTEMROLEID = ST.SYSTEMROLEID
                    inner join dbo.SYSTEMROLEAPPUSERCONSTITUENTSECURITY on SYSTEMROLEAPPUSERCONSTITUENTSECURITY.SYSTEMROLEAPPUSERID = SYSTEMROLEAPPUSER.ID
                where 
                    SYSTEMROLEAPPUSER.APPUSERID = @APPUSERID and
                    SYSTEMROLEAPPUSER.CONSTITUENTSECURITYMODECODE = 2 and
                    ST.BATCHTEMPLATEID = @BATCHTEMPLATEID
                union
                select distinct
                    SYSTEMROLEAPPUSERCONSTITUENTSECURITY.CONSTITUENTSECURITYATTRIBUTEID
                from 
                    dbo.SYSTEMROLEPERM_BATCHTYPE as ST
                    inner join dbo.SYSTEMROLEAPPUSER on SYSTEMROLEAPPUSER.SYSTEMROLEID = ST.SYSTEMROLEID
                    inner join dbo.SYSTEMROLEAPPUSERCONSTITUENTSECURITY on SYSTEMROLEAPPUSERCONSTITUENTSECURITY.SYSTEMROLEAPPUSERID = SYSTEMROLEAPPUSER.ID
                    inner join dbo.BATCHTEMPLATE on BATCHTEMPLATE.BATCHTYPECATALOGID = ST.BATCHTYPECATALOGID
                where 
                    SYSTEMROLEAPPUSER.APPUSERID = @APPUSERID and 
                    SYSTEMROLEAPPUSER.CONSTITUENTSECURITYMODECODE = 2 and
                    BATCHTEMPLATE.ID = @BATCHTEMPLATEID
                union
                select distinct
                    SYSTEMROLEAPPUSERCONSTITUENTSECURITY.CONSTITUENTSECURITYATTRIBUTEID
                from 
                    dbo.SYSTEMROLEPERM_BATCHWORKFLOWSTATE as ST
                    inner join dbo.SYSTEMROLEAPPUSER on SYSTEMROLEAPPUSER.SYSTEMROLEID = ST.SYSTEMROLEID
                    inner join dbo.SYSTEMROLEAPPUSERCONSTITUENTSECURITY on SYSTEMROLEAPPUSERCONSTITUENTSECURITY.SYSTEMROLEAPPUSERID = SYSTEMROLEAPPUSER.ID
                    inner join dbo.BATCHWORKFLOWSTATE on BATCHWORKFLOWSTATE.ID = ST.BATCHWORKFLOWSTATEID
                    inner join dbo.BATCHWORKFLOW on BATCHWORKFLOW.ID = BATCHWORKFLOWSTATE.BATCHWORKFLOWID
                    inner join dbo.BATCHTEMPLATE on BATCHTEMPLATE.BATCHTYPECATALOGID = BATCHWORKFLOW.BATCHTYPECATALOGID
                where 
                    SYSTEMROLEAPPUSER.APPUSERID = @APPUSERID and 
                    SYSTEMROLEAPPUSER.CONSTITUENTSECURITYMODECODE = 2 and
                    BATCHTEMPLATE.ID = @BATCHTEMPLATEID
            )