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


Parameter List

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

The parameter list built by VSAM contains reason codes to indicate why the exit was taken, and also locations where you can specify return codes for VSAM to take or not take an action on returning from your routine. The information provided in the parameter list varies depending on the reason the exit was taken. Table 1 shows the contents of the parameter list.

The parameter list will reside in the same area as the VSAM control blocks, either above or below the 16 MB line. For example, if the VSAM data set was opened and the ACB stated RMODE31=CB, the exit parameter list will reside above the 16 MB line. To access a parameter list that resides above the 16 MB line, you will need to use 31-bit addressing.

Table 1. Contents of parameter list built by VSAM for the JRNAD exit
Offset Bytes Description
0(X'0') 4 Address of the RPL that defines the request that caused VSAM to exit to the routine.
4(X'4') 4 Address of a 5-byte field that identifies the data set being processed. This field has the format:
4 bytes
Address of the access method control block specified by the RPL that defines the request occasioned by the JRNAD exit.
1 byte
Indication of whether the data set is the data (X'01') or the index (X'02') component.
8(X'8') 4 Variable, depends on the reason indicator at offset 20:
Offset 20
Contents at offset 8
X'0C'
The RBA of the first byte of data that is being shifted or moved.
X'20'
The RBA of the beginning of the control area about to be split.
X'24'
The address of the I/O buffer into which data was going to be read.
X'28'
The address of the I/O buffer from which data was going to be written.
X'2C'
The address of the I/O buffer that contains the control interval contents that are about to be written.
X'30'
Address of the buffer control block (BUFC) that points to the buffer into which data is about to be read under exclusive control.
X'34'
Address of BUFC that points to the buffer into which data is about to be read under shared control.
X'38'
Address of BUFC that points to the buffer which is to be acquired in exclusive control. The buffer is already in the buffer pool.
X'3C'
Address of the BUFC that points to the buffer which is to be built in the buffer pool in exclusive control.
X'40'
Address of BUFC which points to the buffer whose exclusive control has just been released.
X'44'
Address of BUFC which points to the buffer whose contents have been made invalid.
X'48'
Address of the BUFC which points to the buffer into which the READ operation has just been completed.
X'4C'
Address of the BUFC which points to the buffer from which the WRITE operation has just been completed.
Start of changeX'54' - X'6C' End of change
Start of change Starting CI number of the data CA reclaimed. End of change
12(X'C') 4 Variable, depends on the reason indicator at offset 20:
Offset 20
Contents at offset 12
X'0C'
The number of bytes of data that is being shifted or moved (this number does not include free space, if any, or control information, except for a control area split, when the entire contents of a control interval are moved to a new control interval.)
X'20'
Unpredictable.
X'24'
Unpredictable.
X'28'
Bits 0-31 correspond with transaction IDs 0-31. Bits set to 1 indicate that the buffer that was being written when the error occurred was modified by the corresponding transactions. You can set additional bits to 1 to tell VSAM to keep the contents of the buffer until the corresponding transactions have modified the buffer.
X'2C'
The size of the control interval whose contents are about to be written.
X'30'
Zero.
X'34'
Zero.
X'38'
Zero.
X'3C'
Size of the buffer which is to be built in the buffer pool in exclusive control.
X'48'
Size of the buffer into which the READ operation has just been completed.
X'4C'
Size of the buffer from which the WRITE operation has just been completed.
Start of changeX'54' End of change
Start of change Zero. End of change
Start of changeX'58' End of change
Start of change Byte 0: Highest level of index reclaimed in the current CA reclaim.

Byte 1-3: Total number of data CAs successfully reclaimed since the KSDS was created.

End of change
X'5C'
RPLFDBK code for CA reclaim interruption due to logical or physical error.
Start of changeX'60' End of change
Start of change Zero. End of change
Start of changeX'64' End of change
Start of change Byte 0: Highest level of index reclaimed in the current CA reclaim.

Byte 1-3: Total number of data CAs successfully reclaimed since the KSDS was created.

End of change
Start of changeX'68' End of change
Start of change Byte 0: Index level of index CI being reused. Always 1 because this JRNAD with entry code X'68' is taken only when a sequence-set CI is reused. End of change
Start of changeX'6C' End of change
Start of change Total number of data CAs successfully reused since the KSDS was created. End of change
16(X'10') 4 Variable, depends on the reason indicator at offset 20:
Offset 20
Contents at offset 16
X'0C'
The RBA of the first byte to which data is being shifted or moved.
X'20'
The RBA of the last byte in the control area about to be split.
X'24'
The fourth byte contains the physical error code from the RPL FDBK field. You use this fullword to communicate with VSAM. Setting it to 0 indicates that VSAM is to ignore the error, bypass error processing, and let the processing program continue. Leaving it nonzero indicates that VSAM is to continue as usual: terminate the request that occasioned the error and proceed with error processing, including exiting to a physical error analysis routine.
X'28'
Same as for X'24'.
X'2C'
The RBA of the control interval whose contents are about to be written.
X'48'
Unpredictable.
X'4C'
Unpredictable.
Start of changeX'54' - X'6C' End of change
Start of change Ending CI number of the data CA reclaimed. End of change
20(X'14') 1 Indication of the reason VSAM exited to the JRNAD routine:
X'00'
GET request.
X'04'
PUT request.
X'08'
ERASE request.
X'0C'
RBA change.
X'10'
Read spanned record segment.
X'14'
Write spanned record segment.
X'18'
Reserved.
X'1C'
Reserved.
The following codes are for shared resources only:
X'20'
Control area split.
X'24'
Input error.
X'28'
Output error.
X'2C'
Buffer write.
X'30'
A data or index control interval is about to be read in exclusive control.
X'34'
A data or index control interval is about to be read in shared status.
X'38'
Acquire exclusive control of a control interval already in the buffer pool.
X'3C'
Build a new control interval for the data set and hold it in exclusive control.
X'40'
Exclusive control of the indicated control interval already has been released.
X'44'
Contents of the indicated control interval have been made invalid.
X'48'
Read completed.
X'4C'
Write completed.
X'50'
Control interval or control area split.
Start of changeX'54' End of change
Start of change Start of CA reclaim. End of change
Start of changeX'58' End of change
Start of change End of CA reclaim. End of change
Start of changeX'5C' End of change
Start of change CA reclaim failed. End of change
Start of changeX'60' End of change
Start of change Start of CA reclaim recovery. End of change
Start of changeX'64' End of change
Start of change End of CA reclaim recovery. End of change
Start of changeX'68' End of change
Start of change Start of CA reuse. End of change
Start of changeX'6C' End of change
Start of change End of CA reuse. End of change
Start of changeX'70'X'FF' End of change
Start of change Reserved. End of change
21(X'15') 1 JRNAD exit code set by the JRNAD exit routine. Indication of action to be taken by VSAM after resuming control from JRNAD (for shared resources only):
X'80'
Do not write control interval.
X'84'
Treat I/O error as no error.
X'88'
Do not read control interval.
X'8C'
Cancel the request for control interval or control area split.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014