Extended format I/O routine diagnostic information

DFSMSdss calls SDM, system data mover, to process data residing in sequential extended-format data sets. SDM calls the extended format I/O routine whenever it determines that the data set being processed is an extended-format data set. The extended-format data set may be in the compressed format or non-compressed format.

SDM passes the extended format I/O routine an internal parameter list describing the function requested. On return from the extended format I/O routine, the return and reason codes are returned in register 15 and register 0, respectively. They are also stored in the parameter list at offsets X'18' and X'1C'. If the return and reason codes from the extended format I/O routine indicate that the called system service encountered an error, the error return and reason codes from the called service are stored in the diagnostic fields in the parameter list at offsets X'20' and X'24'.

When the extended format I/O routine returns an error to SDM, the error return and reason codes from the extended format I/O routine may be displayed in system message ADR910E. If so, contact the IBM® Support Center for diagnostic assistance.

Table 1 lists the extended format I/O routine return and reason codes.

Table 1. Extended Format I/O Routine
Return Code Reason Code Description
0 (X'00') 0 (X'00') The requested operation was performed successfully.
4 (X'04')

Reason codes
listed below.

The requested operation failed.
  2 (X'02') The internal parameter list passed is not valid for one of the following reasons:
  • The required eye-catcher is not valid
  • The required extended format I/O routine token is zero
  3 (X'03') The extended format I/O routine token passed in the internal parameter list is not valid. The token eye-catcher is not valid.
  4 (X'04') The function code in the internal parameter list is not valid for one of the following reasons:
  • A zero function code is specified
  • A read function is requested while open for output
  • A write function is requested while open for input
  5 (X'05') An invalid request caused the open function to fail. One of the following required fields was zero in the internal parameter list:
  • SDM token
  • number of stripes
  • volume count
  • volume information
  6 (X'06') At least one of the volumes of the target extended format data set does not meet the hardware requirements for an extended format data set.

Possible user error. Ensure that the hardware requirements for an extended format data set are met when using a DFSMSdss or DFSMShsm function.

  7 (X'07') The extended format I/O routine called SDM to perform a service. SDM encountered a severe error that prevented it from completing any I/O requests successfully.
  8 (X'08') The extended format I/O routine called CVAFDIR to perform a service. CVAFDIR encountered an error. During close processing, an attempt to update information in the data set label for the target data set with CVAFDIR failed.
  9 (X'09') During a write function, it was determined that no blocks of length specified as the block size would fit on the target track.
  10 (X'0A') During the last write (buffer count=0), an error was detected attempting to write the remaining data to the target data set.
  11 (X'0B') During a write function, it was determined that the length of one of the records found in the source data set exceeded the block size of the target data set.
  13 (X'0D') During a write function, it was determined that the target data set is not allocated with enough space to hold all of the source tracks. This is an out-of-extent situation.
  14 (X'0E') A write function failed because it determined that a zero block size had been provided for the target data set.
  15 (X'0F') The extended format I/O routine called Compression Services to perform a service. Compression Services encountered an error. Although Compression Services is required, it is not able to process the data set.
  16 (X'10') The extended format I/O routine called DASDCALC to perform a service. DASDCALC encountered an error. DASDCALC is required to determine the physical block size of the target data set.
  17 (X'11') During open, DASDCALC services was called to determine the physical block size of the target data set. Although it returned successfully, it could not derive a block size.
  18 (X'12') A write function failed because it determined that no compression dictionary token had been provided for the compressed format data set.
  19 (X'13') A write function failed because it determined that no RECFM had been provided for the compressed format data set.
  20 (X'14') An invalid request caused the open function to fail. Reblocking was requested, but either RECFM, LRECL, or block size was zero.
  21 (X'15') An invalid request caused the open function to fail. Reblocking was requested with RECFM of U or V(B)S.

Possible user error. Ensure that the reblock option is not specified in a DFSMSdss function if the data set RECFM is U or V(B)S. Reblocking is not supported for these RECFMs.

  22 (X'16') An invalid request caused the open function to fail. Source data set is compressed format and target is non-extended format. However, track-packing was not requested.
  23 (X'17') An invalid request caused the open function to fail. Data set is multivolume but the number of stripes is greater than one. A multivolume extended format data set cannot consist of more than one stripe.
  24 (X'18') A user record was decompressed to a length other than the length that was expected.
  25 (X'19') An error was returned from the DECOMPRESS call to Compression Services.
  26 (X'1A') An error was encountered in a source track. During reconstruction of a record, the next segment was neither a middle or last segment.
  27 (X'1B') A compressed record was found in the data set, but the dictionary token is not valid.
  28 (X'1C') A user block was not found in the track.