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:
-
On the Primary Option Menu (CMN@PRIM), select option 1 Build.
-
On the Build Options menu (CMNBUILD), select option 2 Update.
-
On the Update: Package Information menu (CMNPGNL0), type the Package ID and select option I IMS Information.
-
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
...