Previous topic |
Next topic |
Contents |
Contact z/OS |
Library |
PDF
IEF_ALLC_OFFLN — Allocated or Offline Device Installation Exit z/OS MVS Installation Exits SA23-1381-00 |
|
Topics for This Exit Appear as Follows:
When a job must wait because a device it requested is offline or
allocated to another job, MVS™ issues WTORs that instruct the
system operator to take one of the following actions:
You
can automate your installation's responses to allocation requests
for offline, pending offline, or allocated devices, and reduce the
need for operator intervention by:
For a list of the allocation messages you can automate or suppress, see Message Processing. Using the information
it receives about the job and the required
device(s), the exit routine can:
For more information about 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 Allocated or Offline installation exit to the dynamic exits facility. You can refer to the exit by the name IEF_ALLC_OFFLN. 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 and 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 allocated or offline device exit routine or routines, if any are specified to the dynamic exits facility, every time a job must wait for a device because all devices that could satisfy the job's request are either offline, pending offline, or allocated to other jobs. This exit is only invoked for tape requests and non-SMS-managed DASD requests. It is not invoked for SMS-managed DASD requests. MVS invokes
the exit routine before issuing WTORs that:
Using
the Information in the Parameter List: MVS passes
the address of a list of parameters to the exit routine. The parameters
contain the following information:
Using the information in the parameter list, the exit routine determines how the system should respond to the allocation request. The exit routine indicates its decision to the system by placing a value in the ACTION field of the parameter list. See Return Specifications for the specific values the exit routine can return. Bringing a Device OnlineThe system indicates to the exit routine that the job can bring devices online by setting the OKONLINE bit to 1 (in the exit parameter list). If the exit routine attempts to bring a device online when the OKONLINE bit is not set to 1, the system will ignore the exit routine's decision and use the installation default policy (specified in the ALLOCxx parmlib member) to determine how to respond to the allocation request. If your installation does not define a default policy for handling allocated or offline device requests, or if no ALLOCxx parmlib member is defined, the system will issue WTORs so that the system operator must respond to the job's allocation request. The exit routine brings device(s) online by:
Selecting an Offline Device to Bring Online: If you
plan to use the exit routine to cause devices to be brought online,
code the routine to check the input bits in the UXSTATUS field of
the offline device table. Before selecting the device(s), check:
The exit routine brings the device online by setting the UXONLINE bit in the UXSTATUS field to 1. Be aware that if the chosen devices cannot be successfully brought online, Allocation will retry the allocation request anyway. If the allocation request still cannot be satisfied, the exit routine might be driven again. The parameter list does not indicate that the device was not able to be brought online previously. The exit routine should consider this when choosing devices, and should be aware that it could cause a loop if it repeatedly chooses devices that cannot be brought online. Selecting an Eligible System-Managed Tape Library DeviceThe system indicates whether a request is a system-managed tape
library request by setting the LBREQIND bit to one in the exit parameter
list. For system-managed tape library requests, the exit or installation
default policy determines whether:
An eligible device in a system-managed tape library might be offline
for one of the following reasons:
Selecting a Pending-Offline Device for Allocation ConsiderationThe exit can be used to indicate whether a specific pending-offline device will be considered for allocation. A pending-offline device will be allocated only if no other online device becomes available. The device will remain in pending offline status. The Offline Device TableThe offline device table (pointed to in the exit parameter list) contains the device numbers of all offline or pending offline devices that match the device type that the job specified in the allocation request. The system sets the first 4 bytes of the offline device table to
the number of entries (devices) in the table. The 4-byte field is
followed by one 12-byte entry for each offline device:
Letting the Job Wait for the DeviceThe system indicates to the exit routine (in the OKTOWAIT bit of
the exit parameter list) whether the job is allowed to wait. If OKTOWAIT
is set to 1, the exit routine can cause the job to wait by setting
the ACTION field to indicate one of the following:
If the exit routine attempts to cause the job to wait when OKTOWAIT is set to 0, the system will ignore the exit routine's decision and use the installation default policy (specified in the ALLOCxx parmlib member) to determine how to respond to the allocation request. If your installation does not define a default policy for handling allocated or offline device requests, or if no ALLOCxx parmlib member is defined, the system will issue messages (listed in Message Processing) so that the system operator must respond to the job's allocation request. If the exit routine allows the job to wait, the system will issue an eventual action message (IEF289E) to inform the operator that the job is waiting for a device. Using the Exit with Your Installation's Default PolicyIf you code the exit, use it in conjunction with your installation
default policy for jobs that must wait for allocated or offline devices.
Define your installation's default policy by specifying one of the
following parameters on the POLICY keyword of the ALLC_OFFLN statement:
When you have chosen a default policy to handle the majority of possible requests for allocation of pending offline, offline, or already-allocated devices use the exit routine to make exceptions, if any, for certain jobs and/or devices. The exit routine's decisions will override the installation's default policy. If you do not code the exit routine, MVS will use your installation's default policy (specified in the ALLOCxx parmlib member) to determine how to respond to all allocation requests for allocated pending offline, or offline devices. If your installation does not define a default policy, the system will always issue the WTORs. Programming ConsiderationsObserve
the following conventions when coding the Allocated or Offline Device
Exit routine:
Message ProcessingUse
the exit
routine, in conjunction with the installation default policy, to suppress
or automate your installation's responses to the following message:
Macro Instructions and RestrictionsDo 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:
Parameter Descriptions: Register 1 contains the address of a pointer to the exit parameter list, the UXPARMD, which is mapped by macro IEFZB481 (data area UXPARMD). For a mapping of the UXPARMD 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
exit routine indicates its decision to the system by setting the ACTION
field (in the UXPARMD) to one of the following values:
If the exit routine does not return a valid value in the ACTION field, the system will ignore the exit, issue a message, 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 member is named IEFOFLNE. |
Copyright IBM Corporation 1990, 2014
|