Hello,
Here is a basic routine to call ACF00RBS in two ways.
1) return roles for a user
MVC XRLEYE,=CL4'XRBS' SET EYECATCHER
MVI XRLVER,XRLVCUR SET PLIST VERSION
MVI XRLFUNC,XRLRETG SET FUNCTION CODE
LA R15,XRLLN GET LENGTH OF CB
ST R15,XRLLEN SAVE LENGTH OF CB IN CB
LA R15,USERID POINT AT USERID
ST R15,XRLSRCID SAVE LID ADDRESS
OI XRLFLAG,XRLNOGRP SET NO GRPS OF GRPS (optional)
LA R1,XROLE POINT AT PLIST
*
*--------------------------------------------------------------
* CALL ACF00RBS TO GET THE LIST OF ROLES FOR THE LOGONID.
*--------------------------------------------------------------
*
CALL ACF00RBS CALL RBS BUILD ROUTINE
*
LTR R15,R15 CHECK RETURN CODE
BNZ NOROLES ..BAD, SAY NO ROLES
LTR R4,R1 GET ROLE TABLE ADDRESS
BZ NOROLES ..NONE, SAY NO ROLES
USING XROLTB,R4 ADDRESS ROLE TABLE
...
...
NOROLES EQU *
================================================================
2) return users for a role
MVC XRLEYE,=CL4'XRBS' SET EYECATCHER
MVI XRLVER,XRLVCUR SET PLIST VERSION
MVI XRLFUNC,XRLRETU SET FUNCTION CODE
LA R15,XRLLN GET LENGTH OF CB
ST R15,XRLLEN SAVE LENGTH OF CB IN CB
LA R15,ROLENAME POINT AT ROLED
ST R15,XRLSRCID SAVE ROLE ADDRESS
OI XRLFLAG,XRLNOGRP SET NO GRPS OF GRPS (optional)
LA R1,XROLE POINT AT PLIST
*
*----------------------------------------------------------
* CALL ACF00RBS TO GET THE LIST OF USERS FOR THE ROLE
*----------------------------------------------------------
*
CALL ACF00RBS CALL RBS BUILD ROUTINE
*
LTR R15,R15 CHECK RETURN CODE
BNZ RETURN ..BAD, SAY NO ROLES
LTR R4,R1 GET users TABLE ADDRESS
BZ RETURN ..NONE, SAY NO users
USING XROLTB,R4 ADDRESS ROLE TABLE
..
..
RETURN EQU *
================================================================
I hope this helps....
Regards,
Ross
Original Message:
Sent: 10-09-2019 02:59 PM
From: Barry Schrager
Subject: ACF00RBS (Search Role List) Example
Do you have an sample of a routine that calls ACF00RBS?
Thanks,
Barry
------------------------------
Barry Schrager
------------------------------