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


Example of the IGBDCSX2 Exit Routine

z/OS DFSMS Installation Exits
SC23-6850-01

Figure 1 is a sample of IGBDCSX2. It returns a block size to override the calculated optimal block size of a non-VSAM data set if the DCS-calculated block size exceeds an installation limit and the data set resides on a particular volume. The figure is a learning aid for the installation system programmer and is not guaranteed to run on a particular system without some modification.

Figure 1. Sample Listing of IGBDCSX2 Part 1 of 2
 ***********************************************************************
 *                                                                     *
 *  $MOD(IGBDCSX2):  DASD CALCULATION SERVICES POST-CALCULATION EXIT   *
 *                                                                     *
 *  DESCRIPTIVE NAME = DCS POST-CALCULATION EXIT                       *
 *                                                                     *
 *  COPYRIGHT = NONE                                                   *
 *                                                                     *
 *  FUNCTION = SEE TEXT FOR ENTRY AND EXIT INFORMATION                 *
 *                                                                     *
 *     PROCESSOR = ASSEMBLER                                           *
 *                                                                     *
 *     ATTRIBUTES = CALLER KEY, CALLER STATE, ENABLED,                 *
 *                  AMODE(31),RMODE(ANY)                               *
 ***********************************************************************
 IGBDCSX2  CSECT
 IGBDCSX2  AMODE 31
 IGBDCSX2  RMODE ANY
 *
Figure 2. Sample Listing of IGBDCSX2 Part 2 of 2
 *   SET UP ADDRESSABILITY
 *
           STM     REG14,REG12,12(REG13)  STORE CALLER'S REGS
           LR      REG12,REG15        LOAD IGBDCSX1 ADDR INTO BASE REG
           USING   IGBDCSX2,REG12
           L       REG1,0(,REG1)      SET UP PARM LIST ADDRESSABILITY
           USING   DCSIEPL,REG1
 *
 *   CHECK FOR BLOCKSIZE GREATER THAN INSTALLATION LIMIT IF THE DATA
 *   SET IS NON-VSAM AND RESIDES ON THE SPECIFIED VOLUME
 *
           TM      DCSIEDSO+1,DCSIEAM CHECK FOR VSAM DATA SET
           BO      EXIT               BRANCH IF VSAM DATA SET
           SPACE
           CLC     DCSIEVSN(6),VOLSER DOES DS RESIDE ON THIS VOLUME?
           BNE     BLKSZOK            NO - BLOCK SIZE IS OK
           SPACE
           CLC     MAXBLKSZ(2),DCSIECOB  IS CALCULATED BIGGER?
           BNH     BLKSZOK            NO - BLOCK SIZE IS ACCEPTABLE
           SPACE
           LH      REG0,MAXBLKSZ      SET MAX BLOCKSIZE
           LA      REG15,8            SET RETURN CODE INDICATING AN
 *                                    OVERRIDE VALUE
           B       EXIT
 *
 *   CALCULATED BLOCK SIZE IS OK
 *
 BLKSZOK   EQU     *
           SR      REG15,REG15
 *
 *   RETURN TO DCS
 *
 EXIT      EQU     *
           L       REG14,12(,REG13)  RESTORE CALLER'S REG14
           LM      REG1,REG12,24(REG13)  RESTORE REST OF CALLER'S REGS
           BR      REG14             BRANCH BACK TO CALLER
           EJECT
 *
 *   DEFINE VARIABLES
 *
 REG0      EQU     0
 REG1      EQU     1
 REG12     EQU     12
 REG13     EQU     13
 REG14     EQU     14
 REG15     EQU     15
 *
 MAXBLKSZ  DC      H'31744'
 VOLSER    DC      C'SPECIL'
 *
 *
           IGBDCSIE
 *
           END     IGBDCSX2

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014