Define an event control block (ECB) as a 4-byte area on a word
boundary. When the channel program has been completed, the system
places a completion code containing status information into the ECB
(Figure 1). Before examining this information, test
for the setting of the complete bit. If the complete bit is not on,
and your problem program cannot perform other useful operations, issue
a WAIT or EVENTS macro instruction that specifies the ECB. Do not
construct a program loop to test for the
complete bit.
The ECB is mapped by the IHAECB macro.
You do not have to set any particular values in the ECB before
issuing EXCP or EXCPVR because the system clears it.
Figure 1. Event
Control Block after Posting of Completion Code
- Wait bit
- One in this position indicates that the WAIT or EVENTS macro
instruction has been issued, but the channel program has not been
completed.
- Complete bit
- A one in this position indicates that the channel program has
been completed. If it has not been completed, a zero bit is in this
position.
- Completion code
- This code, which includes the wait and complete bits, might
be one of the following hexadecimal expressions. If an appendage posts
the ECB, it might use other 4-byte codes in which the first two bits
are 01. Refer to Start-I/O Appendage and Channel-End Appendage.
The system sets these codes in IOBECBCC and IEDBCOD before
posting the ECB.
- Code
- Meaning
- 41
- Permanent I/O error
- 42
- Extent error (DASD only). Either IOBSEEK lies outside the extents
described by the DEB or the channel program attempted execution outside
the current extent.
- 44
- An error occurred after the previous I/O request to the device
was posted complete. The appendages and (if allowed to execute) the
ERP have determined that this is a permanent error. The I/O request
is terminated with the permanent error. The CSW contents and sense
data in the IOB do not apply to the attempted operation. They apply
to the previous operation attempted for any data set on the device.
You can reissue the EXCP macro instruction to restart the channel
program.
- 45
- A program check or machine check occurred in IOS while processing
the I/O request.
- 48
- The channel program was purged.
- 4B
- An error occurred during tape repositioning that was requested
by the tape ERP.
- 4F
- Error recovery routines were entered following a direct access
error but are unable to read the home address or record 0.
- 51
- Simulated error status. The appendages and, if allowed to execute,
the ERP have determined that this is a permanent error. The I/O request
is terminated with the permanent error. This code indicates that
the device is in a permanent error state, boxed, or not connected.
The code can indicate also that a missing interrupt was detected
and that the I/O operation was terminated as a result of recovery
operations by the missing interrupt handler.
This
completion code appears only in the IEDB, if one was provided. It
is translated to a 41 completion code prior to updating the ECB and
IOBECBCC.
- 74
- Simulated error status. This code is set as a result of attempting
to start an I/O operation to a device that is in a permanent error
state, boxed, or not connected. This code is also set if a missing
interrupt was detected and the I/O operation was terminated as a result
of recovery operations by the missing interrupt handler. The system
has set this code temporarily in IOBECBCC and IEDB to invoke the ERP,
if allowed to execute, and the appendages to determine if the error
is permanent or correctable. If the error is determined to be permanent
the system will change the value to 51. The system does not set the
74 code in the ECB.
- 7F
- Normal I/O completion, but does not appear in the ECB.
- Reason code byte
- Reason code for the completion code.
- Code
- Meaning
- 0E
- A zHPF channel program was specified but the device does not
support zHPF. This reason code appears with completion code 41.
- 10
- A zHPF channel program was specified, but the I/O request was
terminated because a capability needed by the I/O request is not supported
by the processor, device, or software. This reason code is presented
if an EXCPVR request is issued when the processor and device do not
support the zHPF incorrect length facility. This reason code appears
with completion code 41.