Qualifying data

Many of the messages listed have a section called Qualifying Data, which describes qualifying data (q_data) associated with the condition. Qualifying data (or q_data) consists of variables that contain information about the occurrence of a particular condition, such as the input values to the service that detected the condition. This information is useful for a condition handler to determine what corrective actions to take.

Many of the conditions have q_data descriptors (indicated by data type Q_DATA_DESC) as part of their qualifying data. A q_data descriptor indicates the data type and length of the immediately following element of qualifying data.

The first qualifying data for any condition is parm-count, the total number of elements of qualifying data including parm-count itself, associated with that condition token.

For I/O errors, the first four qualifying data are defined as shown in Table 1.

Table 1. Basic Set of Qualifying Data for I/O Conditions
No. Name Input/ Output Type Value
1 parm-count Input INTEGER*4 The total number of elements of qualifying data including this one. If there is no additional qualifying data beyond the basic set shown here, then this value is 4. Otherwise, it includes the first four shown here plus whatever additional qualifying data is applicable to the condition.
2 statement Input CHARACTER*12 The name of the I/O statement being processed.
3 unit Input INTEGER*4 -1, if the I/O statement is directed to an internal file. Otherwise, the unit number specified on the I/O statement.
4 file Input CHARACTER*62 Blank, if the I/O statement refers to an internal file or if the name of the file is not provided as part of the message text for this condition.

Otherwise, a structure that gives the name of the external file to which the I/O statement refers (see Table 2).

When the file qualifying data is not blank, it gives the file name of the file involved in the I/O statement, and has the following format:

Table 2. Structure of file qualifying data that is not blank
Position Length Contents
1 8 The ddname for the file.
9 1 A code that indicates if the file is identified in the Fortran program by its ddname or by its data set name. A value of blank indicates that the file is referred to through its ddname. Any non-blank character indicates that it is referred to by its data set name (see Table 3).

For z/OS, position 9 of the file qualifying data has the following structure when it does not contain blanks.

Table 3. Structure of the code that references files by ddname
Position Length Contents
9 44 Data set name
53  8 PDS member name (or blank if not a PDS)
61  2 Not used

For more information on qualifying data, see z/OS Language Environment Programming Guide.