Skip to content

IMS Batch Services

This section contains a selection of commonly used ChangeMan ZMF programs that can be customized and executed in batch mode.

CMNISPRE

CMNISPRE is executed in stage jobs for PSB and DBD source components. It scans the macro source to determine if an ACBGEN is required. If an ACBGEN is required, an ACB build statement record is created in the package master for each IMS region defined to this instance of ChangeMan ZMF.

Follow these steps to view the ACB build statements for a PSB or DBD component that has been staged in a package:

  1. On the Primary Option Menu (CMN@PRIM), select option 1 Build.

  2. On the Build Options menu (CMNBUILD), select option 2 Update.

  3. On the Update: Package Information menu (CMNPGNL0), type the Package ID and select option I IMS Information.

  4. On the Update: IMS Package Update Options, menu (CMNIMUPD), select option 2 ACB Statements.

    Review ACB Control Statements to get a detailed explanation of this panel.

PSB ACBGEN Requirement

  • PSB that contains both TYPE=TP and CMPAT=YES requires an ACBGEN.

  • ACB flag setting. This flag is set up when the IMS System definitions are defined during Global and Application Administration. If the ACB flag is set to Y, always create the ACB build statement for PSBs. This flag is normally used during staging process but if this program is executed outside of ChangeMan ZMF this flag will be honored.

DBD ACBGEN Requirement

  • DBD with either a Logical or GSAM access will require an ACBGEN.

Static Input Files

Input DD Description
SYSFILE Contains PSB/DBD source members.
SYSIN 80 byte card images in keyword format. See keyword table below.

...

Keyword Table

SYSIN Keyword Description
IMS= IMS subtype defined to ChangeMan ZMF. Valid IMS subtype entries are (P)sb or (D)bd.
LIB= Library type of SYSPFILE DD defined to ChangeMan ZMF.
MBR= Member name of PSB/DBD source.
PKN= Package name.

...

Static Output Files

Output DD Description
SYSPRINT A summary report reflecting SYSIN contents and processor activity. See SYSPRINT output sample below.

...

CMNISPRE Job Sample

The following is a sample job fragment after file tailoring that illustrates what the step looks like:

//PSBDBD EXEC   PGM=CMNISPRE,      *** DETERMINE CUSEDBD ACB REQUIREMENTS
//              COND=(4,LT),
//              REGION=4M,
//              PARM='SUBSYS=6,USER=USER015'
//*)IM CMN$$SPR
//SER#PARM DD   DISP=SHR,DSN=CMNTP.SER820.C6.TCPIPORT
//SYSPRINT DD   DISP=(,PASS),DSN=&&LIST199,
//              UNIT=SYSDA,SPACE=(CYL,(5,5),RLSE),
//              DCB=(RECFM=FA,LRECL=133,BLKSIZE=0)
//SYSPFILE DD   DISP=OLD,DSN=CMNTP.S6.IMSA.STG6.#000001.DBD
//ABNLIGNR DD   DUMMY
//SYSUDUMP DD   SYSOUT=*
//SYSIN    DD   *
PKN=IMSA000023
LIB=DBD
IMS=D
MBR=CUSEDBD

...

CMNISPRE Sysprint Output Sample

********************************************************************************
* DDNAME: PSBDBD.SYSPRINT                                                      *
********************************************************************************

ChangeMan(R) ZMF        CMNISPRE - 8.2.0 20/18/06 01:10:16
Session established with ChangeMan ZMF Started task.

SYSIN: PKN=IMSA000023
SYSIN: LIB=DBD
SYSIN: IMS=D
SYSIN: MBR=CUSEDBD

Session terminated with ChangeMan ZMF Started task.

...

CMNISMFS

The primary purpose of CMNISMFS is to stack MFS macro source code into a sequential file so that one MFSGEN can be issued. Each MFS source member is written to the sequential file without the END statement. The final MFS source member written to the sequential file will retain the END statement. This program is a standalone program and does not interact with the ChangeMan ZMF instance.

Static Input Files

Input DD Description
SYSIMS Contains MFS source members.
SYSIN 80 byte card images using MBR=keyword format.

...

Keyword Table

SYSIN Keyword Description
MBR= Member name of MFS source.

...

Static Output Files

Output DD Description
SYSIOUT All input MFS members processed through the SYSIN DD and are stacked into this sequential file.
SYSPRINT A summary report reflecting SYSIN contents and processor activity. See SYSPRINT output sample below.

...

CMNISMFS Job Sample

The following is a sample job fragment after file tailoring that illustrates what the step looks like:

//**** STACK MFS SOURCE ONE GEN
//MFSSTK1  EXEC PGM=CMNISMFS
//SYSIMS   DD DISP=SHR,DSN=CMNTP.S#.V711.PROD.MFS
//SYSPRINT DD SYSOUT=*,DCB=(RECFM=FB,LRECL=80,BLKSIZE=6160)
//SYSIOUT  DD SYSOUT=*,DCB=(RECFM=FB,LRECL=80,BLKSIZE=6160)
//SYSIN    DD *
MBR=MFS00001
MBR=MFS00002

...

CMNISMFS Sysprint Output Sample

SYSPRINT MFSSTK1 has this output:

SYSIN: MBR=MFS00001
SYSIN: MBR=MFS00002
Temporary MFS file created.

and SYSIOUT MFSSTK1 has the stacked code:

PAYF01      FMT
            DEV         TYPE=(3270,2),FEAT=IGNORE,DSCA=X'00A0'
            DIV         TYPE=INOUT
            DPAGE       CURSOR=((5,15))
            DFLD        '**********************',POS=(1,21)
            DFLD        '* DUMMY CODE FOR MFS *',POS=(2,21)
            DFLD        '**********************',POS=(3,21)
            DFLD        'FIRST NAME:',POS=(5,2)
FNAME       DFLD        POS=(5,15),LTH=16
            DFLD        'LAST NAME:',POS=(5,36)
LNAME       DFLD        POS=(5,48),LTH=16
            DFLD        'EMPLOYEE NO:',POS=(7,2)
...
            DFLD        '**********************',POS=(1,21)
            DFLD        '* DUMMY CODE --> MFS *',POS=(2,21)
            DFLD        '**********************',POS=(3,21)
            DFLD        'FIRST NAME:',POS=(5,2)
FNAME       DFLD        POS=(5,15),LTH=16
            DFLD        'LAST NAME:',POS=(5,36)
LNAME       DFLD        POS=(5,48),LTH=16
            DFLD        'EMPLOYEE NO:',POS=(7,2)
EMPNO       DFLD        POS=(7,16),LTH=6
            DFLD        'SOC SEC NO:',POS=(9,2)

...

CMNISOVR

CMNISOVR processes PSB/DBD macro source and allows PSB/DBD statements to be overridden. Whether an override occurs or not, all input members processed are written to a temporary PDS file.

Two search criteria are performed before an override can occur. The first is performed on Control Word (see Control Word Table below). A Control Word is either a PSB or DBD generation statement defined by IMS.

Once a control word has been found, the second criterion begins using the original statement. This subsequent search is performed on the actual character string that will be overridden.

Once the original statement is found, the original statement is replaced with the specified override statement.

For example:

MBR=PSBname CTL=SENSEG ORG=PARENT=PARTROOT

OVR=PARENT=OVERRIDE

...

All occurrences of PARENT=PARTROOT in the PSB source that has a control word of SENSEG will be replaced with PARENT=OVERRIDE.

Static Input Files

Input DD Description
SYSIMSI Contains PSB/DBD source members.
SYSIN 80 byte card images in keyword format requesting type of activity to occur. See keyword and control word table for specifications.

...

Keyword Table

SYSIN Keyword Description
MBR= PSB/DBD member name of the data set pointed to by the SYSIMSI DD statement. If MBR= is the only keyword specified, the input member is copied to the output file.
CTL= Control word to perform first search criteria. If the control word is not found, the search for the original statement will not be performed. See PSB/DBD control table below for valid entries.
ORG= Original statement. The PSB/DBD source is searched for a match on the original statement. The control word must be found before the original statement is searched for. Mutually inclusive with a corresponding OVR= statement.
OVR= Override statement. The override statement will be used to override the corresponding original statement match. Mutually inclusive with a corresponding ORG= statement.

...

Control Word Table

DBD Control Words PSB Control Words
DBD PCB
DATASET SENSEG
AREA SENFLD
SEGM PSBGEN
LCHILD
FIELD
XDFLD
DBDGEN

...

CMNISOVR Job Sample

The following is a sample job fragment after file tailoring which illustrates what the step may look like. There are three basic SYSIN formats.

//DPOVR1 EXEC   PGM=CMNISOVR, *** DBD/PSB SOURCE OVERRIDE C115
//              COND=(4,LT)
//SYSPRINT DD   DISP=(MOD,PASS),DSN=&&LIST90,
//              UNIT=SYSDA,SPACE=(CYL,(5,5),RLSE),
//              DCB=(RECFM=FBA,LRECL=133,BLKSIZE=13300)
//SYSIMSI  DD   DISP=(OLD,DELETE),
//              DSN=&&DBDWR
//SYSIMSO  DD   DISP=(,PASS),DSN=&&DBD1OV,
//              UNIT=SYSDA,SPACE=(CYL,(10,10,100)),
//              DCB=(RECFM=FB,LRECL=80,BLKSIZE=6160)
//ABNLIGNR DD   DUMMY
//SYSUDUMP DD   SYSOUT=*
//SYSIN    DD   *
MBR=IMSDBD01
LIB=PSL
CTL=DATASET
ORG=DEVICE=3380
OVR=DEVICE=3400

...

SYSIN Format 1
MBR=Dbdname or PSBname 
    CTL=Control_word 
    ORG=Original_statement 
    OVR=Override_statement

...

SYSIN Format 2
MBR=Dbdname or PSBname 
    CTL=Control_word 
    ORG=Original_statement 
    OVR=Override_statement

...

SYSIN Format 3
MBR=DDBname or PSBname
    (copy from input to output)

...

Static Output Files

Output DD Description
SYSIMSO All input members from SYSIMSI DD are written to this PDS data set. When overrides occur for a member, the overrides are performed in memory. The memory copy is then written to this PDS file for further processing. The ISPF statistics for the updated member will reflect the activity. The last modification date, time, modification level and the userid are updated. If a member has not been overridden the ISPF statistics will remain unchanged. See ISPF statistics sample below.
SYSPRINT A summary report reflecting SYSIN contents and processor activity. See SYSPRINT output sample below.

...

CMNISOVR ISPF Statistics Sample

Name   VV MM   Created       Changed       Size Init Mod ID
* PSB1 01.07     1999/01/01 97/01/08 15:09 14   13    0 CHGMAN
. PSB2 01.03     1999/01/01 96/10/27 22:41 13    1    0 USER33
. PSB3 01.03     1999/01/01 96/10/27 22:41 13    1    0 USER33

...

The asterisk ‘*’ in the panel above indicates Override Activity.

CMNISOVR Sysprint Output Sample

********************************************************************************
* DDNAME: DPOVR1.SYSPRINT                                                      *
* DDNAME: MFSSTK2.SYSPRINT                                                     *
********************************************************************************

SYSIN: MBR=IMSDBD01
SYSIN: CTL=DATASET
SYSIN: ORG=DEVICE=3380
SYSIN: OVR=DEVICE=3400

Copy in memory has been altered with the following:
Original: DEVICE=3380
Override: DEVICE=3400
New member added to temporary PDS. Member IMSDBD01

SYSIN: MBR=MFS00001
Temporary MFS file created.
SYSIN: MBR=IMSPSB01
SYSIN: CTL=PCB
SYSIN: ORG=DBDNAME=IMSPSB01
SYSIN: OVR=DBDNAME=IMSGBL01
No updates for member IMSPSB01
New member added to temporary PDS. Member IMSPSB01

...