DBBBATCH procedure
The DBBBATCH procedure is a one-step procedure for running an offline DL/I batch processing region using either an IMS.ACBLIB or the IMS catalog.
The JCL shown in Sample procedure to run offline DL/I batch processing region using IMS.ACBLIB can be used to run an offline DL/I batch processing region using IMS.ACBLIB.
If the IMS management of ACBs is enabled, the offline DL/I batch processing region retrieves the ACBs from the IMS catalog instead of the IMS.ACBLIB. Any specification of the IMSACBA and IMSACBB DD statements are ignored and can be omitted from the JCL.
The
enablement of the IMS management of ACBs is determined by the
ACBMGMT=
parameter in the <CATALOG>
section of the
DFSDFxxx PROCLIB member or it can be indicated in a batch environment by turning
the DXPL_FUNDIREN flag on in the DXPL_FUNCV2 byte in the IMS
Catalog Definition exit routine (DFS3CDX0).
If VSAM databases are used, see IMS buffer pools.
Usage
In the sample DBBBATCH procedure that is built during SMP/E processing and placed in the ADFSPROC and SDFSPROC library data sets, the IEFRDER2 DD statement is included as a comment. To use the IEFRDER2 DD statement, remove the asterisks (*).
- The parameters in parentheses are positional.
- The JCL is for an XRF-capable system only.
- The IEFRDER statement is not required in DB/DC or DBCTL environments if the job does not declare database update intent.
In IMS systems that use ACB libraries, if the batch application program will process a HALDB database for which a HALDB alter operation was started but the online change function is not yet done, the IMSACB DD statement in the DBBBATCH procedure must specify the active ACB library that contains the original, unaltered database definition. The IMSACB statement must specify the active ACB library regardless of the fact that some or all of the segments in the database might now conform to the format defined by the new database definition in the staging ACB library. IMS automatically gets the altered definition from the staging ACB library, but requires the original, unaltered database definition for comparison.
For a job step declaring database update intent, DD DUMMY can be specified, if the job step is not using DBRC. This specification is valid where an image copy of the database is taken before the update job step.
Log initialization calculates the smallest value necessary for logical record length. If the JCL logical record length value is larger than the calculated value, the JCL value is used. Otherwise, log initialization uses the calculated value for logical record length and adds 4 for the block size.
If multiple volumes are required for the system log, specify a volume count value in the VOL parameter of the DD statement.
For information about the number of volumes required per DD statement, see MVS/ESA Job Control Language User's Guide.
If the IBM® 3480 tape drive is used for the IMS log data set, IMS forces tape write mode (DCB=OPTCD=W). The default on the 3480 is to buffer the write so that IMS cannot detect when the write is performed. If a power failure occurs after a log record is written to the 3480, and the database is updated but the log record is not yet written to tape, database integrity is lost. Tape write mode is forced for the log in batch and GSAM data sets.
Parameters
The following parameters are valid for the DBBBATCH procedure:
- APARM=
- BKO=
- BUF=
- CKPTID=
- DBRC=
- DBRCGRP=
- DFSDF=
- FMTO=
- GSGNAME=
- IMSID=
- IRLM=
- IRLMNM=
- IMSPLEX=
- LOCKMAX=
- MON=
- NODE1=
- NODE2=
- PRLD=
- PSB= (optional)
- RGN=
- RGSUF= (no default when specified in the batch procedure)
- RRS=
- SOUT=
- SRCH=
- SSM=
- SWAP=
- SYS=
- SYS2=
- TMINAME=
The following parameters cannot be specified in the PARM1= and PARM2= parameters:
- EXCPVR=
- MBR=
- RST=
- SPIE=
- TEST=
The IOB parameter is no longer used and is ignored if it is specified.
See Parameter descriptions for IMS procedures for parameter definitions.
DD statements
The following DD statements are valid for the DBBBATCH procedure.
In addition to these DD statements, add statements for data sets representing IMS databases that are not to be dynamically allocated.
The following DD statements are required:
- DFSRESLB DD
- DFSVSAMP DD
- IEFRDER DD
- IMSACB DD, except when the IMS management of ACBs is enabled
- IMSACBA DD, except when the IMS management of ACBs is enabled
- IMSACBB DD, except when the IMS management of ACBs is enabled
- IMS LOGR DD
- MODSTAT DD
- MODSTAT2 DD
- OLCSTAT DD
- PROCLIB DD
- STEPLIB DD
- SYSUDUMP DD
The following DD statements are optional:
- DFSHALDB DD
- DFSSTAT DD
- IEFRDER2 DD
- IMS DD
- RECONn DD
- SYSHALDB DD
IMSDALIB is not included in the list of valid DD statements for the DBBBATCH procedure because it is not supported in batch mode.
See DD statements for IMS procedures for explanations of the DD statements.
Sample procedure to run offline DL/I batch processing region using IMS.ACBLIB
// PROC MBR=TEMPNAME,PSB=,BUF=7,
// SPIE=0,TEST=0,EXCPVR=0,RST=0,PRLD=,
// SRCH=0,CKPTID=,MON=N,LOGA=0,FMTO=T,
// IMSID=,SWAP=,DBRC=,IRLM=,IRLMNM=,
// BKO=N,IOB=,SSM=,APARM=,
// RGN=4M,RGSUF=,PARM1=,PARM2=,
// SOUT=A,LOGT=2400,
// SYS=,
// SYS2=,LOCKMAX=,
// GSGNAME=,TMINAME=,RRS=N,
// IMSPLEX=,DFSDF=
//G EXEC PGM=DFSRRC00,REGION=&RGN,
// PARM=(DBB,&MBR,&PSB,&BUF,
// &SPIE&TEST&EXCPVR&RST,&PRLD,
// &SRCH,&CKPTID,&MON,&LOGA,&FMTO,
// &IMSID,&SWAP,&DBRC,&IRLM,&IRLMNM,
// &BKO,&IOB,&SSM,
// '&APARM',&LOCKMAX,
// &GSGNAME,&TMINAME,&RRS,
// &IMSPLEX,&RGSUF,&DFSDF,
// '&PARM1','&PARM2')
//STEPLIB DD DSN=IMS.&SYS2.SDFSRESL,DISP=SHR
// DD DSN=IMS.&SYS2.PGMLIB,DISP=SHR
//DFSRESLB DD DSN=IMS.&SYS2.SDFSRESL,DISP=SHR
//IMSACBA DD DSN=IMS.&SYS2.ACBLIBA,DISP=SHR
//IMSACBB DD DSN=IMS.&SYS2.ACBLIBB,DISP=SHR
//MODSTAT DD DSN=IMS.&SYS.MODSTAT,DISP=SHR
//MODSTAT2 DD DSN=IMS.&SYS.MODSTAT2,DISP=SHR
//PROCLIB DD DSN=IMS.&SYS2.PROCLIB,DISP=SHR
//IEFRDER DD DSN=IMSLOG,DISP=(,KEEP),VOL=(,,,99),
// UNIT=(&LOGT,,DEFER),
// DCB=(RECFM=VB,BLKSIZE=4096,
// LRECL=4092,BUFNO=2)
//IEFRDER2 DD DSN=IMSLOG2,DISP=(,KEEP),VOL=(,,,99),
// UNIT=(&LOGT,,DEFER,SEP=IEFRDER),
// DCB=(RECFM=VB,BLKSIZE=4096,
// LRECL=4092,BUFNO=2)
//SYSUDUMP DD SYSOUT=&SOUT,
// DCB=(RECFM=FBA,LRECL=121,BLKSIZE=605),
// SPACE=(605,(500,500),RLSE,,ROUND)
//IMSMON DD DUMMY