System User
The list of users displayed in "User Name" on the "User Access Control" tab can programatically be customized based on your application requirements. Some applications use non-system users in which case you will need to create your own subroutine to return the list of users. This is done by editing the subroutine RPT.GET_USER_LIST in the USERBP file.
The standard RPT.GET_USER_LIST subroutine for D3 is as follows:
You may make this subroutine as simple or as complex as required as long as the returned data is in the expected format.
Returned format
Parameter lstUsers: (single attribute, multi-value, 2 sub-values per value.)
lstUsers<1,1,1> = "User Name 1"
lstUsers<1,1,2> = "UserID1"
lstUsers<1,2,1> = "User Name 2"
lstUsers<1,2,2> = "UserID2"
*** WARNING *** When a custom RPT.GET_USER_LIST is used, you MUST also provide custom RPT.GET_USER_ID and RPT.CHECK_USER_ID subroutine to validate users.
The RPT.GET_USER_ID subroutine returns the currently logged on user.
The RPT.CHECK_USER_ID subroutine validates if a user Id exists.
The RPT.LOGON_USER subroutine validates a username and password combination. This subroutine is called by the Json/OData services to authenticate a user. This subroutine is only called when token based or basic authentication is used.