UFN_SECURITY_APPUSER_GRANTED_SECURITYATTRS_FORBATCH

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

Return

Return Type
table

Parameters

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

Definition

Copy


            CREATE function dbo.UFN_SECURITY_APPUSER_GRANTED_SECURITYATTRS_FORBATCH
            (
                @APPUSERID uniqueidentifier,
                @BATCHID 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.BATCH on BATCH.BATCHTEMPLATEID = [ST].BATCHTEMPLATEID
                    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 
                    BATCH.ID = @BATCHID
                union
                select distinct
                      SYSTEMROLEAPPUSERCONSTITUENTSECURITY.CONSTITUENTSECURITYATTRIBUTEID
                from 
                    dbo.SYSTEMROLEPERM_BATCHTYPE as [ST]
                    inner join dbo.SYSTEMROLEAPPUSER on SYSTEMROLEAPPUSER.SYSTEMROLEID = [ST].SYSTEMROLEID
                    inner join dbo.BATCHTEMPLATE on BATCHTEMPLATE.BATCHTYPECATALOGID = [ST].BATCHTYPECATALOGID
                    inner join dbo.BATCH on BATCH.BATCHTEMPLATEID = BATCHTEMPLATE.ID
                    inner join dbo.SYSTEMROLEAPPUSERCONSTITUENTSECURITY on SYSTEMROLEAPPUSERCONSTITUENTSECURITY.SYSTEMROLEAPPUSERID = SYSTEMROLEAPPUSER.ID
                where 
                    SYSTEMROLEAPPUSER.APPUSERID = @APPUSERID and 
                    SYSTEMROLEAPPUSER.CONSTITUENTSECURITYMODECODE = 2 and 
                    BATCH.ID = @BATCHID
                union
                select distinct
                    SYSTEMROLEAPPUSERCONSTITUENTSECURITY.CONSTITUENTSECURITYATTRIBUTEID
                from 
                    dbo.SYSTEMROLEPERM_BATCHWORKFLOWSTATE as [ST]
                    inner join dbo.SYSTEMROLEAPPUSER on SYSTEMROLEAPPUSER.SYSTEMROLEID = [ST].SYSTEMROLEID
                    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
                    inner join dbo.BATCH on BATCH.BATCHTEMPLATEID = BATCHTEMPLATE.ID
                    inner join dbo.SYSTEMROLEAPPUSERCONSTITUENTSECURITY on SYSTEMROLEAPPUSERCONSTITUENTSECURITY.SYSTEMROLEAPPUSERID = SYSTEMROLEAPPUSER.ID
                where 
                    SYSTEMROLEAPPUSER.APPUSERID = @APPUSERID and 
                    SYSTEMROLEAPPUSER.CONSTITUENTSECURITYMODECODE = 2 and 
                    BATCH.ID = @BATCHID
            )