Skip to content

CMN$$JBL - JOBLIB / STEPLIB

We recommend against including ChangeMan ZMF load libraries in the LINKLIST. ChangeMan ZMF includes skeleton CMN$$JBL, which provides a standard JOBLIB concatenation for batch jobs submitted from the started task.

Skeleton CMN$$JBL is also used to provide ZMF libraries in a STEPLIB for plan lookup program CMNDB2PL in the DB2 Option. In file tailoring, the DD name defaults to JOBLIB unless variable &JOBLBDD is set to STEPLIB or some other value.

Skeleton CMN$$JBL is included by these skeletons.

Skeleton Description DD Name
CMN$$BRQ Routine to connect to a remote task for backouts and reverts STEPLIB
CMN$$D2J JOB statement for DB2 bind jobs JOBLIB
CMN$$JCD JOB statement for user-initiated jobs JOBLIB
CMN$$JNM JOB statement for baseline ripple and other installation jobs at the development instance JOBLIB
CMN$$NTF Routine to invoke batch approval notification JOBLIB
CMN$$PRB Routine for DB2 binds at promotion or demotion STEPLIB
CMN$$RAL Routine for release audit reporting tables update STEPLIB
CMN$$RAP Routine for generate release audit reports STEPLIB
CMN$$RAU Routine for audit area STEPLIB
CMN$$RPB Routine for DB2 binds at remote promotion or demotion STEPLIB
CMN$$RPJ JOB statement for remote promotion or demotion JOBLIB
CMN$$SJN JOB statement for remote site installation or backout JOBLIB
CMN$$SPB Sample routine for promotion DB2 binds using local shadow libraries STEPLIB
CMN21 Routine for DB2 binds for production library installation STEPLIB
CMN32 Routine for DB2 binds for baseline ripple STEPLIB
CMN49 Routine for DB2 binds for production library backout STEPLIB
CMN56 Routine for DB2 binds for reverse baseline ripple STEPLIB

...

The delivered skeleton contains selection logic to concatenate test ZMF load libraries in front of production ZMF libraries for a test instance of ChangeMan ZMF. The actual data set names are in variables that are defined in the skeleton CMN$$DSN.

If you license the ChangeMan ZMF DB2 Option, do not include a DB2 system load library in skeleton CMN$$JBL. Skeletons that create JCL for DB2 bind jobs obtain the DB2 library name from variable &STSLOD using logic like this (example taken from CMN$$PRB):

//DB2PL EXEC    PGM=CMNDB2PL,   *** DETERMINE DB2 BIND REQUIREMENTS
//              REGION=0M,
//              COND=(4,LT)
)SET JOBLBDD = STEPLIB
)IM CMN$$JBL
)SEL &STSLOD NE &Z
)SET DB2DSNLD = &STSLOD
)IM CMN$$D2X
//              DD DISP=SHR,DSN=&DB2DSNLX
//              DD DISP=SHR,DSN=&STSLOD
)ENDSEL &STSLOD NE &Z

...

Variable &STSLOD contains the library name entered in the DB2 System Load Library field on the DB2 Physical Subsystems Part 1 of 2 (CMNGD2S0) panel in DB2 global administration.

Customization Tasks

  1. Copy skeleton CMN$$DSN from your vendor CMNZMF SKELS library to your custom SKELS library.

  2. In the section that defines the JOBLIB, code the appropriate values to use delivered and CUSTOM load libraries for CMNZMF LOAD and SERCOMC LOAD libraries. This is as delivered (note the first half are for a test instance of ChangeMan ZMF, second half are for a production instance of ChangeMan ZMF):

    )CM THIS DEFINES THE VARIOUS LOAD LIBRARIES USED TO BUILD THE JOBLIB
    )CM CONCATENATION.
    )CM (CMN$$JBL)
    )CM
    )SET ZMFCTST = somnode.CMNZMFt.CUSTOM.LOAD
    )SET SERCTST = somnode.SERCOMCt.CUSTOM.LOAD
    )SET ZMFVTST = somnode.CMNZMFt.LOAD
    )SET SERVTST = somnode.SERCOMCt.LOAD
    )SET ZMFCPRD = somnode.CMNZMF.CUSTOM.LOAD
    )SET SERCPRD = somnode.SERCOMC.CUSTOM.LOAD
    )SET ZMFVPRD = somnode.CMNZMF.LOAD
    )SET SERVPRD = somnode.SERCOMC.LOAD
    

    ...

    Note that in the distributed CMN$$DSN, the commented name in brackets tells you the name of the relevant skeleton(s) using these variables, in this example it is CMN$$JBL.

  3. If you have a ChangeMan ZMF test instance, there is logic in CMN$$JBL based on subsystem ID so that your test libraries are concatenated in front of the libraries you use to run your production ChangeMan ZMF instance. You will also need to copy and edit the CMN$$JBL skeleton to use the correct subsystem ID for your test instance.