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 |
|
Copyright © 2014 CA.
All rights reserved.
|
|