Penn Computing
Computing Menu Computing A-Z
Computing Home Information Systems & Computing Penn
Please note: This material is no longer current and appears online for archival purposes only.
Use the search and navigation tools above to locate more up-to-date materials, if they exist.

JCL Modifications

The mainframe operating system upgrade to MVS/ESA V5.2.2 mandates the following JCL changes:
  1. PROCLIB Statements
  2. GDG & the Model Dataset Control Block (DSCB)
  3. NORESTART Statement
  4. Tape Expiration Dates

Jobs are now available to automate these changes. Please copy and tailor the jobs to your environment. The jobs can be found in the following datasets:

UPSYS1.MVS522.SAMPLIB(PDSSCAN)  => scan a PDS and list JCL changes
UPSYS1.MVS522.SAMPLIB(PDSUPD)   => scan a PDS and make JCL changes


A. PROCLIB Statements

Procedures referenced in the old environment with the /*PROCLIB statement are no longer allowed and will be flagged as JCL errors. If you have a /*PROCLIB statement in your JCL members, you must change it to a JCLLIB statement.

OLD PROCLIB EXAMPLE
//JOB003J JOB (799292,M084,,99),MSGCLASS=A,CLASS=A
/*ROUTE PRINT REMOTE9
/*PROCLIB UXTEST.PROCLIB
//PROC0000 EXEC SAMPROCA
//PROC0010 EXEC PROC003P
//PROC9999 EXEC SAMPROCB
//
NEW PROCLIB EXAMPLE
//JOB003J JOB (799292,M084,,99),MSGCLASS=A,CLASS=A
/*ROUTE PRINT REMOTE9
//PROCLIB JCLLIB ORDER=UXTEST.PROCLIB
//PROC0000 EXEC SAMPROCA
//PROC0010 EXEC PROC003P
//PROC9999 EXEC SAMPROCB
//

Additional information about the JCLLIB statement and syntax.

The JCLLIB statement identifies:

  • The names of private libraries used in a job (i.e., procedure names on EXEC statements).
  • The names of system procedure libraries that the system uses for a job.
  • The order in which libraries will be searched: The system searches in the order defined on the JCLLIB statement.

Here is an example of a multiple library search:

PROCLIB JCLLIB ORDER=(UXTEST.PROCLIB,UYTEST.PROCLIB,UZTEST.PROCLIB)

You can continue the JCLLIB statement on a new line by breaking after a comma if you begin the next line in column 4 to 16. For example,

//PROCLIB JCLLIB ORDER=(UXTEST.PROCLIB,
//        UYTEST.PROCLIB,UZTEST.PROCLIB) 

The JCLLIB syntax is:

//[name]   JCLLIB ORDER=(library[,library]...)   [comments]

Note that

  • [name] is optional
  • JCLLIB must be preceded by at least one blank; it can begin in any column
  • the JCLLIB statement must appear after the JOB statement and before the first EXEC statement


B. GDG & the Model Dataset Control Block (DSCB)

Each time a new generation (+1) of a Generation Data Group (GDG) is created, a Model DSCB must be included on the DCB parameter. The Model DSCB does not need to be included to reference or use GDGs that already exist (such as 0, -1, -2, -3, etc.).

ISC has created a Model DSCB that will be used to create all GDGs. When you create a (+1) GDG, change the DCB statement to include GDGM, the Model DSCB.

OLD GDG EXAMPLE
//OUTFILE DD DSN=UPPROD.DATASET.REPORT5(+1),DISP=(NEW,CATLG,DELETE),
//	     UNIT=3390,VOL=SER=PROD24,SPACE=(TRK,(10,2),RLSE),
//	     DCB=(RECFM=FB,LRECL=132,BLKSIZE=27588)
NEW GDG EXAMPLE
//OUTFILE DD DSN=UPPROD.DATASET.REPORT5(+1),DISP=(NEW,CATLG,DELETE),
//	     UNIT=3390,VOL=SER=PROD24,SPACE=(TRK,(10,2),RLSE),
//	     DCB=(GDGM,RECFM=FB,LRECL=132,BLKSIZE=27588)


C. NORESTART Statement

The /*NORESTART statement, which might still be coded on some executing JCL, is obsolete. Remove it from your JCL. If you do not remove the /*NORESTART statement you will receive a JCL error upon job submission.


D. Tape expiration dates

If your JCL contains EXPDT=99000, EXPDT=98000, or EXPDT=99365, you need to add one additional DD statement. There are no changes to JCL using other values in the EXPDT parameter.

The new version of the Tape Management System (TMS) requires that a new TMNOKEY DD statement be added if EXPTD=99000, EXPDT=98000, or EXPDT=99365. The new DD statement tells the system that the EXPDT parameter functions as it did in the past (see the text below the example for details).

OLD EXPDT STATEMENT
//STEP0240 	EXEC PGM=ATSCOPY,COND=(0,NE)
//REPORT	DD SYSOUT=A
//SYSUT1	DD DSN=UPPROD.DISKDSN.REPORT47,DISP=(OLD,KEEP,KEEP)
//SYSUT2	DD DSN=UPPROD.TAPEDSN.REPORT47,DISP=(NEW,CATLG,DELETE),
//	        UNIT=CART,LABEL=(1,SL,EXPDT=99000),
//	        DCB=(RECFM=FB,LRECL=132,BLKSIZE=27588)
NEW EXPDT STATEMENT
//STEP0240 	EXEC PGM=ATSCOPY,COND=(0,NE)
//REPORT	DD SYSOUT=A
//TMNOKEY       DD DUMMY
//SYSUT1	DD DSN=UPPROD.DISKDSN.REPORT47,DISP=(OLD,KEEP,KEEP)
//SYSUT2	DD DSN=UPPROD.TAPEDSN.REPORT47,DISP=(NEW,CATLG,DELETE),
//	        UNIT=CART,LABEL=(1,SL,EXPDT=99000),
//	        DCB=(RECFM=FB,LRECL=132,BLKSIZE=27588)

Prior to the MVS upgrade, EXPDT=99000 meant "No Expiration Date." Under MVS V5.2.2, a JCL error will not be issued for a missing TMNOKEY when you use EXPDT=99000; the expiration date for the dataset will default to 01/01/99. Using the TMNOKEY DD statement, EXPDT defaults to the old rules whereby EXPDT=99000 equates to "No Expiration Date."

Prior to the MVS upgrade, EXPDT=98000 designated a non-resident tape. Under MVS V5.2.2, if you do not use a TMNOKEY DD statement with EXPDT=98000, the expiration date for the tape will default to 01/01/98.



Computing     MVS     JCL     ISPF     Upgrade List    

Please note: This material is no longer current and appears online for archival purposes only.
Use the search and navigation tools above to locate more up-to-date materials, if they exist.
top

Information Systems and Computing
University of Pennsylvania
Comments & Questions


University of Pennsylvania Penn Computing University of Pennsylvania Information Systems & Computing (ISC)
Information Systems and Computing, University of Pennsylvania