Translating, assembling, and link-editing your governor exit routine in CICS

You must assemble and link-edit your governor exit routine in CICS® if you write your own routine or modify a copy of the routine that is supplied by IBM®.

Procedure

To assemble and link-edit your governor exit routine for CICS, follow these steps:

  1. Translate your program by using the CICS translator for Assembler.

    When you translate your program, CICS supplies the standard CICS prolog (DFHEIENT), which establishes addressability and saves registers in the standard CICS working storage area. The standard prolog also provides a standard CICS epilog (DFHEIRET).

  2. Assemble your program

    QMF supports only Assembler-language for governor exit routines. The default governor is coded in this language; the code was written for High-Level Assembler. You can review this code by printing certain members of the QMF1310.SDSQUSRE library.

  3. Link-edit your governor program.
    1. Place the load module for the governor in a library available to all your QMF users.
      For example, you can use QMF1310.SDSQLOAD, which contains the load modules for QMF. This library must be concatenated with DFHRPL in CICS.
    2. Name the module DSQUnGV3, where n is a 1-character identifier for the national language you are using.
      This name is the name of the default module. Placing your own governor module in the QMF1310.SDSQLOAD library replaces the default module.

      To avoid replacing the default module, you can rename it or move it to another library. Alternatively, you can place the module for your own governor in a different library in DFHRPL. If you place your module in a different library, be sure that your module's new library comes before QMF1310.SDSQLOAD in the concatenation sequence. If it does not come before QMF1310.SDSQLOAD, QMF calls the default module instead of your own.

    3. Be sure that the entry point for the governor module is DSQUnGV3.
      If your source code begins with a CSECT statement with this label, there is nothing else to do. If not, specify the entry name on the END statement in the Assembler code, or place it in an ENTRY statement in the linkage editor input.
    4. You must include the CICS command interface control modules DFHEAI and DFHEAI0. You must also place the control modules at the beginning of the governor load module.
      In CICS, the governor must run with AMODE(31) and RMODE(31), as shown here:
      INCLUDE SYSLIB(DFHEAI)
         INCLUDE SYSLIB(DFHEAI0)
         ORDER DFHEAI,DFHEAI0
         ENTRY DSQUEGV3
         MODE AMODE(31),RMODE(31)
         NAME DSQUEGV3(R)