Before returning control to DFSORT, your routine passes the DCB
fields in a parameter list by placing the parameter list address in
general register 1. The parameter list must begin on a fullword boundary
and be a whole number of fullwords long. The high-order byte of each
word must contain a character code that identifies the parameter.
One or more of the words can be omitted. A word of all zeros marks
the end of the list.
If VSAM parameters are specified, they are accepted but ignored.
The format of the list is shown as follows:
The
format of the list is shown as follows:Byte 1
|
Byte 2 |
Byte 3 |
Byte 4 |
---|
01 |
SYNAD
field |
02 |
EXLST
field |
03 |
00 |
00 |
EROPT code |
04 |
EODAD
field |
00 |
00 |
00 |
00 |
- SYNAD
- Contains the location of yourread
synchronous error routine. This routine is entered only after the
operating system has tried unsuccessfully to correct the error. The
routine must be assembled as part of your E18 user exit routine. When
the routine receives control, it must not store
registers in the save area pointed to by register 13.
- EXLST
- Contains the location of a list of pointers to routines that
you want used to check labels and accomplish other tasks not handled
by data management. The list, and the routines to which it points,
must be included in your read error routine. This parameter can only
be used for EXLST routines associated with opening the first SORTIN
data set.
- EROPT
- Indicates what action DFSORT must take when it encounters an
uncorrectable read error. The three possible actions and the codes
associated with them are:
- X'80'
- Accept the record (block) as is
- X'40'
- Skip the record (block)
- X'20'
- Terminate the program.
If you include this parameter in the DCB field list, you
must place one of the previous codes in byte
4 of the word. Bytes 2 and 3 of the word must contain zeros.
When
you use the EROPT option, the SYNAD field and the EODAD field must
contain the appropriate address in bytes 2 through 4. Or, if no routine
is available, bytes 2 and 3 must contain zeros, and byte 4 must contain X'01'.
You can use the assembler instruction DC AL3(1) to set up bytes 2
through 4.
- EODAD
- Contains the address of your end-of-file routine. If you specify
EODAD, you must include the end-of-file routine in your own routine.
A full description of these DCB fields is contained in z/OS DFSMS Macro Instructions for Data Sets.