IMSPLIGO procedure
The IMSPLIGO procedure is a three-step compile, bind, and go procedure combining the IMSPLI procedure with an execution step for a stand-alone DL/I batch processing region.
If VSAM databases are used, see IMS buffer pools.
JCL
The IMSPLIGO procedure is shown in the following sample. This sample procedure assumes that:
- You supply source data from SYSIN.
- The output class is A.
- MBR=NAME, where NAME is the load module name for the program.
- SYSDA is a generic device name.
- You add DD statements for data sets representing IMS databases.
// PROC MBR=TEMPNAME,PAGES=50,SYS2=,
// LNGPRFX=IEL,
// LIBPRFX=CEE,
// SOUT=A,RGN=4M,
// PSB=,BUF=7,SPIE=0,TEST=0,EXCPVR=0,
// RST=0,PRLD=,SRCH=,CKPTID=,MON=N,
// LOGA=0,FMTO=T,IMSID=,SWAP=,RGN=4M,
// LOGT=2400,
// DBRC=,IRLM=,IRLMNM=,BKO=N,IOB=,
// SSM=,APARM=,LOCKMAX=,IMSPLEX=
//C EXEC PGM=IEL1AA,REGION=4M,
// PARM=(XREF,A,OBJ,NODECK,NOMACRO,,
// 'OPT(TIME)')
//STEPLIB DD DSN=&LNGPRFX..SIELCOMP,DISP=SHR
// DD DSN=&LIBPRFX..SCEERUN,DISP=SHR
//SYSUT1 DD UNIT=SYSDA,
// SPACE=(1024,(200,50),RLSE,,ROUND),
// DCB=BLKSIZE=1024,DISP=(,DELETE)
//SYSPRINT DD SYSOUT=&SOUT,
// DCB=(LRECL=125,BLKSIZE=629,RECFM=VBA),
// SPACE=(605,(&PAGES.0,&PAGES),RLSE)
//SYSLIN DD UNIT=SYSDA,SPACE=(80,(250,100),RLSE),
// DCB=(IMS.&SYS2.PROCLIB),
// DISP=(,PASS)
//L EXEC PGM=IEWL,PARM='XREF,LIST,LET',
// COND=(9,LT,C),REGION=4M
//SYSLIB DD DSN=&LIBPRFX..SCEELKED,DISP=SHR
//SDFSRESL DD DSN=IMS.&SYS2.SDFSRESL,DISP=SHR
//SYSLIN DD DSN=*.C.SYSLIN,DISP=(OLD,DELETE)
// DD DISP=SHR,
// DSN=IMS.&SYS2.PROCLIB(PLITDLI)
// DD DDNAME=SYSIN
//SYSLMOD DD DISP=SHR,
// DSN=IMS.&SYS2.PGMLIB(&MBR)
//SYSPRINT DD SYSOUT=&SOUT,
// DCB=(LRECL=121,RECFM=FBA,BLKSIZE=605),
// SPACE=(605,(&PAGES.0,&PAGES),RLSE)
//SYSUT1 DD UNIT=SYSDA,DISP=(,DELETE),
// SPACE=(CYL,(5,1),RLSE)
//G EXEC PGM=DFSRRC00,REGION=&RGN,TIME=5,
// COND=(9,LT),
// PARM=(DLI,&MBR,&PSB,&BUF,
// &SPIE&TEST&EXCPVR&RST,
// &PRLD,&SRCH,&CKPTID,&MON,&LOGA,
// &FMTO,&IMSID,&SWAP,&DBRC,&IRLM,
// &IRLMNM,&BKO,&IOB,&SSM,'&APARM',
// &LOCKMAX,,,&IMSPLEX)
//STEPLIB DD DSN=IMS.&SYS2.SDFSRESL,DISP=SHR
// DD DSN=IMS.&SYS2.PGMLIB,DISP=SHR
// DD DSN=&LIBPRFX..SCEERUN,DISP=SHR
//DFSRESLB DD DSN=IMS.&SYS2.SDFSRESL,DISP=SHR
//IMS DD DSN=IMS.&SYS2.PSBLIB,DISP=SHR
// DD DSN=IMS.&SYS2.DBDLIB,DISP=SHR
//PROCLIB DD DSN=IMS.&SYS2.PROCLIB,DISP=SHR
//IEFRDER DD DSN=IMSLOG,DISP=(NEW,KEEP),
// VOL=(,,,99),UNIT=(&LOGT,,DEFER),
// DCB=(RECFM=VB,BLKSIZE=4096,
// LRECL=4092,BUFNO=2)
//IEFRDER2 DD DSN=IMSLOG2,DISP=(NEW,KEEP),
// UNIT=(&LOGT,,DEFER,SEP=IEFRDER),
// VOL=(,,,99),DCB=(RECFM=VB,BLKSIZE=4096,
// LRECL=4092,BUFNO=2)
//SYSPRINT DD SYSOUT=&SOUT,
// DCB=(LRECL=121,BLKSIZE=605,RECFM=FBA),
// SPACE=(605,(500,500),RLSE,,ROUND)
//SYSUDUMP DD SYSOUT=&SOUT,
// DCB=(LRECL=121,BLKSIZE=605,RECFM=FBA),
// SPACE=(605,(500,500),RLSE,,ROUND)Usage
In the JCL provided:
- The parameters are positional.
- The IMS PROCLIB data set should have the same block size as SYS1.PROCLIB, which should be 80, 400, or 3200.
- The IEFRDER and IEFRDER2 statements are not required in DB/DC or DBCTL environments if the job does not declare database update intent.
For a job step declaring database-update intent, DD DUMMY can be specified if the job step is not using DBRC. This is valid where an image copy of the database is taken before the update job step.
The log-initialization process 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, the log-initialization process uses the calculated value for logical record length and adds 4 for the block size.
If multiple volumes are required for the system log, a volume count value should be specified in the VOL parameter of the DD statement.
If the IBM® 3480 tape drive is used for the IMS log data set, IMS forces tape write mode (DCB=OPCD=W). The default on the 3480 is to hold the write in a buffer 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.
In the sample IMSPLIGO 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 (*).
Parameters
The following parameters are valid for the IMSPLIGO procedure. See Parameter descriptions for IMS procedures for descriptions.
- BKO=
- BUF=
- CKPTID=
- DBRC=
- DBRCGRP=
- EXCPVR=
- FMTO=
- IMSID=
- IMSPLEX=
- IOB=
- IRLM=
- IRLMNM=
- LOGA=
- LOGT=
- MBR=
- MON=
- NODE1=
- NODE2=
- PRLD=
- PSB=
- RGN=
- RST=
- SOUT=
- SPIE=
- SRCH=
- SWAP=
- SYS2=
- TEST=
DD statements
The following DD statements are valid for the IMSPLIGO procedure. See DD statement descriptions for descriptions.
- DFSHALDB
- DFSRESLB DD
- DFSSTAT DD
- IEFRDER DD
- IEFRDER2 DD
- IMS DD
- PROCLIB DD
- RECONn DD
- SYSHALDB DD
- SYSLIB DD
- SYSLIN DD
- SYSLMOD DD
- SYSOUT DD
- SYSPRINT DD
- SYSUDUMP DD
- SYSUT1 DD