JCL Notes
Home News & Discussion Research Project Completed Projects Resources Unix Course Notes MVS Job Stream Example 1 Example 2 Example 3 Lab 1 Lab 2 JCL Notes
Updated:
2003-09-23 14:44

Home

JCL Notes

Order of Parameters

Lab submissions must have their keyword parameters specified in the following order, to facilitate marking.  (JES and MVS don't care about keyword parameter order; the instructor does when he has to mark 60 assignments!)

Note!  Not all of these parameters are necessarily present in your particular job.  When you do specify some of these parameters, specify them in the following order.  Don't specify things that don't apply to your job!

    //jobname  JOB     acct,name,CLASS=,
      MSGCLASS=,MSGLEVEL=,PRTY=,TYPRUN=
    //stepname EXEC PGM=,PROC=,
      COND=,PARM=,TIME=,REGION=
    //dd.name  DD *,SYSOUT=,SYSOUT=(class,,form),
      BURST=,COPIES=,DEST=,FLASH=,HOLD=,OUTLIM=,
      DSN=,DISP=,
      UNIT=,VOL=SER=,LABEL=(,),
      DCB=(DSORG=,LRECL=,BLKSIZE=,RECFM=),
      SPACE=(,(,)),

Notes

Always document your "guesses" in your JCL.  Explain what you are guessing and how that affects your JCL coding.
Look up unfamiliar parameters in your text before you use them.  Know what you are saying before you say it.
Input datasets have their DCB information stored in their labels.  You don't need to code any DCB parameters in the JCL for input datasets.
IDCAMS REPRO creates its output dataset using the DCB of the input dataset, unless you code JCL to adjust the output dataset DCB.  (Many times you do want a different BLKSIZE= for the output dataset.)  Pay attention to the efficient use of the output dataset medium and re-block your output accordingly.
If you code a BLKSIZE=, also code RECFM=FB.  (Don't code BLKSIZE= all by itself.)
Instream data always has this data control block format: DCB=(DSORG=PS,LRECL=80,BLKSIZE=80,RECFM=F)  Be careful to re-block the output when writing instream data to disks and tapes.
ANSI label tapes always need to be identified in the JCL as having ANSI labels, even on input, even if catalogued.  (The label is the first thing on the tape - you have to know what kind of label it is to be able to read it!)
Writing to tapes, you never need to allocate SPACE=; but, you must maximize the output DCB block size to avoid wasting space and slowing down the job.
Writing to disk, you need to allocate SPACE= (and possibly DCB= parameters, if the program writing the dataset doesn't specify them already) if this is a new dataset.  If it is an existing dataset, the existing dataset label has the SPACE= and DCB= information already (see p.121).
When specified, the BLKSIZE= value and the first parameter of SPACE= are the same number.  (It should be set to the maximum number of bytes you can write without going over the appropriate output block size.)  The actual number you must specify depends on the record length (LRECL=) of your data and the maximum block size of your output medium.  The maximum block size is usually 4K; but, there are exceptions.
ANSI tapes have a maximum block size of 2K.
When you specify input libraries to search, allocate them as SHR, not OLD!
When calculating the number of tape drives needed for your job CLASS=, remember that it is the maximum number needed simultaneously, in one single step.  It is not the sum of all the tape drives used.  A job may use ten tapes and still require only one tape drive, if the ten tapes are used only one per step in ten job steps.
 

Web Author: Ian! D. Allen idallen@idallen.ca      Updated: 2003-09-23 14:44

Internet Free Zone Level 1 logo Support free and non-commercial Internet.

Any Browser logo This site works best in Any Browser, a campaign for non-specific WWW.

Creative Commons License logo This work is licensed under a Creative Commons License.