z/OS DFSMS Using Data Sets
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Event Control Block

z/OS DFSMS Using Data Sets
SC23-6855-00

The ECB is located in the first word of the DECB. An event control block is the subject of WAIT and POST macro instructions. See Table 1.

Table 1. Event control block
Offset Bytes Bit Value Hex Code Description
00 1 10xx xxxx   W—Waiting for completion of an event.
    01xx xxxx   C—The event has completed.

One of the following completion codes will appear at the completion of the operation that was initiated by the READ or WRITE macro:

Access Methods other than BDAM 

    0111 1111 7F Channel program has terminated without error. (The status indicators in Figure 1 are valid.)
    0100 0001 41 Channel program has terminated with permanent error. (The status indicators in Figure 1 are valid.)
    0100 0010 42 Channel program has terminated because a direct access extent address has been violated. (The status indicators in Figure 1 are not valid.)
    0100 0011 43 Abend condition occurred in the error recovery routine. (The status indicators in Figure 1 are not valid.)
    0100 0100 44 Channel program has been intercepted because of permanent error associated with device end for previous request. You may reissue the intercepted request. (The status indicators in Figure 1 are not valid.)
    0100 1000 48 The channel program was purged. (The status indicators in Figure 1 are not valid.)
    0100 1011 4B One of the following errors occurred during tape error recovery processing:
  • The CSW command address was zeros.
  • An unexpected load point was encountered.
(The status indicators in Figure 1 are not valid.)
    0100 1111 4F Error recovery routines have been entered because of direct access error but are unable to read home addresses or record 0. (The status indicators in Figure 1 are not valid.)
    0101 0000 50 Channel program terminated with error. Input block was a VSE-embedded checkpoint record. (The status indicators in Figure 1 are not valid.)
1 3     Contains the address of the RB issuing the WAIT macro if the ECB has the WAIT bit on. Once the event has completed and ECB is posted the C bit is set with other bits in byte 0 and these 3 bytes (1-3) are zero, for all access methods except BDAM. For BDAM, only the C bit is set in byte zero and the exception codes are returned in bytes 1 and 2 or the ECB for BDAM.
Table 2 shows the exception bit codes for BDAM.
Table 2. Exception code bits—BDAM
Exception Code Bit READ WRITE Condition If On
0 X X Record not found. (This Record Not Found condition is reported if the search argument is not found in the data set.)
1 X X Record length check. (This Record Length Check condition occurs for READ and WRITE (update) and WRITE (add). For WRITE (update) variable-length records only, the length in the BDW does not match the length of the record to be updated. For all remaining READ and WRITE (update) conditions, the BLKSIZE, when S is specified in the READ or WRITE macro, or the length given with these macros does not agree with the actual length of the record. For WRITE (add), fixed-length records, the BLKSIZE, when S is specified in the WRITE macro, or the length given with this macro does not agree with the actual length of the record. For WRITE (add), all other conditions, no error can occur.)
2   X Space not found. (This Space Not Found for Adding a Record condition occurs if either there is no dummy record when adding an F-format record, or there is no space available when adding a V- or U-format record.)
3 X X Nonvalid request—see bits 9-15
4 X X Uncorrectable I/O error. (This Uncorrectable Input/Output Error condition is reported if the control program's error recovery procedures encounter an uncorrectable error in transferring data between real and secondary storage.)
5 X X End of data. (This End of Data only occurs as a result of a READ (type DI, DIF, or DIX) when the record requested is an end-of-data record.)
6 X X Uncorrectable error. (Same conditions as for bit 4.)
7   X Not read with exclusive control. (A WRITE, type DIX or DKX, has occurred for which there is no previous corresponding READ with exclusive control.)
8     Not used
9   X A WRITE was attempted for an input data set.
10 X X An extended search was requested, but LIMCT was zero.
11 X X The relative block or relative track requested was not in the data set.
12   X Writing a capacity record (R0) was attempted.
13 X X A READ or WRITE with key was attempted, but either KEYLEN equaled zero or the key address was not supplied.
14 X X The READ or WRITE macro request options conflict with the OPTCD or MACRF parameters.
15   X A WRITE (add) with fixed length was attempted with the key beginning with X'FF'.

Figure 1 lists status indicators for BDAM, BPAM, BSAM, and QSAM.

Figure 1. Status Indicators—BDAM, BPAM, BSAM, and QSAM
Offset in
status indicator
area
Byte   Bit   Meaning                           Name

-12    -     Word containing length that was read  Valid only when reading with LBI
+2     0     Command reject                    Sense byte 0
       1     Intervention required
       2     Bus-out check
       3     Equipment check
       4     Data check
       5     Overrun
       6,7   Device-dependent information;
             see the appropriate device
             manual
+3     0-7   Device-dependent information;     Sense byte 1
             see the appropriate device
             manual

The following bytes make up the low-order seven bytes of
a simulated channel status word (CSW):
+9     —    Command address pointing after last executed CCW

The ending CCW may have the indirect data addressing bit and/or data chaining bit on
+12    0     Attention                         Status byte 0
       1     Status modifier                   (Unit)
       2     Control unit end
       3     Busy
       4     Channel end
       5     Device end
       6     Unit check—must be on for
             sense bytes to be significant
       7     Unit exception

+13    0     Program-controlled interrupt      Status byte 1
       1     Incorrect length                  (Channel)
       2     Program check
       3     Protection check
       4     Channel data check
       5     Channel control check
       6     Interface control check
       7     Chaining check

+14    —    Count field (2 bytes)      Not valid with LBI

If the sense bytes are X'10FE', the control program has set them to this nonvalid combination because sense bytes could not be obtained from the device because of recurrence of unit checks.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014