z/OS DFSMStvs Administration Guide
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Physical-error return codes

z/OS DFSMStvs Administration Guide
GC52-1388-00

When a physical-error-analysis exit routine (SYNAD) is provided, it gets control for physical errors, and register 15 does not contain 12, but contains the entry address of the SYNAD routine.

For additional information on the SYNAD exit routine, see z/OS DFSMS Installation Exits.

Table 1 gives the contents of the registers when VSAM exits to the SYNAD routine.

Table 1. Contents of registers when a SYNAD routine gets control. Contents of registers when a SYNAD routine gets control
Register Contents
0 Unpredictable.
1 Address of the request parameter list that contains a feedback return code and the address of a message area, if any. If a request macro was issued, the RPL is the one pointed to by the request macro; if a CLOSE macro was issued, the RPL was built by VSAM to process the close request. Register 1 must contain this address if the exit routine returns to VSAM.
2-13 Same as when the request macro or CLOSE macro was issued. Register 13, by convention, contains the address of the processing program's 72-byte save area, which may not be used by the SYNAD routine if it returns control to VSAM.
14 Return address to VSAM.
15 Entry address to the SYNAD routine. The register does not contain the physical-error indicator.
Note: The SYNAD exit, like other user exits, might not return control to VSAM.

If a physical error occurs and a SYNAD exit routine is not provided (or the SYNAD exit is inactive), VSAM returns control to the processing program following the last executable instruction. Register 15 indicates a physical error (12), and the feedback field in the request parameter list contains a code identifying the error. Register 1 points to the request parameter list.

Table 2 gives the physical-error return codes in the feedback field and explains what each indicates. If the user provided a message area, it contains a physical-error message with more details about the error.

Table 2. Physical-error reason codes in the RPL feedback field from a request macro. Physical-error reason codes in the RPL feedback field from a request macro
RPLERRCD code Symbol Condition
4(X'04') RPLRDERD Read error occurred for a data component.
8(X'08') RPLRDERI Read error occurred for the index set of an index component.
12(X'0C') RPLRDERS Read error occurred for the sequence set of an index component.
16(X'10') RPLWTERD Write error occurred for a data component.
20(X'14') RPLWTERI Write error occurred for the index set of an index component.
24(X'18') RPLWTERS Write error occurred for the sequence set of an index component.
    All physical errors are detected by IDA019R5 from I/O Management abnormal-end appendage, IDA121A4.

Table 3 gives the format of a physical-error message. The format and some of the contents of the message are purposely similar to the format and contents of the SYNADAF message, which is described in z/OS DFSMS Macro Instructions for Data Sets.

Table 3. Format of physical-error messages. Format of physical-error messages
Field Bytes Length Discussion
Message Length 0-1 2 Binary value of 128
  2-3 2 Unused (0)
Message Length-4 4-5 2 Binary value of 124 (provided for compatibility with SYNADAF message)
  6-7 2 Unused (0)
Address of I/O Buffer 8-11 4 The I/O buffer associated with the data in relation to which the error occurred

The rest of the message is in printable format:

 

Date 12-16 5 YYDDD (year and day)
  17 1 Comma (,)
Time 18-25 8 HHMMSSTH (hour, minute, second, and tenths and hundredths of a second).
  26 1 Comma (,)
RBA 27-38 12 Relative byte address of the record in relation to which the error occurred.
  39 1 Comma (,)
Data-Set Type 40 1 'D' for data or 'I' index
  41 1 Comma (,)
Volume Serial Number 42-47 6 Volume serial number of the volume in relation to which the error occurred.
  48 1 Comma (,)
Job Name 49-56 8 Name of the job in which error occurred.
  57 1 Comma (,)
Step Name 58-65 8 Name of the job step in which error occurred.
  66 1 Comma (,)
Unit 67-70 4 Device number on which the error occurred.
  71 1 Comma (,)
Device Type 72-73 2 The type of device in relation to which the error occurred (always DA for direct access).
  74 1 Comma (,)
ddname 75-82 8 The ddname of the DD statement defining the data set in relation to which the error occurred.
  83 1 Comma (,)
Channel Command 84-89 6 The channel command that occasioned the error in the first two bytes, followed by '-OP'
  90 1 Comma (,)
Message condition codes: 91-105 15 Messages are divided according to ECB
X'41'—'INCORR LENGTH'

'UNIT EXCEPTION'  
'PROGRAM CHECK'  
'PROTECTION CHK'  
'CHAN DATA CHK'    
'CHAN CTRL CHK'    
'INTFCE CTRL CHK'  
'CHAINING CHK'      
'UNIT CHECK'      
'SEEK CHECK'

If the type of the unit check can be determined, this
message is replaced by one of the following
:

 

     

'CMD REJECT'      
'INT REQ'      
'BUS OUT CK'      
'EQP CHECK'      
'DATA CHECK'      
'OVER RUN'      
'TRACK COND CK'      
'SEEK CHECK'      
'COUNT DATA CHK'      
'TRACK FORMAT'      
'CYLINDER END'      
'INVALID SEQ'      
'INVALID SUFFFIX'      
'NO RECORD FOUND'      
'FILE PROTECT'      
'MISSING A.M.'      
'OVERFL INCP'

X'48'—'PURGED REQUEST'

X'4A'—'I/O PREVENTED'

X'4F'—'R.HA.RO. ERROR'

For any other ECB completion code—'UNKNOWN COND'

  106 1 Comma (,)
Physical Direct- Access Address 107-120 14 BBCCHHR (bin, cylinder, head and record)
  121 1 Comma (,)
Access Method 122-127 6 'VSAM'

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014