For TSO, and native z/OS batch, assemble, and link-edit your governor exit routine, whether you modified the IBM-supplied governor exit routine or wrote your own.
For CICS, translate, assemble, and link-edit your governor exit routine, whether you modified the IBM-supplied governor exit routine or wrote your own. Assembling, translating, and link-editing your governor exit routine in CICS on z/OS explains this step.
Before you begin modifying or writing your own governor exit routine, you need to know the names of the governor exit routine components and what purpose each component serves.
Table 54 shows these components, whose names vary according to which language you installed (English or an NLF). Replace the n symbol in the following names with the NLID (from Table 1) that matches the NLF you're using. In the component names, a 1 represents TSO and native z/OS batch.
Member Name | Library | Function |
TSO, ISPF, and native z/OS |
DSQUnGV1 | QMF810.SDSQLOAD | Load module for TSO, and native z/OS batch |
DSQUnGV1 | QMF810.SDSQUSRn | Source code for governor exit routine for TSO, and native z/OS batch |
DXEUnGV1 | QMF810.SDSQUSRn | Contains text and related definitions for the governor prompts and cancellation messages in TSO, and native z/OS batch |
CICS on z/OS |
DSQUnGV3 | QMF810.SDSQLOAD | Load module for CICS |
DSQUnGV3 | QMF810.SDSQUSRn | Source code for governor exit routine for CICS |
DXEUnGV3 | QMF810.SDSQUSRn | Contains text and related definitions for the governor cancellation message in CICS |
DXEUnGM | QMF810.SDSQUSRn | Contains BMS map for the governor prompts in CICS. |
DXEGOVA | QMF810.SDSQUSRn | DSECT for the DXEGOVA control block |
DXEXCBA | QMF810.SDSQUSRn | DSECT for the DXEXCBA control block. |
If you are using an NLF: You can govern resources in an NLF session as well as an English QMF session, by using different versions of the module DSQUnGVx for each language environment. For example, if you have both English and German installed, use the module DSQUEGV1 for English in TSO, and native z/OS batch and the module DSQUDGV1 for German in TSO, and native z/OS batch.
You can share the resource control table (Q.RESOURCE_TABLE or one you create yourself) and the Q.RESOURCE_VIEW between language environments, just as the Q.PROFILES table can contain profiles for English or any NLF.
At the start of a user's session, QMF issues a LOAD command to bring the governor into the user's virtual storage. For performance reasons, an Assembly call interface is used between QMF and the governor exit routine. The governor exit routine must provide fast performance because, depending on which resources you are trying to control, it might be called on every row retrieved from the database.
Throughout this chapter, the load module library QMF810.SDSQLOAD is assumed to be in a library concatenated to the user's STEPLIB data set.
Figure 96 shows the program structure of a governor exit routine.
At the start of a user's session, QMF issues an EXEC CICS LOAD command to bring the governor into the user's virtual storage. For performance reasons, an assembler call interface is used between QMF and the governor exit routine. The governor exit routine must provide fast performance because, depending on which resources you are trying to control, it might be called on every row retrieved from the database. Assembling and link-editing this module are discussed in Assembling, translating, and link-editing your governor exit routine in CICS on z/OS.
The CICS control block interface to the governor exit consists of the following parts:
The governor exit routine executes on the same program level as the main QMF program.
The entry point to the governor exit routine is DSQUnGV3. When it calls the governor exit routine, QMF always branches to the address returned by CICS as the result of an EXEC CICS LOAD command.
If the load fails or the module does not support 31-bit addressing mode, QMF issues a warning message, disables the governor exit, and continues the session without the governor. Assembling and link-editing this module are discussed in Assembling, translating, and link-editing your governor exit routine in CICS on z/OS.