Modifying the governor exit on OS/390

For TSO, and native OS/390 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 OS/390 explains this step.

Program components of the governor exit routine

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 80 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 OS/390 batch.

Table 80. IBM-supplied governor components
Member Name Library Function
TSO, ISPF, and native OS/390
DSQUnGV1 QMF720.SDSQLOAD Load module for TSO, and native OS/390 batch
DSQUnGV1 QMF720.SDSQUSRn Source code for governor exit routine for TSO, and native OS/390 batch
DXEUnGV1 QMF720.SDSQUSRn Contains text and related definitions for the governor prompts and cancellation messages in TSO, and native OS/390 batch
CICS on OS/390
DSQUnGV3 QMF720.SDSQLOAD Load module for CICS
DSQUnGV3 QMF720.SDSQUSRn Source code for governor exit routine for CICS
DXEUnGV3 QMF720.SDSQUSRn Contains text and related definitions for the governor cancellation message in CICS
DXEUnGM QMF720.SDSQUSRn Contains BMS map for the governor prompts in CICS.
DXEGOVA QMF720.SDSQUSRn DSECT for the DXEGOVA control block
DXEXCBA QMF720.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 OS/390 batch and the module DSQUDGV1 for German in TSO, and native OS/390 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.

How TSO, and native OS/390 interact with the governor exit routine

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 QMF720.SDSQLOAD is assumed to be in a library concatenated to the user's STEPLIB data set.

Figure 224 shows the program structure of a governor exit routine.

Figure 224. TSO or native OS/390 processing that interacts QMF with the governor exit
QMF Main Module DSQQMF points to QMF Edit Exit Module   DSQUnQV1 Entry: DSQUnGV1
via Assembler call. QMF Edit Exit Module which consists of   DSQUnGV1 Governor
exit program points to QMF Main Module via Assembler return.

How CICS interacts with the 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 OS/390.

The CICS control block interface to the governor exit consists of the following parts:

Figure 226 shows the program structure of a governor exit routine.

Figure 225. CICS processing that interacts QMF with the governor exit
QMF Main Module DSQQMF points to QMF Edit Exit Module  DSQUnGV3 via Assembler
call. QMF Edit Exit Module which consists of CICS EXEC IBM-supplied  interface
programs DFHAEAI and DFHAEIO, and Governor exit program DSQUnGV3 point to
QMF Main Module  via Assembler return DFHEIRET.

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 OS/390.

[ Previous Page | Next Page | Contents | Index ]