Batch Processing, Systems Managed Storage and Tape Processing

If you have any questions about the content of this page, please contact Requests for clarification.


Batch Standards






Job Naming Standards
Please start all job names with the appropriate two-character institution code  for your organization; for example, NW for NWRDC. If you do not know your  two-character institution code, contact (850) 245-3500 or ACF2 Request. In most cases  it is the same as the two first letters of your ACF2 logonID.

Start development jobs (tests, compiles etc.) with the full five or six  character logon id of the submitter/retriever of the job. Because this leaves  only three characters for uniqueness, you must use the programmer name field (20  characters) to differentiate between like-named jobs.



Example JCL syntax:
//jobname JOB accounting_data,
// MSGCLASS=output_class,
// MSGLEVEL=(statements,messages),
// class="job_class" 

MSGCLASS Parameter
The MSGCLASS parameter assigns the job log for a job to a particular sysout  output class. The job log contains the JOB statement, the JCL for the job, JCL  processing messages, in-stream and cataloged procedure statements, and JES2  messages and MVS operator messages

The default value supplied for the job log if MSGCLASS is omitted is A.
The default value for the * in //ddn DD SYSOUT=* is the MSGCLASS value set in  the MSGCLASS parm.

Valid Message (or Output) Classes at the NWRDC
The following output classes have specific meaning:

A,J Create output on the job spool regardless of run’s success
B,K Create output for PUNCH
H Hold the output regardless of run’s success
J Create output on the job spool regardless of run’s success
X Do not create output on the job spool, regardless of run’s success, "no output"
Y Print the output only if the run was unsuccessful


MSGLEVEL Parameter

The MSGLEVEL parameter is used to control the listing of the job log for a job.

The following job log elements can be controlled:

  • The JOB statement.
  • All JCL in the job's input stream including all JCL statements and JES2 control  (JECL) statements
  • In-stream and cataloged procedure statements for a procedure invoked by a job  step
  • JCL substitution and processing messages
  • JES and MVS operator messages concerning the job's processing, including those  for allocations of devices/volumes, start/stop of job steps and the job, and the  disposition of the data sets used

Syntax: MSGLEVEL=({statements}{,messages})

The parentheses can be left off if only the first subparameter is used.

Values for 'statements' in the MSGLEVEL keyword can be one of these:

0 only JOB statement prints
1 all JCL and JES statements and messages print
2 only JCL & JES statements print


Values for 'messages' in the MSGLEVEL keyword can be one of these:

0 only JCL messages print. If the job ABENDs, then JES mssages print  also.
1 JCL and JES messages print



// MSGLEVEL=(0,0) Print minimal job log:
// MSGLEVEL=(1,1) Print everything in job log: (this is the default value)


CLASS Parameter

The CLASS parameter is used to assign your job to a job processing class. The  class you should request depends on the characteristics of the job and NWRDC's  rules for assigning classes.

Job Classification Determination and Restrictions

JOB classes 1 through 7 are system generated at the NWRDC. Customers of the  NWRDC should not use these classes. If one of these classes is specified in the  CLASS parameter, NWRDC will resubmit the job under a generated JOB class.

The algorithm for system-generated JOB classes (i.e., 'CLASS =' not specified on  the JOB card) has been enhanced at the NWRDC to increase system performance.  Three resources are the controlling factors in determining the class to be  system assigned:

1. REGION size
2. TAPE Drive use count
3. CPU time specified for JOB execution

REGION size is controlled by the 'REGION=' parameter on the JOB or EXEC  statement or by the system default of 4096K bytes.

TAPE DRIVE quantity can be reduced by the use of the 'UNIT=AFF=' parameter or by  using disk space instead of magnetic tape where applicable.

The quantity of CPU time is specified with the 'TIME=' parameter on the JOB  card as defined in the JCL manual. The system default for time is 30 minutes (A  VERY LARGE VALUE).

The user specified JOB classes provided by the NWRDC are:

CLASS Value Meaning
V Highest priority (see Job Pricing Differential table) - can require  any combination of resources
E High priority (see Job Pricing Differential table) - can require any  combination of resources
C Low priority - typically overnight  (see Job Pricing  Differential table) - can require any combination of resources
G Lowest priority - typically weekend (see Job Pricing Differential  table) - can require any combination of resources
D for DEVELOPMENT and can use up to four tape drives and up to four  megabyte of region. CLASS D is also generated by the system under the  same conditions.
F is for Cross Domain FILE TRANSFER jobs.

Warning: class codes should not be used to schedule jobs.


Job Class Scheduling

Class G/Priority "0" Jobs:
Executes on weekends, after 2100 on Friday, and
Cancelled from the system if not completed by 0220 Monday morning.

Class C/Priority "1" Jobs:

Executes only between 2100 and 02:20 Monday, between 2100 and 0500 Tuesday  through Friday (and on weekends)
Jobs not started by 0500(0220 Monday) will be held until the following 2100.
Jobs still in execution at 0500 Tuesday, Wednesday, Thursday or Friday are  subject to being cancelled.
Jobs still in execution at 0220 Monday will be cancelled due to system IPL.

Calculated Job Priorities
Calculated job execution priorities will be based upon the following table:

11 1 TIME=(,1)
10 2 TIME=(,2)
9 5 TIME=(,5)
8 10 TIME=(,10)
7 20 TIME=(,20)
6 60 TIME=1
5 300 TIME=5
4 600 TIME=10
3 >600 >TIME=10


If the 'CLASS=' parameter is omitted from the JOB card, a class will be generated for the job. The generated classes are 1 through 7, L, A, and D. CLASS  1 jobs, for example, are generated under the following conditions: 0 tape usage,  less than one megabyte region size and no more than ten seconds of CPU time. The  table that follows describes the requirements for all generated classes.



Time in
Max Tape Drives
1 1 - 10 0
2 11 - 30 0
3 31 - 60 0
4 61 - 1800 0
5 1 - 10 1
6 11 - 30 1
7 31 - 300 1


NWHOLD: A Technique for Holding Jobs

Use of CONTROL-M is recommended for scheduling jobs to start after a certain  time

Hold Data Set Names
NWR maintains allocations for thirty-one datasets: twenty-four hourly datasets  and seven day-of-the-week datasets. The dataset names are as follows:



Be sure to use DISP=SHR for all NWR.HOLD.xxxxxx data sets.

You may use one of the “time” data sets and/or one of the “day” data sets to  force a delay in the start of your job. For example, if you wanted a job to run  sometime after 8 PM on Tuesday, you would add the following JCL to the job  anywhere in a job step.


Special Note on “DAY HOLD” data sets:

The “day” in question does not start until 8 AM.

So to hold a job until 7 AM on a Friday, the following JCL would be required:



System-Managed Storage

All Customer data sets and volumes are SMS managed


Storage Class
Storage class is an optional parameter. For most NWRDC institutions, if not  entered, the storage class is assigned automatically by SMS ACS routines.


Storage Groups
Institutions that require multiple disk volumes will be assigned unique SGIIXXX  names that related to a specific group of volumes, where II is an institution  code and XXX will be chosen by the customer. XXX is usually STD or DB2 but can  be anything the institution wants.

 Note: DASD volumes can be viewed by Storage Group by using the Quick-Ref product.


Management Class

Management class is an optional parameter. If not supplied, non-DB2 data will  default to the NWRDC default management class of MCDEFALT which will expire a  dataset 7 years after last usage. The current default for disk data sets is  permanent retention. MCDEFALT is an attempt to control the lifespan of data sets  that are migrated by HSM, then not used again. Data sets that are historical in  nature and must be retained beyond 7 years after last usage should be allocated  or subsequently altered to management class MC4EVER. If not supplied, DB2 data  will default to the management class of MCNOBAK, which differs from MCDEFALT as  follows: data sets are permanent, they will never expire; no autobackup. For  DB2, backup and recovery is performed via DB2 services. Customers are  responsible for image copy (full is recommended) and recovery procedures for  their tablespaces to correspond to the 60 day recovery window.


Management Classes

For migration: eligible for auto-migration to level 1(disk) after 10 days  non-usage; eligible for auto-migration to level 2(tape) after 14 days non-usage;  both auto-migration and migration by command are supported.

MCDEFALT default mgmt class; assigned if none explicitly selected.
MCCMDMIG migration by command only, no automigration.
MCMONTH temp data sets expire 45 days after last usage;two backups kept.
MCNOLV1 no level 1 migration, goes directly to level 2 after 10days  non-usage, intended primarily for GDGs
MCNOMIG perm data sets will never expire; no command or auto migration
MCNOBAK permanent; data sets will never expire; no autobackup,command backup only. This  is the default managementclass for all BD2 data.
MCSLOWMG slowmig, automig 90 days after last usage directly to lvl 2, no lvl 1
MCSTLP short term, low-priority; automatically assigned to TSOlist and log data sets;  data set will expire 105 daysafter last usage; no autobackup, command backup only, 1backup kept.
MCTEMP temporary; data sets will expire 4 days from creation or one day from last usage, whichever comes later;command migration only, no automigration; no backups.
MC4EVER permanent; data sets will never expire.


Data Classes

DCTINY for sequential datasets of approximately 50,000 bytes.
DCSMALL for sequential datasets of approximately 750,000 bytes
DCMANY will allow datasets to span several DASD volumes.


Tape Management System

TMS Expiration and Retention Dates TMS selects volumes for deletion based upon  the expiration date supplied via JCL parameter EXPDT or the retention period  supplied via JCL parameter RETPD. The value supplied via RETPD is converted to a  date. If no EXPDT or RETPD value is supplied, then the TMS default of 7 day  retention takes effect. However, if the step abends, open output tapes default  to 2-day retention only.

Certain values supplied for EXPDT are TMS codes, rather than true dates. The  only currently valid TMS codes are explained below:


98000 Used for external tapes unknown to TMS; used only when reading a tape created by  an outside agency or when writing to a non-NWRDC tape volume
98nnn Retain for nnn days before scratching
99000 CATLG controlled; i.e., when the dataset is uncataloged, the tape will  subsequently be scratched
99nnn Retain for nnn cycles before scratching; this should only be used with datasets  with the same name, not with generation data sets
99365 Retain permanently