On output

The output storage is obtained in the subpool specified by the caller in the Out_message_subpool parameter. It is the responsibility of the caller to free this storage.
Note: Even though the profile name and the subpool are specified by the caller on input, that information, along with the class name, is also contained in the output block so that it is as self-descriptive as possible.
If there is no extracted profile information, due either to lack of authority or lack of information, then the profile will not be returned. The exceptions to this rule are:
  1. The R_admin issuer intentionally set the profile extract parameter list flag word (at offset 36) bit requesting to return the profile name only (X'04000000').
  2. When doing an ADMN_XTR_NEXT_RESOURCE to extract the next general resource profile, you encounter the 4/4/20 return and reason codes.

Segment and field descriptors will be returned as shown in the preceding diagram, following the header. Segment descriptors will only be returned for segments which exist within the profile, and which the requester is authorized to see.

For each segment descriptor, a set of field descriptors will be returned. There is no defined order in which fields are returned. The types of fields are:
  • Boolean - A flag in the descriptor indicates whether the value is TRUE or FALSE. There is no data returned and the offset value will be 0.
  • Character - A simple character string.
  • Repeat - An array of character strings and/or booleans. Repeat fieldsdescibes these in more detail.

Field data will only be returned if the requester is authorized to read the field. Also, if a field does not have a value in a given profile, usually no field descriptor will be returned. The exception to this rule is for multidimensional repeat fields as described. The number of field descriptors must be the same for each occurrence of the repeat field, so that the entire field may be quickly skipped if you want, described as follows. Therefore, if a given subfield within a repeat field occurrence has no value, for example, the revoke or resume date of a group connection in a USER profile, then a field descriptor will be present but the length of the data will be zero. A robust application should be written to expect this condition for any field descriptor, however, in case this behavior changes in the future.