z/OS JES2 Installation Exits
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Multiple exit routines in a single module

z/OS JES2 Installation Exits
SA32-0995-00

When developing and testing installation exits, it is probably easier to keep each exit routine in its own source and load module. In this manner, the routines can be assembled, loaded, and tested independently. If there are many routines, you may want to eventually combine them into a single source and load module for easier maintenance procedures.

Figure 1 shows three exit routines in a single module with a general structure that you may want to follow.

Figure 1. Example of Providing Multiple Exits within a Single Load Module
XITS         TITLE 'SAMPLE JES2 INSTALLATION EXITS - PREAMBLE'
*                                                               *
*             COMMENT BLOCK FOR MODULE GOES HERE .....          *
*                                                               *
*****************************************************************
              COPY   $HASPGBL        COPY HASP GLOBALS
HASPUEX       $MODULE ENVIRON=JES2,  REQ'D BY $BUFFER              C
              RPL,                                                 C
              $BUFFER,                                             C
              $CAT,                                                C
              $DCT,                                                C
              $HASPEQU,          REQUIRED FOR REG CONVENTIONS      C
              $HCT,              REQ'D BY $SAVE,$RETURN,ETC.       C
              $JCT,                                                C
              $JOE,              REQ'D TO GET SYSOUT CLASS         C
              $JQE,                                                C
              $MIT,              REQ'D BY HCT                      C
              $PCE,              REQ'D BY HCT                      C
              $PDDB,             REQ'D BY $PPPWORK                 C
              $PPPWORK,          REQ'D TO FIND JOE                 C
              $RDRWORK
*****************************************************************
*                                                               *
*             ADDITIONAL MAPPING MACROS GO HERE                 *
*                                                               *
*****************************************************************
      TITLE 'SAMPLE SEPARATOR PAGE EXIT - ROUTINE 1'
*****************************************************************
*                                                               *
*            COMMENT BLOCK FOR EXIT 1 GOES HERE                 *
*                                                               *
*****************************************************************
XIT1RTN1     $ENTRY BASE=R12       EXIT ROUTINE ENTRY POINT
             $SAVE
             LR    R12,R15         LOAD BASE REGISTER
*****************************************************************
*                                                               *
*        INSTALLATION EXIT CODE FOR EXIT 1 ROUTINE 1 GOES HERE  *
*                                                               *
*****************************************************************
             LA    R15,8              SET RETURN CODE
RETURN1      $RETURN RC=(R15)         RETURN TO HASPPRPU
             TITLE 'SAMPLE SEPARATOR PAGE EXIT - ROUTINE 2'
XIT1RTN2     $ENTRY BASE=R12          EXIT ROUTINE ENTRY POINT
             $SAVE
             LR    R12,R15            LOAD BASE REGISTER
      TITLE 'SAMPLE SEPARATOR PAGE EXIT - ROUTINE 1'
*****************************************************************
*                                                               *
*        INSTALLATION EXIT CODE FOR EXIT 1 ROUTINE 2 GOES HERE  *
*                                                               *
*****************************************************************
             LA    R15,8              SET RETURN CODE
RETURN2      $RETURN RC=(R15)         RETURN TO HASPPRPU
             LTORG
             TITLE 'JOB CARD SCAN EXIT'
*****************************************************************
*                                                               *
*         COMMENT BLOCK FOR EXIT 2 ROUTINE 1 GOES HERE          *
*                                                               *
*****************************************************************
XIT2RTN1     $ENTRY BASE=R12          EXIT ROUTINE ENTRY POINT
             $SAVE
             LR     R12,R15           LOAD BASE REGISTER
*****************************************************************
*                                                               *
*         INSTALLATION EXIT CODE FOR EXIT 2 ROUTINE 1 GOES HERE *
*                                                               *
*****************************************************************
            LA    R15,8              SET RETURN CODE
            $RETURN RC=(R15)          RETURN TO HASPRDR
            LTORG
            $MODEND
            END
The following JES2 initialization statements can be used to load and associate exit points 1 and 2 with the above routines.
    LOADMOD(HASPUEX) STORAGE=PVT
    EXIT(1) ROUTINE=(XIT1RTN1,XIT1RTN2),STATUS=ENABLED,TRACE=NO
    EXIT(2) ROUTINE=XIT2RTN1,STATUS=ENABLED,TRACE=NO

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014