Previous topic |
Next topic |
Contents |
Contact z/OS |
Library |
PDF
IEF_VOLUME_ENQ — Volume ENQ Installation Exit z/OS MVS Installation Exits SA23-1381-00 |
|
Topics for This Exit Appear as Follows:
When a job must wait to enqueue on a volume or a series of volumes, MVS™ issues
a WTOR that requests the system operator to cancel the job or let
the job wait. You can automate your installation's responses to volume
ENQ WTORs and reduce the need for operator intervention by:
Using the information it receives about the job, the volume ENQ
exit routine determines whether to:
For more information on the ALLOCxx, EXITxx, and PROGxx parmlib members, see z/OS MVS Initialization and Tuning Reference. Controlling the Exit Routine Through the Dynamic Exits FacilityIBM has defined the volume ENQ installation exit to the dynamic exits facility. You can use the EXIT statement of the PROGxx parmlib member, the SETPROG EXIT operator command, or the CSVDYNEX macro to control this exit and its exit routines. You can use the ADDABENDNUM and
ABENDCONSEC parameters on the CSVDYNEX REQUEST=ADD macro or the ABENDNUM
parameter of the SETPROG EXIT operator command to limit the number
of times the exit routine abnormally ends before it becomes inactive.
An abend is counted when both of the following conditions exist:
Replacing the Exit RoutineFor information about replacing a dynamic exit routine, see Replacing a Dynamic Exit Routine. Exit Routine EnvironmentThe
exit routine receives control in the following environment:
Exit RecoveryThe exit routine should provide its own recovery. If the exit routine abnormally terminates, its recovery routine will get control. If the exit routine abnormally terminates, and the exit routine does not provide its own recovery, or the error percolates beyond the exit's recovery routine, a system recovery routine will get control. The system will fail the allocation request. Whether or not the exit routine continues to be invoked depends on the abend processing of the dynamic exits facility. Exit Routine ProcessingMVS invokes
the volume ENQ exit routine or routines every time a job must wait
to enqueue on a volume. Before issuing messages (listed in Programming Considerations) that identify the volume(s)
and request operator action, MVS invokes the volume ENQ exit routine
or routines, if any are specified to the dynamic exits facility, and
passes a list of parameters that contains the following information
about the allocation request:
Using the information in the parameter
list, the exit routine indicates to the system (in the ACTION field
of the parameter list) whether the system should:
See Return Specifications for the specific values the exit routine can return. Using the
Exit with Your Installation's Default Policy: If you code
the exit, use it in conjunction with your installation default policy
for jobs that must wait to enqueue on volumes. Determine your installation's
default policy by specifying one of the following parameters on the
POLICY parameter of the VOLUME_ENQ statement:
Attention: When WAIT is used as the
default, deadlocks with other jobs in the system might arise for tape
volumes.
When you have chosen a default policy to handle the majority of volume ENQ WTORs that can occur, use the volume ENQ exit routine to make exceptions, if any, for certain jobs and/or volumes. The exit routine's decisions will override the installation's default policy. If you do not code the volume ENQ exit routine, MVS will use your installation's default policy (specified in the ALLOCxx member) to determine how to respond to all volume ENQ allocation requests. If your installation does not define a default policy, the system will always issue the volume ENQ WTORs. Programming ConsiderationsObserve
the following conventions when coding the volume ENQ exit routine:
Message Processing: Use the exit routine, in conjunction
with the installation default policy, to suppress and automate your
installation's responses to the following messages:
Macro Instructions and Restrictions: Do not code the exit routine to issue the WAIT macro or call a service that issues a WAIT, such as WTOR. Entry SpecificationsThe system passes the address of the exit parameter list to the exit routine. Registers at Entry: The contents of the registers on entry to the exit are as follows.
Parameter Descriptions: Register 1 contains the address of a pointer to the exit parameter list, the UXPARMA, which is mapped by macro IEFZB478 (data area UXPARMA). For a mapping of the UXPARMA data area, see z/OS MVS Data Areas in z/OS Internet Library at http://www.ibm.com/systems/z/os/zos/bkserv/. Return SpecificationsThe
volume ENQ exit indicates its decision to the system by placing one
of the following values in the 1-byte ACTION field of the exit parameter
list (the UXPARMA):
If the exit routine does not return a valid value in the ACTION field, the system will ignore the exit and use the installation default policy to make the decision. Registers at Exit: Upon return from the exit processing, the register contents must be as follows.
Coded Example of the Exit RoutineFor your reference, IBM provides a coded example of this exit routine in SYS1.SAMPLIB. The routine is named IEFVENQS. |
Copyright IBM Corporation 1990, 2014
|