Previous Topic: Five-Step z/OS JCL—Central VersionNext Topic: One-Step z/VSE JCL—Central Version


Five-Step z/OS JCL—Local mode

Here is sample five-step z/OS JCL to execute CA Culprit batch jobs in local mode:

CA Culprit five-step (local mode) (z/OS)

//CULP0    EXEC PGM=CULP0,REGION=1024K
//STEPLIB  DD   DSN=idms.dba.loadlib,DISP=SHR
//         DD   DSN=idms.loadlib,DISP=SHR
//SYS004   DD   SYSOUT=A,DCB=(RECFM=FBA,LRECL=133,BLKSIZE=1330)
//SYS005   DD   DSN=&&uprmwork.,DISP=(NEW,PASS),
//             UNIT=disk,SPACE=(CYL,(5,2)),
//             DCB=(RECFM=FB,LRECL=320,BLKSIZE=1600)
//CULLIB   DD   DSN=yourHLQ.CAGJSRC,DISP=SHR
//dictdb   DD   DSN=idms.appldict.ddldml,DISP=SHR
//dcmsg    DD   DSN=idms.sysmsg.ddldcmsg,DISP=SHR
//sysjrnl  DD   DUMMY
//SYSIDMS  DD   *
DMCL=dmcl-name
Put other SYSIDMS parameters, as appropriate, here
/*
//SYSIN    DD   *
Put CA Culprit parameter statements here
/*
//*
//CULP1    EXEC PGM=SORT,REGION=1024K,PARM='MSG=AP'
//SORTLIB  DD   DSN=sys1.sortlib,DISP=SHR
//SORTWK01 DD   UNIT=disk,SPACE=(CYL,(5,2))
//SORTWK02 DD   UNIT=disk,SPACE=(CYL,(5,2))
//SORTWK03 DD   UNIT=disk,SPACE=(CYL,(5,2))
//SORTWK04 DD   UNIT=disk,SPACE=(CYL,(5,2))
//SORTIN   DD   DSN=&&uprmwork.,DISP=(OLD,DELETE)
//SORTOUT  DD   DSN=&&sprmwork,DISP=(NEW,PASS),
//             UNIT=disk,SPACE=(CYL,(5,2)),
//             DCB=(RECFM=FB,LRECL=320,BLKSIZE=1600)
//SYSOUT   DD   SYSOUT=A
//SYSIN    DD   DSN=yourHLQ.CAGJSRC(SORT1),DISP=SHR
//*
//CULP2    EXEC PGM=CULL,REGION=1024K
//STEPLIB  DD   DSN=idms.dba.loadlib,DISP=SHR
//         DD   DSN=idms.loadlib,DISP=SHR
//SYS004   DD   SYSOUT=A,DCB=(RECFM=FBA,LRECL=133,BLKSIZE=1330)
//SYS005   DD   DSN=&&sprmwork,DISP=(OLD,DELETE)
//SYS006   DD   DSN=&&uextwork.,DISP=(NEW,PASS),
//             UNIT=disk,SPACE=(CYL,(5,2)),
//             DCB=(RECFM=VB,LRECL=2044,BLKSIZE=4628)
//SYS007   DD   DSN=&&srtpwork.,DISP=(NEW,PASS),
//             UNIT=disk,SPACE=(TRK,(1,1)),
//             DCB=(RECFM=F,LRECL=80,BLKSIZE=80)
//SYS008   DD   DSN=&&nsrtwork.,DISP=(NEW,PASS),
//             UNIT=disk,SPACE=(CYL,(5,2)),
//             DCB=(RECFM=VB,LRECL=512,BLKSIZE=4628)
//VSAMCTRL DD   DUMMY
//SYS002   DD   DSN=user.keyfile,DISP=SHR
//SYS010   DD   DSN=user.inputfil,DISP=OLD,
//             UNIT=tape,VOL=SER=vvvvvv
//SYS011   DD   DSN=user.matchfil,DISP=OLD,
//             UNIT=tape,VOL=SER=vvvvvv
//dloddb   DD   DSN=idms.appldict.ddldclod,DISP=SHR
//dcmsg    DD   DSN=idms.sysmsg.ddldcmsg,DISP=SHR
//userdb   DD   DSN=user.userdb,DISP=SHR
//sysjrnl  DD   DUMMY
//SYSIDMS  DD   *
DMCL=dmcl-name
Put other SYSIDMS parameters, as appropriate, here
/*
//*
//CULP3    EXEC PGM=SORT,REGION=1024K,PARM='MSG=AP'
//SORTLIB  DD   DSN=sys1.sortlib,DISP=SHR
//SORTWK01 DD   UNIT=disk,SPACE=(CYL,(5,2))
//SORTWK02 DD   UNIT=disk,SPACE=(CYL,(5,2))
//SORTWK03 DD   UNIT=disk,SPACE=(CYL,(5,2))
//SORTWK04 DD   UNIT=disk,SPACE=(CYL,(5,2))
//SORTIN   DD   DSN=&&uextwork.,DISP=(OLD,DELETE)
//SORTOUT  DD   DSN=&&sextwork.,DISP=(NEW,PASS),
//             UNIT=disk,SPACE=(CYL,(5,2)),
//             DCB=(RECFM=VB,LRECL=2044,BLKSIZE=4628)
//SYSOUT   DD   SYSOUT=A
//SYSIN    DD   DSN=&&srtpwork.,DISP=(OLD,DELETE)
//*
//CULP4    EXEC PGM=CULE,REGION=1024K
//STEPLIB  DD   DSN=idms.dba.loadlib,DISP=SHR
//         DD   DSN=idms.loadlib,DISP=SHR
//SYS004   DD   SYSOUT=A,DCB=(RECFM=FBA,LRECL=133,BLKSIZE=1330)
//SYS006   DD   DSN=&&sextwork.,DISP=(OLD,DELETE)
//SYS008   DD   DSN=&&nsrtwork.,DISP=(OLD,DELETE)
//SYSPCH   DD   SYSOUT=B,DCB=BLKSIZE=80
//SYS020   DD   DSN=user.nonprint,DISP=(NEW,CATLG),
//             UNIT=tape,VOL=SER=vvvvvv,
//             DCB=(DSORG=PS,LRECL=llll,BLKSIZE=bbbb)
//SYS030   DD   SYSOUT=(s,,form),DCB=(RECFM=FBA,LRECL=133,BLKSIZE=1330)
//SYSIN4   DD   DUMMY,DCB=BLKSIZE=80
//*

idms.dba.loadlib

Data set name of the load library containing the DMCL and database name table load modules

idms.loadlib

Data set name of the load library containing the CA IDMS executable modules

&&uprmwork.

Data set name of unsorted parameter file that contains the input for the first sort step

disk

Symbolic device name for work files

yourHLQ.CAGJSRC

Data set name of PDS containing parameters to be copied (required only if USE, =COPY, or =MACRO is used)

dictdb

DDname of the application dictionary definition area

idms.appldict.ddldml

Data set name of the application dictionary definition (DDLDML) area

dcmsg

DDname of the system message (DDLDCMSG) area

idms.sysmsg.ddldcmsg

Data set name of the system message (DDLDCMSG) area

sysjrnl

DDname of the tape journal file

dmcl-name

Specifies the name of the DMCL load module

sys1.sortlib

Data set name of system sort library

&&sprmwork

Data set name of the sorted parameter file that contains the output from the first sort step

yourHLQ.CAGJSRC(SORT1)

Data set name and member name of stored sort parameters, as established during installation

&&uextwork.

Data set name of extracted items work file, which is used as input for data sort; the record length for extracted records must be at least 256 (larger for nonprint records); the block size is typically 1/4 to 1/2 track

&&srtpwork.

Data set name of sort control file

&&nsrtwork.

Data set name of unsorted parameter file output from extract phase; input to output phase

VSAMCTRL

Used for the optional control cards read by CULLVSAM when that user input module is invoked

user.keyfile

Data set name for user keyfile

user.inputfil

Data set name for primary input file

tape

Symbolic device name for tape file

vvvvvv

Volume number

user.matchfil

Data set name for match file (required only if match file is input; default ddnames for subsequent files are SYS012, SYS013, and so on)

dloddb

DDname of the application dictionary definition load area

idms.appldict.ddldclod

Data set name of the application dictionary definition load (DDLDCLOD) area

userdb

DDname of the user database file

user.userdb

Data set name of the user database file

&&sextwork.

Data set name of sorted extracted items file

SYSPCH

Punched card output

user.nonprint

Data set name for nonprint/nonpunch output (omitted if there are no such files; default ddnames for subsequent files are SYS021, SYS022, and so on)

llll

Logical record length

bbbb

Block size

(s,,form)

SYSOUT class (s) and special forms identification (form) for special forms output (omitted if there are no such files; default ddnames for subsequent special forms output files are SYS031, SYS032, and so on)

SYSIN4

Optional restart parameter (DUMMY indicates there are no restart parameters; if SYSIN4 records follow, replace DUMMY with an asterisk)

sysctl

DDname of the SYSCTL file

idms.sysctl

Data set name of the SYSCTL file

Database Access

Make the following additions when accessing SQL or ASF tables:

Creating or Updating Tables—Central Version

When creating or updating SQL or ASF tables, while running under central version, also add the following statements to CULP4:

//sysctl DD   DSN=idms.sysctl,DISP=SHR
//dcmsg    DD   DSN=idms.sysmsg.ddldcmsg,DISP=SHR
//SYSIDMS  DD   *
DMCL=dmcl-name
Put other SYSIDMS parameters, as appropriate, here
/*

sysctl

DDname of the SYSCTL file

idms.sysctl

data set name of the SYSCTL file

dcmsg

DDname of the system message (DDLDCMSG) area

idms.sysmsg.ddldcmsg

data set name of the system message (DDLDCMSG) area

dmcl-name

Specifies the name of the DMCL load module

Extracting Data from SQL Tables—Local Mode

When running local mode, add the following DD statements to the CULP2 and CULP4 steps to extract data from an SQL table:

//sqldd    DD   DSN=idms.syssql.ddlcat,DISP=SHR
//sqlxdd   DD   DSN=idms.syssql.ddlcatx,DISP=SHR

When writing to an SQL table, the following DD statement is also required in the CULP4 step:

//userdb   DD   DSN=user.userdb,DISP=SHR

sqldd

DDname of the SQL catalog (DDLCAT) area

idms.syssql.ddlcat

data set name of the SQL catalog (DDLCAT) area

sqlxdd

DDname of the SQL catalog index (DDLCATX) area

idms.syssql.ddlcatx

data set name of the SQL catalog index (DDLCATX) area

userdb

DDname of the user database file

user.userdb

data set name of the user database file

Note: If the user's DMCL load module is not in the CA IDMS/DB load library, then the load library that contains these modules must also be included in the STEPLIB concatenation when running in local mode.

Extracting Data from ASF Tables—Local Mode

When running local mode, add the following DD statements to the CULP2 and CULP4 steps to extract data from an ASF table. Use the same DD statements when writing to an ASF table in the CULP4 step:

//asfdml   DD   DSN=idms.asfdict.ddldml,DISP=SHR
//asflod   DD   DSN=idms.asfdict.asflod,DISP=SHR
//asfdefn  DD   DSN=idms.asfdict.asfdefn,DISP=SHR
//asfdata  DD   DSN=idms.asfdict.asfdata,DISP=SHR

asfdml

DDname of the asf dictionary definition (DDLDML) area

idms.asfdict.ddldml

data set name of the asf dictionary definition (DDLDML) area

asflod

DDname of the asf dictionary definition load (DDLDCLOD) area

idms.asfdict.ddldclod

data set name of the asf dictionary definition load (DDLDCLOD) area

asfdefn

DDname of the asf data definition (IDMSR-AREA) area

idms.asfdict.asfdefn

data set name of the asf data definition area (IDMSR-AREA) area

asfdata

DDname of the asf data (IDMSR-AREA2) area

idms.asfdict.asfdata

data set name of the asf data area (IDMSR-AREA2) area

Note: If the user's DMCL load module is not in the CA IDMS/DB load library, then the load library that contains these modules must also be included in the STEPLIB concatenation when running in local mode.

Creating or Updating Tables— Local Mode

When creating or updating SQL or ASF tables, while running local mode, also add the following statements to CULP4:

//dcmsg    DD   DSN=idms.sysmsg.ddldcmsg,DISP=SHR
//sysjrnl  DD   DUMMY
//SYSIDMS  DD   *
DMCL=dmcl-name
Put other SYSIDMS parameters, as appropriate, here
/*

dcmsg

DDname of the system message (DDLDCMSG) area

idms.sysmsg.ddldcmsg

data set name of the system message (DDLDCMSG) area

sysjrnl

DDname of the tape journal file

dmcl-name

Specifies the name of the DMCL load module