q_data structure for abends

When Language Environment fields an abend, condition CEE35I (corresponding to message number 3250) is raised. Language Environment provides q_data (qualifying data) for system or user abends as part of the ISI token for condition CEE35I. The q_data can be retrieved using the CEEGQDT callable service from within a CEEHDLR-established condition handler; see Example illustrating retrieval of q_data for an example invocation, and z/OS Language Environment Programming Reference for syntax of the CEEGQDT service. From a Fortran routine, you can use the Fortran-specific callable services and functions described in Language Environment for MVS & VM Fortran Run-Time Migration Guide to retrieve the q_data, and you do not need to use the q_data_token. The q_data associated with abends is also listed by message number in z/OS Language Environment Runtime Messages.

q_data is comprised of a list of addresses pointing to information that can be used by HLL and user-written condition handlers to react to a condition. The q_data structure for an abend is shown in Figure 1.

If an abend occurs, Language Environment signals condition CEE35I (corresponding to message number 3250) and builds the q_data structure shown in Figure 1.

Figure 1. Structure of abend qualifying data
The q_data structure built by Language Environment. It includes a list of addresses that point to information that can be used by HLL and user-written condition handlers.
parm count (input)
A fullword field containing the total number of parameters in the q_data structure, including parm count. In this case, the value of parm count is a fullword containing the integer 3.
abend code (input)
A 4-byte field containing the abend code in the following format:
The abend code in the q-data structure
system abend code
The 12-bit system completion (abend) code. If these bits are all zero, then the abend is a user abend.
user abend code
The 12-bit user completion (abend) code. The abend is a user abend when bits 8 through 19 are all zero.
reason code (input)
A 4-byte field containing the reason code accompanying the abend code. If a reason code is not available (as occurs, for example, in a CICS® abend), reason code has the value zero.