Open List Network Server Users (QFPADOLU) API


  Required Parameter Group:

1 Receiver variable Output Char(*)
2 Length of receiver variable Input Binary(4)
3 List information Output Char(80)
4 Number of records to return Input Binary(4)
5 Format name Input Char(8)
6 Profile type Input Char(10)
7 Profile name Input Char(10)
8 Windows® domain name qualifier Input Char(*)
9 Length of Windows domain name qualifier Input Binary(4)
10 Windows server name qualifier Input Char(*)
11 Length of Windows server name qualifier Input Binary(4)
12 Error code I/O Char(*)

  Default Public Authority: *USE

  Threadsafe: No

The Open List Network Server Users (QFPADOLU) API generates a list of Windows domains and servers, and the associated profiles enrolled to them in the network. The list will be returned grouped by domain or server name, and within the domain or server, by profile name.


Authorities and Locks

Authority to User Profiles in List of Authorized Users
*READ
Note: Only those profiles to which you have *READ authority are returned in the list.

Required Parameter Group

Receiver variable
OUTPUT; CHAR(*)

The receiver variable that receives the information requested. You can specify the size of the area to be smaller than the format requested as long as you specify the length parameter correctly. As a result, the API returns only the data the area can hold.

Length of receiver variable
INPUT; BINARY(4)

The length of the receiver variable provided. The length of the receiver variable parameter may be specified up to the size of the receiver variable specified in the user program. If the length of the receiver variable parameter specified is larger than the allocated size of the receiver variable specified in the user program, the results are not predictable. The minimum length is 0 bytes.

List information
OUTPUT; CHAR(80)

Information about the list created by this program. For a description of the layout of this parameter, see Format of List Information.

Number of records to return
INPUT; BINARY(4)

The number of records in the list to put into the receiver variable. The value must be 0 or greater.

Format name
INPUT; CHAR(8)

The format of the information returned. You must use the following format name:

DOLU0100 Returns records for user and associated group records, or records for group and associated user records.
DOLU0150 Returns records for user and associated group records, or records for group and associated user records. The difference between this format and format DOLU0100 is that this format includes the Windows user name in user records.

Note: The Windows user name could be different than the enrolled IBM® i user name if Enterprise Identity Mapping (EIM) is being used for the enrolled user.

DOLU0200 Returns a short version of records for user and associated group records, or records for group and associated user records.

Note: This format is faster than formats DOLU0100 and DOLU0150.


Profile type
INPUT; CHAR(10)

Whether profile information returned is on a user profile or group profile basis. Values can be:

*USER Retrieve information about profiles defined as users on the selected domains or servers. The group information for each group of which the user is a member is also returned.
*GROUP Retrieve information about profiles defined as groups on the selected domains or servers. The users belonging to each group are also returned.
*USERBASIC Retrieve information about profiles defined as users on the selected domains or servers. All user records are returned, without the associated group records.

Note: This option is faster than the *USER option.

*GRPBASIC Retrieve information about profiles defined as groups on the selected domains or servers. All group records are returned, without the associated user records.

Note: This option is faster than the *GROUP option.

*ALL Retrieve both group and user information for a single domain or server. All group records are returned first, without the associated user records. Then all user records are returned, without the associated group records. The records will be returned in the *USER format if a specific user profile is requested.
*NONE Retrieve information for domains and servers, but not for users or groups. Records for domains are returned first, followed by records for servers. No user or group records are returned.

Profile name
INPUT; CHAR(10)

The names of the profiles to be included in the list. A specific profile can be specified, or the profile name can be specified with a generic name (such as 'USER*') to retrieve a list of all profiles starting with the specified letters. Allowable values are:

*ALL Information about all profiles
Profile name Information about the specified profile name record only.
Generic profile name* Information about profiles matching the generic profile name string.

Usage note: Avoid the use of characters '5B'X, '7B'X, and '7C'X (CCSID 37 characters '$', '#', and '@', respectively) in profile names.

Windows domain name qualifier
INPUT; CHAR(*)

The names of the Windows domains to be included in the list. A specific domain can be specified, or the domain name can be specified with a generic name (such as 'DMN*') to retrieve a list of all domains starting with the specified letters. Allowable values are:

*ALL All domains with which users are enrolled are to be included in the list.
*NONE No domains are to be included in the list.
*NWSA Only the system default domains shown on the Display Network Server Attributes (DSPNWSA) command are to be included in the list.
Domain name Information about the specified domain only.
Generic domain name* Information about domains matching the generic domain name string.

Length of Windows domain name qualifier
INPUT; BINARY(4)

The length of the Windows domain name qualifier.

Windows server name qualifier
INPUT; CHAR(*)

The names of the Windows servers to be included in the list. A specific server can be specified, or the server name can be specified with a generic name (such as 'SRV*') to retrieve a list of all servers starting with the specified letters. Allowable values are:

*ALL All servers with which users are enrolled are to be included in the list.
*NONE No servers are to be included in the list.
*NWSA Only the system default servers shown on the Display Network Server Attributes (DSPNWSA) command are to be included in the list.
Server name Information about the specified server only.
Generic server name* Information about servers matching the generic server name string.

Length of Windows server name qualifier
INPUT; BINARY(4)

The length of the Windows server name qualifier.

Error code
I/O; CHAR(*)

The structure in which to return error information. For the format of the structure, see Error code parameter. If this parameter is omitted, diagnostic and escape messages are issued to the application.


Format of Data Returned

The list data returned for the DOLU0100, DOLU0150 and DOLU0200 formats contain three types of records:

Server records Contain information about a domain or server.
User records Contain information about a user profile.
Group records Contain information about a group profile.

If the profile type requested is *USER, then records are returned as follows:

If the profile type requested is *GROUP, then records are returned as follows:

If the profile type requested is *USERBASIC, then records are returned as follows:

If the profile type requested is *GRPBASIC, then records are returned as follows:

If the profile type requested is *ALL, then records are returned as follows:

If the profile type requested is *NONE, then records are returned as follows:


The following tables describe the order and format of the data for each record format in the list. For detailed descriptions of the fields in the tables, see Field Descriptions.


DOLU0100 Record Format

The following table defines the structure of each record returned for format DOLU0100.

Offset Type Field
Dec Hex
0 0 BINARY(4) Displacement to next record
4 4 BINARY(4) Length of record
8 8 BINARY(4) Record type
12 C BINARY(4) Number records to next record same level
16 10 BINARY(4) Number records next lower level
20 14 BINARY(4) Displacement to name
24 18 BINARY(4) Length of name
28 1C BINARY(4) Server type
32 20 BINARY(4) Enrollment reason
36 24 BINARY(4) Member enrollment
40 28 BINARY(4) Profile status
44 2C CHAR(50) Profile description
94 5E CHAR(6) Enrollment error code
100 64 CHAR(10) Message file
110 6E CHAR(10) Primary message file library
120 78 CHAR(7) Message ID
See note See note CHAR(*) Name
Note: The displacement and length for the name are specified in the corresponding displacement and length variables.


DOLU0150 Record Format

The following table defines the structure of each record returned for format DOLU0150.

Offset Type Field
Dec Hex
0 0 BINARY(4) Displacement to next record
4 4 BINARY(4) Length of record
8 8 BINARY(4) Record type
12 C BINARY(4) Number records to next record same level
16 10 BINARY(4) Number records next lower level
20 14 BINARY(4) Displacement to name
24 18 BINARY(4) Length of name
28 1C BINARY(4) Server type
32 20 BINARY(4) Enrollment reason
36 24 BINARY(4) Member enrollment
40 28 BINARY(4) Profile status
44 2C CHAR(50) Profile description
94 5E CHAR(6) Enrollment error code
100 64 CHAR(10) Message file
110 6E CHAR(10) Primary message file library
120 78 CHAR(7) Message ID
127 7F CHAR(1) Reserved
128 80 BINARY(4) Displacement to Windows name
132 84 BINARY(4) Length of Windows name
See note See note CHAR(*) Name
See note See note CHAR(*) Windows name
Note: The displacement and length for the name and Windows name are specified in the corresponding displacement and length variables.


DOLU0200 Record Format

The following table defines the structure of each record returned for format DOLU0200.

Offset Type Field
Dec Hex
0 0 BINARY(4) Displacement to next record
4 4 BINARY(4) Length of record
8 8 BINARY(4) Record type
12 C BINARY(4) Number records to next record same level
16 10 BINARY(4) Number records next lower level
20 14 BINARY(4) Displacement to name
24 18 BINARY(4) Length of name
28 1C BINARY(4) Server type
32 20 BINARY(4) Enrollment reason
36 24 BINARY(4) Member enrollment
40 28 BINARY(4) Profile status
See note See note CHAR(*) Name
Note: The displacement and length for the name are specified in the corresponding displacement and length variables.


DOLU0100, DOLU0150, and DOLU0200 Record Field Descriptions

Displacement to name. The displacement in bytes from the beginning of the record to the name.

Displacement to next record. The displacement in bytes from the beginning of the record to the next record. If this is the last record, this value will be zero.

Displacement to Windows name. The displacement in bytes from the beginning of the record to the Windows name. This field is set to zero if the enrolled IBM i user name and the Windows user name are the same.

Enrollment error code. This value is only specified if the record is a user or group type record. Normally it is blank, but it will be set to the last enrollment error code that was received while attempting to create, delete, or update a user on a server. This should only be non-blank if the profile is in one of the recovery or delete statuses.

The enrollment error codes are:

239 User enrollment failed because the password can not be retrieved.
240 Password not available for user enrollment create.
241 Invalid Windows profile name.
245 User enrollment failed because the password can not be retrieved.
247 Update of group failed because domain group type cannot be changed.
248 Unable to delete user from Windows domain or server.
249 Unable to delete group from Windows domain or server.
260 User not created because specified name is a reserved name in Windows.
261 Group not created because specified name is a reserved name in Windows.
262 User not deleted because specified name is a reserved name in Windows.
263 Group not deleted because specified name is a reserved name in Windows.
264 Enrollment request cannot complete because domain controller not found.
265 User not created because user template not found.
266 User not created because user name already exists.
267 Create or update of user failed for an unknown reason.
268 Create or update of group failed for an unknown reason.
269 User was created or updated successfully on Windows. The user, however, was not added to the AS400_Users group on Windows.
270 A request to delete the user from Windows failed because the user is a member of the AS400_Permanent_Users group on Windows.
271 A request to delete the group from Windows failed because the group is not empty on Windows.
272 Add user to an enrolled group failed on Windows.
273 Create failed because user or group already exists on Windows.
274 Add user to a group listed in the user template failed on Windows.
275 User successfully enrolled, but not marked as enrolled on Windows.
276 Group successfully enrolled, but not marked as enrolled on Windows.
277 User unenrolled, but still marked as an enrolled user on Windows.
278 Group unenrolled, but still marked as an enrolled group on Windows.
279 Create or update of user failed on Windows; password not valid.
280 Create or update user failed. A network server description (NWSD) associated with the Windows domain or server must be varied on.
281 Enrollment request to local server not valid on domain controller.
282 Service not authorized to manage domain groups and users on the domain.
296 Unable to create home directory for user.
452 More than one EIM identifier defined for IBM i user.
454 More than one EIM Windows user profile source association defined.
459 EIM processing error for user.

Enrollment reason. This value is specified only if the record is a user type record. It indicates why a profile has been selected for enrollment:

1 The user is a member of a group that has enrolled members.
2 The user is specifically enrolled to a domain or server.

Length of name. The length of the name.

Length of record. The length of the data for the current record.

Length of Windows name. The length of the Windows name. This field is set to zero if the enrolled IBM i user name and the Windows user name are the same.

Member enrollment. This value is specified only if the record is a group type record. It indicates whether group members are enrolled.

0 Group members are not enrolled.
1 Group members are enrolled.

Message file. This value is specified only if the record is a user or group type record. The message file that contains the message ID for a message that describes the enrollment error code for a failed enrollment operation.

Message ID. This value is specified only if the record is a user or group type record. The message that describes the enrollment error code for a failed enrollment operation.

Name. The name of a Windows domain or server, or an enrolled IBM i user or group, depending on the record type.

Usage note: Avoid the use of characters '5B'X, '7B'X, and '7C'X (CCSID 37 characters '$', '#', and '@', respectively) in user and group profile names.

Number records next lower level. The number of sub-records that exist for a record. For example, if the current record is a group record, followed by three user records for that group, then the number of records next lower level would be three.

Number records to next record same level. The number of records to traverse to locate the next record of the same type (server, user, or group). If there are no more records of the same type, this value is zero.

For example, if the current record is a group record, followed by three user records for the group, followed by another group record, then the number of records to next record same level would be four.

Primary message file library. The library that contains the message file. This value is specified only if the record is a user or group type record.

Note: If the message text is retrieved, use *LIBL (library list) as the message file library so that the correct national language version of the message text is retrieved. If the message file returned by this API is not in any of libraries in the library list, then message retrieval operation will fail with message CPF2407 "Message file x in *LIBL not found." If this occurs, then attempt the retrieval operation again, using the primary message file library that is returned by this API.

Profile description. The description for this profile. This value is specified only if the record is a user or group type record.

Profile status. The current status of a user or group on a server. This value is specified only if the record is a user or group type record. The following values represent the various status values:

1 Profile is enrolled on the server (up-to-date).
2 Enrollment pending on the server.
3 Enrollment retry pending on the server.
4 Enrollment failed.
5 Unenrollment pending on the server.
6 Unenrollment retry pending on the server.
7 Unenrollment failed.
8 Only group members enrolled. The users in the group are enrolled to the servers, but the group itself is not enrolled to the servers. This status is valid only for a group.
9 Profile is enrolled on the server using the IBM i profile name. An error occured when looking up the Windows user name using Enterprise Identity Mapping (EIM).

Record type. The record type for a record. The values that represent the various types follow:

1 A server type record.
2 A user type record.
3 A group type record.

Note: The first record in the list is always a server type record.

Reserved. Reserved area for 4-byte boundary alignment.

Server type. The type of server represented by the record. This value is specified only if the record is a server type record.

1 A Windows domain.
2 A Windows server.

Windows name. The name of the user on Windows. This field is not returned if the enrolled IBM i user name and the Windows user name are the same.

Note: The Windows user name could be different than the enrolled IBM i user name if Enterprise Identity Mapping (EIM) is used for the enrolled user.


Format of List Information

The following table shows the format of the list information parameter. For detailed descriptions of the field in the table, see Field Descriptions.

Offset Type Field
Dec Hex
0 0 BINARY(4) Total records
4 4 BINARY(4) Records returned
8 8 CHAR(4) Request handle
12 C BINARY(4) Record length
16 10 CHAR(1) Information complete indicator
17 11 CHAR(13) Date and time created
30 1E CHAR(1) List status indicator
31 1F CHAR(1) Reserved
32 20 BINARY(4) Length of information returned
36 24 BINARY(4) First record in buffer
40 28 CHAR(40) Reserved


Field Descriptions

Date and time created. The date and time the list was created. The 13 characters are:

11 Century, where 0 indicates years 19xx and 1 indicates years 20xx.
2-7 The date, in YYMMDD (year, month, day) format.
8-13 The time of day, in HHMMSS (hours, minutes, seconds) format.

First record in buffer. The number of the first record in the receiver variable.

Information complete indicator. Whether all information requested has been supplied.

I Incomplete information. An interruption caused the list to contain incomplete information about a buffer or buffers.
P Partial and accurate information. Partial information is returned when the maximum space was used and not all of the buffers requested were read.
C Complete and accurate information. All the buffers requested were read and returned.

Length of information returned. The size, in bytes, of the information returned in the receiver variable.

List status indicator. The status of the list building. The indicators are:

0 The list building is pending.
1 The list is in the process of being built.
2 The list has been built completely.
3 An error occurred while building the list. The next call to QGYGTLE will cause the error to be signalled to the caller of QGYGTLE.

Record length. The length of each record of information returned. For variable length records, this value is set to 0. For variable length records, you can obtain the length of individual records from the records themselves.

Records returned. The number of records returned in the receiver variable. This is the smallest of the following values:

Request handle. The handle of the request that can be used for subsequent requests of information from the list. The handle is valid until the Close List (QGYCLST) API is called to close the list or until the job ends.

Note: This field should be treated as a hexadecimal field. It should not be converted from one CCSID to another (for example, EBCDIC to ASCII) because doing so could result in an unusable value.

Reserved. Reserved field. Must be set to hexadecimal or binary zero.

Total records. The total number of records available in the list.


Error Messages

Message ID Error Message Text
CPFA314 E Memory allocation error.
CPF24B4 E Severe error while addressing parameter list.
CPF2634 E Not authorized to object &1.
CPF3C19 E Error occurred with receiver variable specified.
CPF3C1D E Length specified in parameter &1 not valid.
CPF3C21 E Format name &1 is not valid.
CPF3C36 E Number of parameters, &1, entered for this API was not valid.
CPF3C3C E Value for parameter &1 not valid.
CPF3CF1 E Error code parameter not valid.
CPF3CF2 E Error(s) occurred during running of &1 API.
CPF9872 E Program or service program &1 in library &2 ended. Reason code &3.
CPF9999 E Function check. &1 unmonitored by &2 at statement &5, instruction &3.


API introduced: V5R1

[ Back to top | Server Support APIs | APIs by category ]