When you code the IXLMG macro, you specify where you want the information
placed (with the DATAAREA parameter) and the length of the area (with
the DATALEN parameter). If the size of the area is too small to contain
the requested measurement data, MVS™ returns
as much data as can fit in the area you provided. MVS also sets a reason code (IXLRSNCODEMOREDATA)
to indicate that more data is available. The proper size for the
data area is returned in the IXLYAMDA header. Note that if you provide
a larger area for the requested data, subsequent invocations of IXLMG
return the latest information from the coupling facility, which may
differ slightly from the original data returned when the area was
too small.
- Handling the IXLRSNCODEMOREDATA Reason Code
The IXLRSNCODEMOREDATA
reason code indicates that the DATAAREA you provided is too small
to contain all the requested data. You can reissue the IXLMG macro
using the value returned in IXLYAMDAAREA_TLEN (total length of output
data area needed to contain all the requested information) as the
length of your data area. However, as noted, the IXLMG information
returned is a snapshot of the current environment — which might
change between one invocation of IXLMG and the next. (For example,
additional coupling facilities might have been added or removed from
the sysplex, thus changing the number of coupling facility records
in the output data area.) You must provide code to handle the IXLRSNCODEMOREDATA
reason code in case the length of the record(s) you are requesting
ever changes.
- Retrieving Information from the Output Data Area
The
output data area mapped by IXLYAMDA can contain one or more instances
of many different types of records, depending on your IXLMG request.
To help you reference each of the record types, the data area contains
fields indicating the length of the record type and pointers to the
next entry for the same record type. You must use these fields to
index through the data area in case the length of the record(s) you
are requesting ever changes. Using the DSECT length of a particular
record type is not recommended because the length might have been
changed since your program was assembled.