How to prepare using the CA MAX IMS dynamic PSB feature?

Document ID : KB000051279
Last Modified Date : 14/02/2018
Show Technical Document Details

Description:

In order to use the "dynamic PSB feature" of the CA MAX IMS option, it is necessary to customize and assemble the MAXIOPTS macro and make some IMS administration. This Knowledge Document shows one possibility how to do it and it shows all necessary steps in detail.

Solution:

The person who is installing CA MAX has to run the MAXIOPTJ job as described in Step 10 in the MAX Installation Guide.

  1. Before running the MAXIOPTJ job, its SYSIN member, MAXIOPTS, has to be customized. In this case the bold lines have been changed:
    EDIT       your.MXRXV340.JCL(MAXIOPTS) - 01.32             Columns 00001 00072
    Command ===> Scroll ===> CSR
    ****** ***************************** Top of Data ******************************
    000001 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
    000002 * DOC: MAXIOPTS - MAX IMS/UTIL INSTALLATION OPTIONS *
    000003 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
    000004 MAXIOPTA IMSIDVAL=N, IMSID VALIDATION NOT REQUIRED X
    000005 DYNPRF=TST, DYNAMIC PSB PREFIX X
    000006 DYNMAX=0005, DYNAMIC PSB MAXIMUM X
    000007 DYNACB=IMS.ACBLIB.DOPT, DYN ACBLIB X
    000008 DYNMAC=IMSSYS91.SDFSMAC DYNAMIC PSB IMS MACLIB

    000009 *
    000010 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
    000011 * SAMPLE IMSID TABLE - UP TO 32 IMSID ENTRIES FOR IMS/UTIL *
    000012 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
    000013 MAXIOPTI IMSID=IVP1, X
    000014 IMSDESC='SAMPLE WITH DEFAULTS'
    000015 *
    000016 MAXIOPTI IMSID=IMSY, X
    000017 IMSDESC='CA MAX DYNAMIC PSB ', X
    000018 DYNPRF=TST, X
    000019 DYNMAX=0005, X
    000020 DYNACB=IMS.ACBLIB.DOPT, X
    000021 DYNMAC=IMSSYS91.SDFSMAC

    000022 *
    000023 MAXIOPTI IMSID=MAX2, X
    000024 IMSDESC='NO DYNAMIC PSB ', X
    000025 DYNMAX=0
    000026 *
    000027 MAXIOPTI IMSID=MAX3, X
    000028 IMSDESC='NO DYNAMIC PSB W/BMP', X
    000029 DYNACB=NONE
    000030 *
    000031 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
    000032 * GENERATE INSTALATION OPTIONS MODULE *
    000033 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
    000034 MAXIOGEN
    000035 END
    ****** **************************** Bottom of Data ****************************
    In the sample above IMS.ACBLIB.DOPT is a library which already exists. Therefore it is not necessary to add another library to the IMS control region JCL. Here is the relevant part of the IMS control region JCL - where a valid data set name for the MAXIOPTS member can be found:
    ...
    //IMSACBA DD DSN=IMS.&SYS2.ACBLIBA,DISP=SHR
    // DD DSN=IMS.ACBLIB.DOPT,DISP=SHR
    //IMSACBB DD DSN=IMS.&SYS2.ACBLIBB,DISP=SHR
    // DD DSN=IMS.ACBLIB.DOPT,DISP=SHR
    ...


  • This is a MAXIOPTJ JCL sample - change the MXQUAL variable at least please:
    EDIT       your.MXRXV340.JCL(MAXIOPTJ) - 01.17             Columns 00001 00072
    Command ===> Scroll ===> CSR
    000018 //ASMLKED PROC MXQUAL=yourHLQ, ** HIGH LEVEL QUALIFIER **
    000020 // MEM= ** MEMBER NAME **
    000021 //* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
    000022 //* ASSEMBLE THE INSTALLATION OPTIONS
    000023 //* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
    000024 //ASM EXEC PGM=ASMA90,
    000025 // PARM='XREF(SHORT),NODECK,OBJ,RENT'
    000026 //SYSLIB DD DISP=SHR,DSN=SYS1.MACLIB
    000027 // DD DISP=SHR,DSN=&MXQUAL..MXRXV340.JCL
    000028 //SYSLIN DD DSN=&MXQUAL..MXRXV340.OBJECT(&MEM),DISP=OLD
    000029 //SYSPUNCH DD DUMMY
    000030 //SYSPRINT DD SYSOUT=*
    000031 //SYSUT1 DD DSN=&&SYSUT1,UNIT=VIO,SPACE=(1700,(600,100))
    000032 //SYSUT2 DD DSN=&&SYSUT2,UNIT=VIO,SPACE=(1700,(300,50))
    000033 //SYSUT3 DD DSN=&&SYSUT3,UNIT=VIO,SPACE=(1700,(300,50))
    000034 //SYSIN DD DSN=&MXQUAL..MXRXV340.JCL(&MEM),DISP=SHR
    000035 //* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
    000036 //* LINK EDIT THE INSTALLATION OPTIONS
    000037 //* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
    000038 //LKED EXEC PGM=IEWL,PARM='LET,LIST,REUS,RENT,RMODE=ANY',
    000039 // COND=(0,NE)
    000040 //SYSPRINT DD SYSOUT=*
    000041 //SYSLIB DD DSN=&MXQUAL..MXRXV340.LOADLIB,DISP=SHR
    000042 //SYSLMOD DD DSN=&MXQUAL..MXRXV340.LOADLIB(&MEM),DISP=SHR
    000043 //SYSUT1 DD DSN=&&SYSUT1,UNIT=SYSALLDA,
    000044 // SPACE=(CYL,1)
    000045 //SYSLIN DD DSN=&MXQUAL..MXRXV340.OBJECT(&MEM),DISP=SHR
    000046 // PEND ASMLKED
    000047 //*
    000048 //STEP1 EXEC ASMLKED,MEM=MAXIOPTS
    ****** **************************** Bottom of Data ***************************

The next part needs to be done by the IMS administrator.

  1. The following lines have to be added to a DOPT member:
    EDIT       IMS.SOURCE(TSTDBD) - 01.02                      Columns 00001 00072
    Command ===> Scroll ===> CSR
    129310 **********************************************************************
    129320 * DOPT DEFINITIONS for MAX
    129330 **********************************************************************
    129400 APPLCTN DOPT,PSB=TST0001,PGMTYPE=BATCH
    129500 APPLCTN DOPT,PSB=TST0002,PGMTYPE=BATCH
    129600 APPLCTN DOPT,PSB=TST0003,PGMTYPE=BATCH
    129700 APPLCTN DOPT,PSB=TST0004,PGMTYPE=BATCH
    129800 APPLCTN DOPT,PSB=TST0005,PGMTYPE=BATCH
    ****** **************************** Bottom of Data ****************************There are five PSBs, because 0005 is defined at the DYNMAX parameter in MAXIOPTS ? see Step 1 above please.


  • The IMS admin has to create new MODBLKS modules according to the rules now - with the additional DOPT definitions as shown in Step 3 above.

  • Recycle the IMS system with the new IMS MODBLKS.

    Please note that there is another Knowledge Document, called "How to use CA MAX IMS dynamic PSB feature" what is showing how to use the dynamic PSB generated above.