This user exit lets you use your own method for serializing
resources in addition to the RESERVE done by ISPF. See ISPF enqueue processing for data integrity for information about
ISPF's use of ENQ and RESERVE. ISPF gives control to the exit routine
before it does the RESERVE. If your serialization mechanism cannot
acquire the resource, or if the exit routine returns a code greater
than 0, ISPF does not attempt to get it.
The RESERVE
exit is still called if Configuration table keyword PDSE_RESERVE_PROCESSING
is set to OFF.
Exit parameters
In addition to the standard
exit parameters described in
Exit parameter list,
the exit routines at this user exit receive these parameters. ISPF
ignores any changes made to these parameters.
- qname
- An 8-character field that contains the queue name against which
the RESERVE is done. (ISPF uses a qname of 'SPFEDIT '.)
- rname
- The 44-character resource name (data set name) that is reserved.
- ucbaddr
- A fullword field containing the address of the unit control block
(UCB) for the reserved device.
- Flags
- 4 bytes of bit flags defined as follows:
- 0
- 1 = Exclusive reserve requested. 0 = Shared reserve requested.
(ISPF always requests exclusive use of the resource at RESERVE.)
- 1
- 1 = A RESERVE or ENQ will be done on qname 'SYSIEWLP' (the linkage
editor qname).
- 2
- 1 = The resource being reserved is a partitioned data set.
- 3
- 1 = The resource being reserved is a sequential data set.
- 4
- 1 = The resource being reserved is a PDSE.
- 5
- 1 = PDSE_RESERVE_PROCESSING setting. On by default
- 6-31
- Reserved.
Note: The exit routine should
not use the same (qname, rname) combination (in a RESERVE macro call)
that ISPF uses. If that happens, an abend occurs when ISPF attempts
to do its own RESERVE.
Return codes
- 0
- Normal completion; ISPF does its own RESERVE and continues processing.
- 16
- Resource not available. ISPF issues a message showing that the
exit routine indicated the resource is not available. This results
in a failure of the service requesting the RESERVE.
- Other
- ISPF treats other return codes similar to a return code of 16
and issues a message indicating that the exit routine returned an
incorrect return code.