Skip to content

Installing ChangeMan ZMF Components

This chapter lists tasks you perform to install ChangeMan® ZMF.

Caution

Do not execute the steps in this chapter to upgrade an existing ChangeMan ZMF instance to the current version. If you run the jobs described in this chapter and use existing ChangeMan ZMF data set names, you will destroy the data in those files. Use the appropriate ChangeMan ZMF Migration Guide to upgrade a ChangeMan ZMF instance to the current version.

Step 1: Allocate CUSTOM Libraries

Allocate a set of libraries for customized ChangeMan ZMF components so you can preserved delivered components. See Customizing ChangeMan ZMF Components.

See member ALLOCLIBS in the CMNZMF CNTL for sample JCL to allocate custom and other libraries.

Recommendations for allocating CUSTOM libraries:

  • Choose data set names that comply with your data center standards.

  • Use the same RECFM and LRECL as the corresponding delivered library.

  • For simplicity, allocate SPACE=(CYL,(1,1,50)).

  • You may optimize the BLKSIZE parameter.

  • It is not necessary to allocate a SERCOMC CUSTOM CNTL library. You can keep all customized JCL in the CMNZMF CUSTOM CNTL library.

  • It is not necessary to allocate a SERCOMC CUSTOM CLIST library. You can keep all customized CLISTs in the CMNZMF CUSTOM CLIST library.

...

  1. Allocate CUSTOM libraries for the delivered libraries shown in this table.

    Delivered Libraries Custom Libraries
    ...CMNZMF.VvRrPp.ASMSRC ...CMNZMF.VvRrPp.CUSTOM.ASMSRC
    ...CMNZMF.VvRrPp.CLIST ...CMNZMF.VvRrPp.CUSTOM.CLIST
    ...CMNZMF.VvRrPp.CNTL ...CMNZMF.VvRrPp.CUSTOM.CNTL
    ...CMNZMF.VvRrPp.LOAD ...CMNZMF.VvRrPp.CUSTOM.LOAD
    ...CMNZMF.VvRrPp.MESSAGES ...CMNZMF.VvRrPp.CUSTOM.MESSAGES
    ...CMNZMF.VvRrPp.PANELS ...CMNZMF.VvRrPp.CUSTOM.PANELS
    ...CMNZMF.VvRrPp.REX ...CMNZMF.VvRrPp.CUSTOM.REX
    ...CMNZMF.VvRrPp.SKELS ...CMNZMF.VvRrPp.CUSTOM.SKELS
    ...SERCOMC.VvRrPp.ASMSRC ...SERCOMC.VvRrPp.CUSTOM.ASMSRC
    ...SERCOMC.VvRrPp.LOAD ...SERCOMC.VvRrPp.CUSTOM.LOAD

    ...

  2. Allocate a "delivered" TABLES library and a CUSTOM TABLES library. Allocate these PDS libraries with minimal primary and secondary space, minimal directory space, and DCB attributes RECFM=FB, LRECL=80, and any BLKSIZE.

    ...CMNZMF.VvRrPp.TABLES
    ...CMNZMF.VvRrPp.CUSTOM.TABLES
    

Step 2: APF Authorize Delivered and CUSTOM Load Libraries

Add these libraries to the APF list:

  • Delivered CMNZMF and SERCOMC LOAD libraries that you unloaded from the ChangeMan ZMF installer.

  • Custom LOAD libraries that you allocated in the previous step.

You can use the SETPROG system command to add these libraries to a dynamic APF list until the next IPL. If you use a static APF list, you must IPL before you can execute some of the subsequent steps in the installation process.

Step 3: Apply ChangeMan ZMF License

Apply the license you received to enable ChangeMan ZMF and any of the selectable options you licensed.

Note

ChangeMan ZMF 8 requires a new license key.

See the SER10TY User’s Guide for instructions on how to apply the license. The load modules, JCL, and other components that run SER10TY are included in the SERCOMC libraries unloaded by the ZMF installer.

Step 4: Define ChangeMan ZMF VSAM Files

ChangeMan ZMF base system data is at least seven VSAM files and two QSAM files.

  • Package Master VSAM KSDS File

  • Component Master VSAM KSDS File

  • Long Name Component Master VSAM KSDS File

  • Package and Component Master Forward Recovery VSAM KSDS File

  • Activity Log VSAM KSDS File

  • Delay VSAM KSDS File

  • Impact Analysis VSAM LDS File

  • Impact Analysis Forward Recovery QSAM Log File

All of these data sets are referenced by DD statements in the ChangeMan ZMF started procedure.

Execute this procedure to define and initialize ChangeMan ZMF VSAM files and to allocate sequential log recovery files.

  1. Copy member INITIAL1 and INITIAL2 from the delivered CMNZMF CNTL library to your custom CMNZMF CNTL library.

  2. Edit member INITIAL1 in your custom CNTL library.

    1. Code your JOB statement at the top.

    2. Change all occurrences of DSN node placeholder somnode to create data set names that comply with your local naming conventions. Remember to change DSN names on the IDCAMS DELETE as well as DEFINE commands for VSAM files.

    3. If you are using Db2 to host the I/A table, remove the IADSP step from the JCL.

    4. Code primary and secondary space allocations in the CYLINDERS and MEGABYTES space parameters.

    The amount of space you need depends on the number of components you manage with ChangeMan ZMF, how often they are changed, how many change packages you create, how many relationships between components are tracked, and aging and archiving criteria.

    It is recommended that you start with these allocations.

    VSAM File Unit Pri Sec
    CMNPMAST (Package Master) CYL 20 5
    CMNCMPNT (Component Master) CYL 20 5
    CMNCMPNL (Long Name Component Master) CYL 20 5
    IADSP (Impact Analysis) MB 10 5
    CMNLOG (Log File) CYL 10 5
    CMNDELAY (Delay File) CYL 1 1
    CMNRECV (Recovery File) CYL 10 5

    Note

    If you do not anticipate managing any components with names longer than 8 characters, you can use a minimum space allocation for the CMNCMPNL long name component master.

  3. Submit INITIAL1.

  4. Examine the job output for problems.

  5. Edit member INITIAL2 in your custom CNTL library.

    1. Code your JOB statement at the top.

    2. Change the JOBLIB statement to concatenate your delivered CMNZMF and SERCOMC LOAD libraries.

    3. If you are using Db2 to host the I/A table, remove the CMNIAIN step from the JCL.

    4. Change all occurrences of DSN node placeholder somnode to match the files that you defined with INITIAL1.

    5. Use the following table to determine the execution parameter values for program CMNINTPM in job step INITPM.

    Keyword Parameter Purpose and Valid Values
    RSRCCL Defines the name of the resource class under which ChangeMan ZMF security entities are defined in your security system.

    - $CHGMAN: Suggested if your security system is IBM Security Server RACF.
    CMN: Suggested if your security system is CA ACF2.
    UR1: Suggested if your security system is CA Top Secret.
    ENVTYP Defines the ChangeMan ZMF environment you are building.
    Note: It is recommended that you define your first ChangeMan ZMF test or demonstration instance as an A or All environment. An all environment where a single ChangeMan ZMF instance manages development, maintains baseline libraries, and maintains production libraries that are on shared DASD and shared catalogs.
    - A: Defines the ChangeMan ZMF environment you are building.
    - D: A development environment where a ChangeMan ZMF instance manages development and maintains baseline libraries, but it does not maintain production libraries. A D environment sends package information to a separate P environment for installation into production libraries.
    - P: A production environment where a stripped-down ChangeMan ZMF instance receives change package information from a D or DP environment and installs package components into production libraries. No development is performed in a P environment. A P environment is required where production libraries reside on an LPAR that is separate from development and does not share DASD and catalogs with development. A P environment is also required if Db2 binds or IMS gens for install are performed on an LPAR that is separate from development.
    - DP: A development and production environment where a ChangeMan ZMF instance manages development, maintains baseline libraries, manages production libraries on shared DASD and shared catalogs, and can send package information to a separate P environment for installation into production libraries that are not on shared DASD with shared catalogs.
  6. Submit INITIAL2.

  7. Examine the job output for problems.

    1. Example of SYSPRINT from program CMNINTPM in job step INITPM:

      CMNINTPM - Resource Class=$CHGMAN
      CMNINTPM - CMN Environment=DP
      CMNINTPM - Package Master Initialized
      
    2. Example of CMNPRINT from program CMNIAIN0 in job step CMNIAIN0:

             ChangeMan(R) ZMF Impact Analysis Dataspace Analysis and Initialization
                          -- CMNIAIN0 - 8.2.0 20180203 06.05
      20180418 23134752 Execution parameter is: INITIAL
      20180418 23134757 I/A dataspace initialization complete
      

Step 5: Define XMLSPACE VSAM LDS

XML Services uses a VSAM Linear Data Set (LDS) to map the relationships between XML schemas and DSECTS used for fixed-format control blocks and copybooks. This data set is referenced by the XMLSPACE DD statement in the ChangeMan ZMF started procedure.

One XMLSPACE LDS can be used for all ChangeMan ZMF instances running at the same maintenance release level on the same LPAR.

Execute this procedure to define and populate the XMLSPACE VSAM LDS.

Note

This step also creates a sequential MAPDATA data set used by the XML prototype tool XMLSERV.

  1. Copy member XMLLOAD from the delivered SERCOMC CNTL library to your custom CMNZMF CNTL library.

  2. Edit member XMLLOAD in your custom CNTL library.

    1. Code your JOB statement at the top.

    2. In step RECEIVE, change DSN node placeholder somnode in the RECEIVE command INDS parameter to point to your delivered SERCOMC CNTL library.

    3. Change all other occurrences of DSN node placeholder somnode to create data set names that comply with your local naming conventions. Keep the last node names MAPDATA and XMLSPACE.

  3. Submit JCL member XMLLOAD.

  4. Examine the job output for problems:

    1. Example of SYSTSPRT from job step RECEIVE:

      READY
      DELETE 'CMNTP.S6.SERCOMC.MAPDATA'
      IDC3012I ENTRY CMNTP.S6.SERCOMC.MAPDATA NOT FOUND+
      IDC3009I ** VSAM CATALOG RETURN CODE IS 8 - REASON CODE IS IGG0CLEG-42
      IDC0551I ** ENTRY CMNTP.S6.SERCOMC.MAPDATA NOT DELETED
      IDC0014I LASTCC=8
      READY
      RECEIVE INDS('CMNTP.S6.V814.SERCOMC.CNTL(XMLDATA)')
      INMR901I Dataset DDNAME.MAPDATA from BATCHTSO on NODENAME
      INMR906A Enter restore parameters or 'DELETE' or 'END' +
      INMR908A The input file attributes are: DSORG=SEQUENTIAL, RECFM=F, BLKSIZE=4096,
      INMR909A You may enter DSNAME, SPACE, UNIT, VOL, OLD/NEW, or RESTORE/COPY/DELETE
      INMR001I Restore successful to dataset 'CMNTP.S6.SERCOMC.MAPDATA'
      READY
      END
      
    2. Browse member XMLDATA in your SERCOMC CNTL library. Note the date and time in this line of text near the top of the data set:

      SERNET XML Dsect Cross Reference. Created: dd mmm yyyy hh:mm:ss
      

      Browse the new MAPDATA file and look for the same text at the top of that file. The date and time should be the same as in the XMLDATA member.

    3. Examine the job JESMSGLG to verify that job step LOAD completed with RC=00.

Step 6: Define Staging Versions VSAM Files

The staging versions facility of ChangeMan ZMF retains multiple versions of edited components. This facility is supported by three VSAM files, which are included in the ChangeMan ZMF started procedure.

Note

If you do not intend to use staging versions to keep prior versions of staged package components, then skip this step.

Execute this procedure to define and initialize three staging versions VSAM files.

  1. Copy members INITIAL3 and SVPARM from the delivered CMNZMF CNTL library to your custom CMNZMF CNTL library.

  2. Edit member INITIAL3 in your custom CNTL library.

    Caution

    Follow these instructions for editing INITIAL3 exactly as they are written. The staging versions facility is based on ChangeMan® SSM technology. Some control statements and security definitions are included in this job, even though they serve no function in staging versions under ChangeMan ZMF. If you change these control statements and security definitions, this job will not process successfully.

    1. Code your JOB statement at the top.

    2. Change the JOBLIB statement to concatenate your delivered CMNZMF and SERCOMC LOAD libraries.

    3. Change all occurrences of somnode.CMNZMF.CNTL to point to your custom CMNZMF CNTL library.

    4. Change all remaining occurrences of DSN node placeholder somnode to create data set names that comply with your local naming conventions. Remember to change DSN names on the IDCAMS DELETE as well as DEFINE commands for VSAM files.

    5. Code primary and secondary space allocations in the CYLINDERS space parameter in the IDCAMS DEFINE statements. The amount of space you need depends on the number and size of components for which staging versions is enabled, and the level of development activity at your site. It is recommended that you start with these allocations:

      VSAM File Cylinders
      Pri

      Sec
      CMNVSAM (Staging Versions Archive Master) 10 10
      CMNSVDM (Staging Versions Delta Master) 10 50
      CMNSVOM (Staging Versions Object Master) 10 10
      CMNSVSM (Staging Versions Site Master) 10 10
    6. If you use a PDS to store licenses applied with License Manager, add DD statement SERLIC to the four job steps that execute PGM=HPSTRACK, job step five that executes PGM=HPSMAINT and code the DSN= with your license PDS.

      If you use CSA to store licenses, do not add DD statement SERLIC to the job JCL.

      See "Step 3: Apply ChangeMan ZMF License" and "SERLIC DD Statement".

    7. In STEP1, change placeholder installer to your TSO ID in the following HPSIN control statement for program HPSTRACK:

      OMADMADD=(ID=installer,NAME='Installer')
      
    8. In STEP4, change placeholder your.source.library to the data set name of any source code library that contains members that are typical of source that will be managed by ChangeMan ZMF.

      This step generates a compression table to optimize text compression in the CMNSVDM VSAM file. The library you specify is used only to generate the table. No data from the library is loaded to the compression table.

  3. Edit SVPARM in your custom CNTL library.

    1. In the SITEMASTER, OBJECTMASTER, and DELTAMASTER parameters, code the VSAM data set names that you used in CNTL member INITIAL3. (See the DELETE statements in job step STEP0.)

    2. In the SITEADMINS parameter, change placeholder installer to your TSO ID.

    3. Save member SVPARM.

  4. Submit INITIAL3.

  5. Examine the job output for problems and review JESMSGLG for messages from program HPSTRACK.

    ...

    Example of CMNPRINT from program HPSTRACK in job step STEP1:

     ************************************************************************************************************************
     *                                                                                                                      *
     *                                 Serena ChangeMan SSM (V8.6 Patch 1)                                        PAGE 0000001 *
     *                                 SERENA SOFTWARE UK                                                                   *
     *                   PROPRIETARY SOFTWARE PRODUCT OF Serena Software, Inc. ALL RIGHTS RESERVED.                         *
     *     Wed 2018/04/18_23:32:47    JOBNAME = USR08203    STEPNAME = STEP1    PGMNAME = HPSTRACK    JULDATE = 2018108     *
     ************************************************************************************************************************
    
     HPS0022I HPSINIT      23:32:47 Parmlib in effect: CMNTP.CMN820.C7.CNTL(SVPARM)
                                    Security Userid  : USR0820
     HPS0037I HPSINIT      23:32:47 M-lrecl = 20,200
                                    M-datsi = 20,145
     HPS0029I HPSINIT 23:32:48 Successful open of Site Master:        CMNTP.S7.CMNSVSM
    
     HPS0334I HPSOINIT 23:32:48 Max-lrecl = 4,084
                                Max-data  = 4,009
    
     HPS0329I HPSOINIT 23:32:48 Successful open of Object Master: CMNTP.S7.CMNSVOM
    
     Command      Column     10       20       30       40      50       60       70       80                    PAGE 0000002
     Count-seg ....+....+....+....+....+....+....+....+....+....+....+....+....+....+....+....+
        1        "TRACE=OFF "
        2        "OMADMADD=(ID=********,NAME='Universal Admin') "
        3        "OMADMADD=(ID=USR0820,NAME='Installer') "
    
     HPS1300I    HPSTRACK  23:32:48 EOF HPSIN: Cards read=4 with    3 Commands.
    
     HPS1361I    HPSTRACK  23:32:48 ADMADD (********        ) function successful.
    
     HPS1361I    HPSTRACK  23:32:48 ADMADD (USR0820         ) function successful.
    
     HPS0000I    HPSTRACK  23:32:48   Job Started: 2018/04/18_23:32:47
                                      Job Ended  : 2018/04/18_23:32:48
                                      Warning cnt: 0
                                      Severe msgs: 0
    

    ...

    Example of CMNPRINT from program HPSTRACK in job step STEP2:

     ************************************************************************************************************************
     *                                                                                                                      *
     *                               Serena ChangeMan SSM (V8.6 Patch 1)                                      PAGE 0000001 *
     *                               SERENA SOFTWARE UK                                                                     *
     *                    PROPRIETARY SOFTWARE PRODUCT OF Serena Software, Inc. ALL RIGHTS RESERVED.                        *
     *   Wed 2018/04/18_23:32:48     JOBNAME = USR08203     STEPNAME = STEP2     PGMNAME = HPSTRACK     JULDATE = 2018108   *
     ************************************************************************************************************************
    
     HPS0022I  HPSINIT    23:32:48   Parmlib in effect: CMNTP.CMN820.C7.CNTL(SVPARM)
                                     Security Userid  : USR0820
    
     HPS0029I  HPSINIT    23:32:48   Successful open of Site Master: CMNTP.S7.CMNSVSM
    
     HPS0329I  HPSOINIT   23:32:48   Successful open of Object Master: CMNTP.S7.CMNSVOM
    
     Command     Column     10       20       30       40       50       60       70       80                    PAGE 0000002
     Count-seg ....+....+....+....+....+....+....+....+....+....+....+....+....+....+....+....+
        1      "TRACE=OFF                                                                      "
        2      "GRPADMADD=(ID=*******,NAME='Universal Admin') for CMN SV "
    
     HPS1300I  HPSTRACK   23:32:48 EOF HPSIN: Cards read=3   with 2 Commands.
    
     HPS1336I  HPSTRACK   23:32:48 DEPTADD/GRPADMADD - Department added: *******
    
     HPS0000I HPSTRACK 23:32:48 Job Started: 2018/04/18_23:32:48
                                Job Ended  : 2018/04/18_23:32:48
                                Warning cnt: 0
                                Severe msgs: 0
    

    ...

    Example of CMNPRINT from program HPSTRACK in job step STEP3:

     ************************************************************************************************************************
     *                                                                                                                      *
     *                                   Serena ChangeMan SSM (V8.6 Patch 1)                                     PAGE 0000001 *
     *                                   SERENA SOFTWARE UK                                                                 *
     *                       PROPRIETARY SOFTWARE PRODUCT OF Serena Software, Inc. ALL RIGHTS RESERVED.                     *
     *      Wed 2018/04/18_23:32:49   JOBNAME = USR08203   STEPNAME = STEP3   PGMNAME = HPSTRACK   JULDATE = 2018108        *
     ************************************************************************************************************************
    
     HPS0022I  HPSINIT   23:32:49  Parmlib in effect: CMNTP.CMN820.C7.CNTL(SVPARM)
                                   Security Userid : USR0820
     HPS0029I  HPSINIT   23:32:49  Successful open of Site Master: CMNTP.S7.CMNSVSM
    
     HPS0329I  HPSOINIT  23:32:49  Successful open of Object Master: CMNTP.S7.CMNSVOM
    
     Command     Column     10        20        30        40        50        60        70        80                PAGE 0000002
     Count-seg ....+....+....+....+....+....+....+....+....+....+....+....+....+....+....+....+
        1      "TRACE=OFF "
        2      "GRPADD=(GROUP=CMNGROUP)                                                       "
    
     HPS1300I  HPSTRACK  23:32:49 EOF HPSIN: Cards read=2 with 2 Commands.
    
     HPS0329I  HPSOINIT  23:32:49 Successful open of Object Master: CMNTP.S7.CMNSVOM
    
     HPS1338I  HPSTRACK  23:32:49 GRPADD - Group Added: ******* .CMNGROUP
    
     HPS0000I  HPSTRACK  23:32:49  Job Started: 2018/04/18_23:32:49
                                   Job Ended  : 2018/04/18_23:32:49
                                   Warning cnt: 0
                                   Severe msgs: 0
    

    ...

    Example of CMNPRINT from program HPSTRACK in job step STEP4:

     ************************************************************************************************************************
     *                                                                                                                      *
     *                             Serena ChangeMan SSM (V8.6 Patch 1) PAGE 0000001                                            *
     *                             SERENA SOFTWARE UK                                                                       *
     *                  PROPRIETARY SOFTWARE PRODUCT OF Serena Software, Inc. ALL RIGHTS RESERVED.                          *
     *       Wed 2018/04/18_23:32:49   JOBNAME = USR08203   STEPNAME = STEP4   PGMNAME = HPSTRACK   JULDATE = 2018108       *
     ************************************************************************************************************************
    
     HPS0022I   HPSINIT   23:32:49     Parmlib in effect: CMNTP.CMN820.C7.CNTL(SVPARM)
                                        Security Userid : USR0820
    
     HPS0329I   HPSOINIT  23:32:49     Successful open of Object Master: CMNTP.S7.CMNSVOM
    
     HPS0029I   HPSINIT   23:32:49     Successful open of Site Master: CMNTP.S7.CMNSVSM
    
     Command      Column     10       20       30       40       50       60       70       80              Page 0000002
     Count-seg ....+....+....+....+....+....+....+....+....+....+....+....+....+....+....+....+
        1-1 "     IDVTABLE=(TABLENAME=TEXT,                                                  "
         -2 "     REFDSN=USR0820.COBOL)                                                      "
    
     HPS1300I  HPSTRACK   23:32:49 EOF HPSIN: Cards read=2 with 1 Commands.
    
     HPS0502I  HPSTRACK   23:32:50 Delta Master cluster has been initialized.Max-lrecl = 22,520
                                   Max-data size = 22,506
    
     HPS0504I  HPSTRACK   23:32:50 Successful open of Delta Master: CMNTP.S7.CMNSVDM
    
     HPS0329I  HPSOINIT   23:32:50 Successful open of Object Master: CMNTP.S7.CMNSVOM
    
     HPS1384I  HPSTRACK   23:32:50 Standard Compression-Expansion table defined: TEXT
    
     HPS0000I  HPSTRACK   23:32:50  Job Started : 2018/04/18_23:32:49
                                    Job Ended   : 2018/04/18_23:32:50
                                    Warning cnt : 0
                                    Severe msgs : 0
    

    ...

    Example of CMNPRINT from program HPSTRACK in job step STEP5

     *                                                                                                                      *
     *                                   Serena ChangeMan SSM (V8.6 Patch 1) PAGE 0000001                                      *
     *                                   SERENA SOFTWARE UK                                                                 *
     *                   PROPRIETARY SOFTWARE PRODUCT OF Serena Software, Inc. ALL RIGHTS RESERVED.                         *
     *     Wed 2018/04/18_23:32:51    JOBNAME = USR08203    STEPNAME = STEP5    PGMNAME = HPSMAINT    JULDATE = 2018108     *
     ************************************************************************************************************************
    
     HPS0022I  HPSINIT   23:32:51  Parmlib in effect: CMNTP.CMN820.C7.CNTL(SVPARM)
                                   Security Userid  : USR0820
    
     Execute parm = "LIC=SSV,ARCHIVE"
    
     Options in effect: Purge=None
                        Level=None
                        Trace=OFF
                        Archive
    
     HPS1722I  HPSMAINT   23:32:51  SUMMARY REPORT:
                                              0 Site Master records updated
                                              0 Site Master records erased
                                              0 Object Master records erased
                                              0 Delta Master records updated
                                              0 Delta Master records erased
                                              0 Archive Master records added
                                              0 Archive Master bytes written
    
                                              1 Archive Master file size (records)
                                            100 Archive Master file size (bytes)
                                              0 Files being tracked
    
     HPS0000I  HPSMAINT   23:32:51  Job Started: 2018/04/18_23:32:51
                                    Job Ended  : 2018/04/18_23:32:51
                                    Warning cnt: 0
                                    Severe msgs: 0
    

    Note

    If your INITIAL3 job fails, compare your JCL to the original job in the delivered CNTL library. If you have made a change to any JCL statement or control statement that was not explicitly described in this section, restore the statement to its delivered state and submit INITIAL3 again.

Step 7: Store SVPARM Control Member

Note

If you do not intend to use staging versions to keep prior versions of staged package components, then skip this step.

Copy member SVPARM from your custom CNTL library into a production or systems control member library. You created member SVPARM in your custom CNTL library in Step 6: Define Staging Versions VSAM Files.

Step 8: Allocate the SER#PARM TCP/IP Address Library

SERNET optionally can update and use a PDS or PDSE library to store TCP/IP addresses and port numbers for ChangeMan applications if it is not manually updated. For more information, see SER#PARM DD Statement.

Caution

Do not use the SER#PARM library for any other purpose. The SERNET started task opens this library for output (if in the JCL), which can interfere with other uses of the file.

Allocate the PDS(E) with these characteristics:

DSN=somnode.SERCOMC.TCPIPORT        * Recommended last node
DCB=(RECFM=FB,LRECL=80,BLKSIZE=0)   * Let SMS set BLKSIZE 
SPACE=(TRK,(2,5,30))

If there is a TCP/IP address space on the LPAR where SERNET and ChangeMan ZMF run, and the SER#PARM DD is defined in the started task, SERNET automatically creates a #SERx member, if none exists, where “x” is the subsystem ID of the SERNET started task, to store TCP/IP addresses and port numbers. If not allocated to the started task, then you may manually define the SERx member in order to control what is used for TCP/IP connections. The logon CLIST will use cross memory services automatically if the CON value is blank or if X is defined, and the SER#PARM dataset need not be allocated in the logon CLIST.

No TCP/IP Address Space

If there is no TCP/IP address space on the image where the SERNET started task will run, manually create a member in the SER#PARM file and code a dummy TCP/IP address and port number:

  1. Create member #SERx, where “x” is the subsystem ID of the SERNET started task.

  2. Edit member #SERx and code these lines to set the TCP/IP address and port number to zero. (You may omit the scale.)

    * --+----1----+----2----+----3----+----4----+----5----+----6----+
    * SMFI S APP TCPIPROC PORT # ADDR 
      smfi x XCH 00000 D001 
      smfi x CMN 00000 D001 
    

    Where:

    • smfi Four character SMFID of the system.

    • x SERNET started task subsystem ID.

    If you do not know the SMFID of the system, execute the following REXX:

    \* REXX */ say mvsvar(syssmfid)
    

    You can also browse SYS1.PARMLIB(SMFPRMxx) and look for the SID= parameter.

Step 9: Create ISPF Keylist for EXPAND

ChangeMan ZMF panels reference a special keylist that includes a PF key assignment for EXPAND.

Execute this procedure to generate keylist member CMNKEYS.

  1. Copy member CMNDTL from the delivered CMNZMF CNTL library to your custom CMNZMF CNTL library. Note this now has three ISPSTART commands.

  2. Edit member CMNDTL in your custom CNTL library.

    1. Code your JOB statement at the top. b Code DD name DTLGML with the delivered CMNZMF SAMPLES library.

    2. Code DD name DTLTAB with the "delivered" TABLES library you allocated in Step 1: Allocate CUSTOM Libraries.

    3. Change all remaining occurrences of placeholder somnode to the high level qualifier you use for ISPF system libraries.

  3. Submit JCL member CMNDTL.

  4. Examine the job output for problems.

    1. Example of ISPLOG from job step DTL:

      Time           *** ISPF transaction log ***            Userid: USER015    Date: 18/04/19    Page: 1
      
      21:26    Start of ISPF Log - - - - Session # 1 -------------------------------------------------------
      21:26        TSO     - Command - - ISPDTLC CMNELSK (PROFDDN=* CUASUPP REPLACE)
      21:27                            - ISPC028AI: Total of 2 message(s) have been suppressed.
      21:27                            - ISPC029AI: Total of 2 warning(s) and 0 error(s) found.
      21:27    End of ISPF Log - - - - - Session # 1 -------------------------------------------------------
      Time                 *** ISPF transaction log *** Userid: USER015 Date: 18/04/19 Page: 1
      
      21:27    Start of ISPF Log - - - - Session # 2 -------------------------------------------------------
      21:27        TSO     - Command - - ISPDTLC CMNEROK (PROFDDN=* CUASUPP REPLACE)
      21:27                            - ISPC028AI: Total of 2 message(s) have been suppressed.
      21:27                            - ISPC029AI: Total of 2 warning(s) and 0 error(s) found.
      21:27    End of ISPF Log - - - - - Session # 2 -------------------------------------------------------
      Time                 *** ISPF transaction log *** Userid: USER015 Date: 18/04/19 Page: 1
      
      21:27    Start of ISPF Log - - - - Session # 3 -------------------------------------------------------
      21:27        TSO     - Command - - ISPDTLC CMNMREK (PROFDDN=* CUASUPP REPLACE)
      21:27                            - ISPC028AI: Total of 2 message(s) have been suppressed.
      21:27                            - ISPC029AI: Total of 2 warning(s) and 0 error(s) found.
      21:27    End of ISPF Log - - - - - Session # 3 -------------------------------------------------------
      
    2. Example of SYSTSPRT from job step DTL (ensure it runs on an SMS managed dataset or there will be LIBDEF RC=20 and a failure):

      READY
       ISPSTART CMD(ISPDTLC CMNELSK (PROFDDN=* CUASUPP REPLACE))
      ISPC021I: ISPDTLC ISPF 7.3 Dialog Tag Language Conversion Utility
      ISPC020AI: ISPF Dialog Tag Language Conversion Utility for ISPF 7.3. Current
         APAR level: PID. Current PTF number: 3 Sep 2017.
      ISPC022I: Converting source file "CMNTP.CMN820.SAMPLES(CMNELSK)"...
      ISPC028I: 2 message(s) have been suppressed.
      ISPC029I: 2 warning(s) and 0 error(s) found.
      ISPD117
      The initially invoked CLIST ended with a return code = 1
         USR0820.USR08204.J0917421.D0000103.? was preallocated (no free was done).
      READY
       ISPSTART CMD(ISPDTLC CMNEROK (PROFDDN=* CUASUPP REPLACE))
      ISPC021I: ISPDTLC ISPF 7.3 Dialog Tag Language Conversion Utility
      ISPC020AI: ISPF Dialog Tag Language Conversion Utility for ISPF 7.3. Current
         APAR level: PID. Current PTF number: 3 Sep 2017.
      ISPC022I: Converting source file "CMNTP.CMN820.SAMPLES(CMNEROK)"...
      ISPC028I: 2 message(s) have been suppressed.
      ISPC029I: 2 warning(s) and 0 error(s) found.
      ISPD117
      The initially invoked CLIST ended with a return code = 1
      USR0820.USR08204.J0917421.D0000103.? was preallocated (no free was done).
      READY
       ISPSTART CMD(ISPDTLC CMNMREK (PROFDDN=* CUASUPP REPLACE))
      ISPC021I: ISPDTLC ISPF 7.3 Dialog Tag Language Conversion Utility
      ISPC020AI: ISPF Dialog Tag Language Conversion Utility for ISPF 7.3. Current
         APAR level: PID. Current PTF number: 3 Sep 2017.
      ISPC022I: Converting source file "CMNTP.CMN820.SAMPLES(CMNMREK)"...
      ISPC028I: 2 message(s) have been suppressed.
      ISPC029I: 2 warning(s) and 0 error(s) found.
      ISPD117
      The initially invoked CLIST ended with a return code = 1
       USR0820.USR08204.J0917421.D0000103.? was preallocated (no free was done).
      READY
      END
      

Step 10: Build SERNET JCL for ChangeMan ZMF

The procedure for a SERNET started task that runs ChangeMan ZMF is built from two JCL members delivered on the ZMF installer.

See SERNET Started Procedure With ChangeMan ZMF for an example of a finished procedure.

Execute this procedure to build JCL for a SERNET instance that runs ChangeMan ZMF.

  1. In your custom CNTL library, create a member for the SERNET started task procedure. Name the member according to the convention that you established in SERNET Started Task Names.

  2. Copy in member SERVER from the delivered SERCOMC CNTL library. This is the model JCL for a SERNET started task. If you are using Db2 to host the I/A table, remove the CMNIMPCT and CMNIALOG DD statements.

  3. After the SERVER model JCL, copy in member STARTJCL from the delivered CMNZMF CNTL library. This is the model for ChangeMan ZMF DD statements.

  4. Code the STEPLIB DD statement to concatenate these libraries in the stated order:

    1. Custom LOAD libraries that you allocated for customized CMNZMF and SERCOMC load modules. See Step 1: Allocate CUSTOM Libraries for more information.

    2. Delivered CMNZMF LOAD library and delivered SERCOMC LOAD library that you unloaded from the ZMF installer. See Chapter 4, "Unloading the Software" on page 51.

    3. CA Librarian product library or CA Panvalet product library if the library is not in the LINKLIST and you intend to use these products for ChangeMan ZMF baseline libraries. See CA Panvalet® and CA Librarian® Compatibility for more information.

  5. If you don’t want to manage the SER#PARM dataset manually, then you may code the SER#PARM DD statement to point the PDS(E) that you created in Step 8: Allocate the SER#PARM TCP/IP Address Library.

  6. Code the XMLSPACE DD statement to point to the VSAM LDS that you created and populated with JCL member XMLLOAD in Step 5: Define XMLSPACE VSAM LDS.

  7. If you use a PDS to store licenses applied with License Manager, add DD name SERLIC to point to your license PDS.

    If you use CSA to store licenses, do not add DD name SERLIC to the started task JCL.

    See Step 3: Apply ChangeMan ZMF License and SERLIC DD Statement for more information.

  8. If you will store SERNET keyword options in a PDS or PDSE library member (See Passing Parameters to SERNET ), do the following:

    1. Code keyword option DDNAME=ddname in the PARM parameter for program SERVER.

    2. Allocate the PDS or PDSE library with LRECL=80

    3. Code a corresponding ddname DD statement that points to the library that you allocated and the member where you will store SERNET keyword options.

  9. Create a GDG index for SYSMDUMP data sets. (See SYSMDUMP DD Statement) Code the GDG data set name at the SYSMDUMP DD statement.

  10. Code the following DD names to point to the VSAM clusters that you created with JCL member INITIAL1 in "Step 4: Define ChangeMan ZMF VSAM Files." The last node in the VSAM cluster name that you created should be the same as the DD name.

    CMNPMAST
    CMNCMPNT
    CMNCMPNL
    

    Note

    If you will use Batch Local Shared Resources (BLSR) for ChangeMan ZMF VSAM files (see VSAM I/O Optimization of ZMF Master Files), follow the instructions in the JCL comments to use an alternate DD statement for CMNPMAST, CMNCMPNT, and CMNCMPNL.

  11. Code the CMNIMPCT and CMNIALOG DD statements to point to the VSAM LDS and the sequential log file that you created with JCL member INITIAL1 in Step 4: Define ChangeMan ZMF VSAM Files. These DD names do not match the last node of the data set names that you created:.

    DD Name Last DSN Node
    CMNIMPCT IADSP
    CMNIALOG IALOG
  12. Code the following DD names to point to the VSAM clusters that you created with JCL member INITIAL1 in "Step 4: Define ChangeMan ZMF VSAM Files." The last node in the VSAM cluster name that you created should be the same as the DD name.

    CMNLOG
    CMNRECV
    CMNDELAY
    
  13. If you intend to use the staging versions facility of ChangeMan ZMF, code the HPSPLIB DD statement to point to the SVPARM control member that you edited and saved in "Step 7: Store SVPARM Control Member." SERLIC DD statement must be added to this job and any procedure using DD statement HSPSLIB..

    Note

    If you do not intend to use staging versions to keep prior versions of staged package components, then delete the HPSPLIB and HPSIN DD statements. Do not use DD DUMMY or DSN=NULLFILE.

  14. Change placeholder somnode in the following ISPF system libraries to conform to your standards:

    somnode.SISPMENU
    somnode.SISPTENU
    
  15. Change placeholder somnode in the ISPF libraries at the following ISPF DD statements to match the library names for delivered libraries you created in Step 3: Expand PDS Libraries with RECEIVE on and CUSTOM library names you created in "Step 1: Allocate CUSTOM Libraries:

    ISPPLIB
    ISPMLIB
    ISPSLIB
    ISPLLIB
    ISPTLIB
    
  16. Code required SERNET keyword options in the PARM parameter for program SERVER, or code them in the library member referred to by the DD name specified in the DDNAME=ddname keyword option. See Parameters for SERNET and ChangeMan ZMF on page 34.

    Note

    If you code keyword option SUBSYS=subsysID as a record in the library member referred to by DDNAME=ddname, then remove all references to the symbolic parameter \&ID in the started procedure.

  17. If you do not use the symbolic parameter OPT, delete it from the PROC statement at the top of the JCL, and remove it from the PARM statement for program SERVER.

  18. Add DD statements that are required to resolve conflicts between ChangeMan ZMF and other software tools in use at your site. See Software Conflicts.

  19. Install the SERNET procedure in a system PROCLIB.

    Note

    If you intend to enforce local business rules in ChangeMan ZMF functions, you must establish a separate HLLX started task which will be controlled by ZMF only. Follow the instructions detailed in the ChangeMan ZMF 8.1 High Level Language Functional Exits Getting Started Guide for this feature.

Step 11: Build Default File Tailoring Procedure

ChangeMan ZMF starts a file tailoring procedure to run in a separate address space to create JCL for package installation jobs, stage build jobs, promotion jobs, and other batch processes.

See CMNxADSP Default File Tailoring Procedure for an example of a finished procedure.

Execute this procedure to build a default file tailoring started procedure for the ChangeMan ZMF instance that you built in Step 10: Build SERNET JCL for ChangeMan ZMF.

  1. In your custom CNTL library, create a new member named CMNxADSP, where x is the subsystem ID of the SERNET started task.

  2. Copy in member CMNADSP from the delivered CNTL library. Edit CMNxADSP in your CUSTOM CNTL library.

  3. Copy the library concatenations for following DD statements from the SERNET started procedure (and the SER#PARM dataset if managed outside the started task) you created in Step 10: Build SERNET JCL for ChangeMan ZMF into the corresponding DD statements in CMNxADSP:

    STEPLIB
    SER#PARM
    ISPPLIB
    ISPMLIB
    ISPSLIB
    ISPTABL
    
  4. At the SYSEXEC DD statement, change placeholder somnode in the REX and CEXEC libraries to match the library names for delivered libraries you created in Step 3: Expand PDS Libraries with RECEIVE and CUSTOM library names you created in Step 1: Allocate CUSTOM Libraries.

  5. In the ISPTLIB DD statement, concatenate the same libraries you coded in the SERNET started procedure at the ISPTLIB DD statement, leaving the first library as a temporary library without a DSN.

  6. Change the high level qualifier on the library in the ISPTABL DD statement to conform to your standards for system ISPF libraries.

  7. Add the same DD statements that you added to the SERNET started task JCL to resolve conflicts between ChangeMan ZMF and other software tools in use at your site.

    Caution

    • Do not code any values for symbolic parameters. The calling programs resolve symbolic parameters.

    • Do not change any other JCL statements such as the PROC name, step name, or DD names.

  8. Install started procedure CMNxADSP in a system PROCLIB. Ensure that it runs under the same security - set the started task userid to be the same as the SERNET started task (or has the same authority).

Step 12: Build the File Recall Procedure - SERDRT

The Sernet started task can now initiate the recall of an ML2 migrated data set in an address space outside of the address space in which the Sernet started task runs. Refer to the sample JCL in member SERDRT in the SERCOMC.CNTL distribution library. Ensure that it runs under the same security - set the started task userid to be the same as the SERNET started task (or has the same authority).

The number of these procedures is defined by the ASIDS4RECALL parameter in the SERSYSIN DD statement of the started task JCL. The range of address spaces permitted is from 2 to 16. If this parameter is omitted, the default is 4. The limit can be changed by an operator command.

See the ASIDS4RECALL keyword in Appendix D, "Sernet Keyword Options" for more information.

You can use the ASIDS4R operator command to dynamically adjust the ASIDS4RECALL setting. See the Appendix E, "Modify Commands" for more information on operator commands.

Step 13: Build the Activity Log Reporting Procedure - SERALREP

The Sernet started task initiates the reporting of activity in an address space outside of the address space in which the Sernet started task runs. This occurs shortly after midnight on the first day of each month. This will process the activity log and if successful then the activity log will be cleared. Like SERDRT this proc must be in a JES accessible proclib.

When the job is submitted a similar message to this will be in the SYSLOG, and in the STC SERPRINT DD:

2019/11/01 00:00:01.37 1776C000 SER9776I Invoking SERALREP for activity log monthly reporting

If the job fails (for example with a JCL error if you haven’t set it up), then a similar message will be in the SYSLOG, and in the STC SERPRINT DD:

2019/11/01 00:00:21.56 1776C000 SER9772E Start of SERALREP failed - check SYSLOG

Refer to the sample JCL in member SERALREP in the SERCOMC.CNTL distribution library. The security requirements for SERALREP are the same as those for SERDRT.

See the ALREPORTPROC keyword in Appendix D, "Sernet Keyword Options".

Step 14: Build the Logon CLIST

Users and administrators execute a CLIST to connect to SERNET and ChangeMan ZMF.

Execute this procedure to build a CLIST to connect to the ChangeMan ZMF instance that you built in Step 10: Build SERNET JCL for ChangeMan ZMF.

  1. In your custom CMNZMF CLIST library, create a member for the logon CLIST. For your first ChangeMan ZMF instance, name the CLIST the same as the started procedure.

  2. Copy in member CMN from the delivered CMNZMF CLIST library.

  3. Set the default value for parameter SS to the subsystem ID that you specified for the SERNET started procedure. Example for subsystem ID 0:

    SS(0)
    
  4. A default value for the CON parameter is not recommended. Set parameter CON to default value T for TCP/IP or X for Cross Memory Services only if communication to the SERNET started task is exclusively one or the other.

  5. If you are using the SER#PARM dataset, then in the ALLOC DD (SER#PARM) statement, code the library that you coded in the SER#PARM DD statement in the SERNET started procedure. If you are only using Cross Memory Services, then it may be omitted.

  6. If you coded a SERLIC DD statement in the SERNET started procedure, code an ALLOC DD (SERLIC) statement with the same library name. Example:

    ALLOC DD (SERLIC) DSN( +
     'somnode.LICENSE.DATA' +
     ) SHR REU
    
  7. In the ALLOC DD (SERPRINT) statement, code a SYSOUT class.

  8. Change all remaining occurrences of placeholder somnode to create data set names that match the library names for delivered libraries you created in Step 3: Expand PDS Libraries with RECEIVE and CUSTOM library names you created in Step 1: Allocate CUSTOM Libraries.

  9. In the LIBDEF ISPTLIB statement, ensure that the TABLES library that you populated in Step 9: Create ISPF Keylist for EXPAND is included in the concatenation.

  10. Modify the ISPEXEC SELECT statement to add the subsystem ID to two parameters:

    1. NEWAPPL - This parameter specifies a 1- to 4-character application code that is prefixed to the user and edit profile names. By including the subsystem ID in NEWAPPL, separate profiles are maintained for each ZMF instance that you use. Example:

      NEWAPPL(CMN&SS) 
      
    2. SCRNAME - This ISPF command sets the 2- to 8-character screen name that is displayed in the upper left corner of ChangeMan ZMF panels when you manually issue the command SCRNAME ON. Adding the subsystem ID to the screen name makes it easy to identify which ZMF instance you are working on from any ZMF panel. Example:

      SCRNAME(CMN&SS)
      
  11. Test the CLIST syntax in the ISPF Command Shell panel:

    EX ‘somnode.CMNZMF.CUSTOM.CLIST(CMNx)’
    

    The ChangeMan Down panel (CMNSTDWN) is displayed if you have no errors.

  12. Copy the CLIST into a SYSTEM or user CLIST library.

Step 15: Modify Exit Program CMNEXINS

Follow these steps to modify exit program CMNEXINS to define the DSN that ChangeMan ZMF uses for utility data sets.

  1. Copy the source for program CMNEXINS from the delivered CMNZMF ASMSRC library to your custom ASMSRC library.

  2. Edit CMNEXINS to set the high level qualifiers for ChangeMan ZMF utility data sets. See Utility Data Sets.

    Tip

    The exit program source contains comments and several samples that can help you code your DSN naming and allocation conventions.

  3. Copy member ASSEMBLE from the delivered SERCOMC CNTL library to your custom CMNZMF CNTL library.

  4. Edit the assemble and link JCL.

    1. Code your JOB statement at the top.

    2. Change the assembler program name and the linkage editor program name to comply with your local standards.

    3. Change the SYSLIB concatenation for the ASM step to include the delivered CMNZMF and SERCOMC copybook and source libraries.

    4. Change the SYSLIB concatenation for the LKED step to include the delivered CMNZMF and SERCOMC LOAD libraries.

    5. Change the SYSLMOD data set name in the link step to point to your custom LOAD library. Do not link-edit into a delivered LOAD library.

    6. Code the symbolic parameters on the EXEC statement, which follows the PEND statement at the bottom of the in-line procedure. Set MBR to the program name CMNEXINS. Code AC=0 for the authorization code symbolic parameter.

  5. Submit the ASSEMBLE job JCL.

  6. If the return code is zero, compare the directory entries for CMNEXINS in your custom LOAD library to the directory entries in the delivered CMNZMF LOAD library. If they are not identical, adjust the ASSEMBLE job JCL and submit the job again.

  7. If you are changing exit CMNEXINS after you have brought up the SERNET started task, stop and start the started task to enable your changes.

Step 16: APF Authorize Other Load Libraries

All load libraries in the STEPLIB concatenation in the SERNET started task JCL must be APF authorized.

In Step 2: APF Authorize Delivered and CUSTOM Load Libraries, you added the ChangeMan ZMF delivered and custom LOAD libraries to the APF list.

If there are other libraries in the STEPLIB concatenation, such as custom promotion load libraries in a test ChangeMan ZMF instance, add those libraries to the APF list now.

You can use the SETPROG system command to add libraries to a dynamic APF list until the next IPL. If you use a static APF list, an IPL is required before you can bring up ChangeMan ZMF and before you can test some of the housekeeping jobs you build in Setting Up Housekeeping.