Previous topic |
Next topic |
Contents |
Contact z/OS |
Library |
PDF
ISGNQXITBATCH— ISGENQ / ENQ / DEQ Batched Exit ISGNQXITBATCHCND — ISGENQ / ENQ / DEQ Conditional Batch Processing Exit z/OS MVS Installation Exits SA23-1381-00 |
|
Both the ISGNQXITBATCH exit and the ISGNQXITBATCHCND exit can interrogate and alter an entire ENQ, DEQ, ISGENQ, or RESERVE request. In most cases, the ISGNQXITBATCH exit and the ISGNQXITBATCHCND exit can be used interchangeably. The ISGNQXITBATCH or ISGNQXITBATCHCND exit is invoked after all of the resources in the request have been passed to the ISGNQXIT exit point, and the RNLs have been processed for each resource in the request. Only SCOPE=SYSTEM and SCOPE=SYSTEMS resources are passed to the ISGNQXITBATCH or ISGNQXITBATCHCND exit; STEP requests are not passed to the ISGNQXITBATCH or ISGNQXITBATCHCND exit. See ENQ/DEQ Exits Installation in z/OS MVS Planning: Global Resource Serialization for the installation flow through ENQ/DEQ exits. The ISGNQXITBATCH
and ISGNQXITBATCHCND exits can:
The parameter list passed to ISGNQXITBATCH (or ISGNQXITBATCHCND) exit is mapped by ISGYNQBP (NQBP). See ISGYNQBP macro in z/OS MVS Data Areas in z/OS Internet Library at http://www.ibm.com/systems/z/os/zos/bkserv/ for more information. An ISGNQXITBATCH (or ISGNQXITBATCHCND)
exit routine
can set its own non-zero return code for each resource in the request,
overriding ENQ or RESERVE functionality, for all:
For all requests (ENQ, DEQ, ISGENQ, and RESERVE), an ISGNQXITBATCH (or ISGNQXITBATCHCND) exit routine can set a one-byte ABEND code and a half-word reason code for the request. The one-byte ABEND code is used to generate the ABEND code. For example, if the exit routine sets the ABEND code to 5 for an ENQ request, a X'538' ABEND will be generated by ENQ processing. When you use the ISGNQXITBATCH
and ISGNQXITBATCHCND
exits, be aware of the following notes.
Note:
Replacing the Exit RoutineUnlike RNL changes, GRS does not know how an exit alters the resource identity of a request. Therefore, to maintain data integrity, do not make an exit change that alters the resource identity of any outstanding or in-flight ENQ or DEQ requests. The resource identity consists of the QNAME, RNAME, SCOPE, and hardware reserve status. When you make exit changes, first stop the programs that are currently using the resource, and do not resume the programs until all the exit changes in the GRS complex have completed. For information regarding dynamic exit routine replacement, see Replacing a Dynamic Exit Routine. Exit Routine EnvironmentISGNQXITBATCH
(or ISGNQXITBATCHCND) exit receives control in the following environment:
Exit Recovery is as follows.
Exit Routine ProcessingThe ISGNQXITBATCH (or ISGNQXITBATCHCND) exit point allows an exit routine to interrogate an ENQ, DEQ, ISGENQ, or RESERVE request as a single unit, rather that on an individual resource basis, as ISGNQXIT. The exit routine is passed a NQBP (mapped by ISGYNQBP) which contains information about the request. The exit routine can affect processing in the following ways:
Programming ConsiderationsObserve
the following conventions when you code a Batch ENQ exit routine. If you do not want to get control for all request instances
but only for particular requests, the combined use of the ISGNQXITPREBATCH
and ISGNQXITBATCHCND provides better performance over the ISGNQXITBATCH
exit. See ISGNQXITPREBATCH — ISGENQ / ENQ / DEQ Batch Preprocessing Exit for more information.
Entry SpecificationsThe system passes a Batch Exit parameter list (NQBP) to the exit routine. The NQBP contains a header section describing the request and an entry (NQBPRSC) for each resource in the request. Registers at Entry: The contents of the registers on entry to the exit are as follows.
Parameter List Contents: Register 1 contains the address of the exit parameter (NQBP) that is mapped by macro ISGYNQBP. Refer to z/OS MVS Data Areas in z/OS Internet Library at http://www.ibm.com/systems/z/os/zos/bkserv/ for the mapping of the ISGYNQBP data area. Return SpecificationsAt the completion of ISGNQXITBATCH (or ISGNQXITBATCHCND) processing, ISGYNQBP can indicate that an ABEND code or return code has been set, or that a RESERVE has been converted to an ENQ. Registers at Exit: Upon return from the exit processing, the register contents must be as follows.
|
Copyright IBM Corporation 1990, 2014
|