VSAM calls the UPAD routine only when the request's RPL specifies
OPTCD=(SYN, WAITX) and the ACB specifies MACRF=LSR or MACRF=GSR, or
MACRF=ICI. VSAM CLOSE can also cause a UPAD exit to be taken to post
a record-management request deferred for VSAM internal resource. VSAM
takes the UPAD exit to wait for I/O completion or for a serially reusable
resource and the UPAD can also be taken to do the corresponding post
processing subject to conditions listed in Table 1.
If you are executing in cross-memory mode, you must have a UPAD
routine and RPL must specify WAITX.z/OS MVS Programming: Extended Addressability Guide describes
cross-memory mode. The UPAD routine is optional for non-cross-memory
mode.
Table 1 describes the conditions in which VSAM calls
the UPAD routine for synchronous requests with shared resources. UPAD
routine exits are taken only for synchronous requests with shared
resources or improved control interval processing (ICI).
Table 1. Conditions when exits to UPAD routines are takenXMM |
Sup. state |
UPAD needed |
I/O wait |
I/O post |
Resource wait |
Resource post |
---|
Yes |
Yes |
Yes |
UPAD taken |
UPAD taken |
UPAD taken |
UPAD taken |
No |
Yes |
No |
UPAD taken if requested |
UPAD not taken even if requested |
UPAD taken if requested |
UPAD taken if either resource owner
or the deferred request runs in XM mode |
No |
No |
No |
UPAD taken if requested |
UPAD not taken even if requested |
UPAD taken if requested |
UPAD taken if either resource owner
or the deferred request runs in XM mode |
Note: - You must be in supervisor state when you are in cross-memory mode
or SRB mode.
- RPL WAITX is required if UPAD is required. A UPAD routine can
be taken only if RPL specifies WAITX.
- VSAM gives control to the UPAD exit in the same primary address
space of the VSAM record management request. However, VSAM can give
control to UPAD with home and secondary ASIDs different from those
of the VSAM record management request because the exit was set up
during OPEN.
- When a UPAD exit is taken to do post processing, make sure the
ECB is marked posted before returning to VSAM. VSAM does not check
the UPAD return code and does not do post after UPAD has been taken.
For non-cross-memory task mode only, if the UPAD exit taken for wait
returns with ECB not posted, VSAM issues a WAIT SVC.
- The UPAD exit must return to VSAM in the same address space, mode,
state, and addressing mode, and under the same TCB or SRB from which
the UPAD exit was called. Registers 1, 13, and 14 must be restored
before the UPAD exit returns to VSAM.
- ICI does not require UPAD for any mode. Resource wait and post
processings do not apply to ICI.
|
RLS ignores the UPAD exit.