HISTORICAL MANUALS
UNIVERSITY OF KENTUCKY
COMPUTING CENTER
Software Documentation CMS Batch Reference
Release 2
UU U KK K CCCC CCCC
UU U KK K CC CC
UU U KKK CC CC
UU U KK K CC CC
UUU KK K CCCC CCCC
First Edition, Revision 0 (May 1983)
Users of this manual are encouraged to report
any errors or ambiguities, and to make
suggestions for improvements. Contact the
author at the address below.
Technical changes made to the contents of this
manual are indicated by a vertical bar to the
left of the change.
University of Kentucky
Computing Center
72 McVey Hall
Lexington, KY 40506-0045
Phone: 606/257-2900
Processed June 3, 1983 with UW SCRIPT - Version 3.7 (11/23/81)
Prepared by Dave Elbon
PREFACE
The CMS Batch system was developed at the Laboratory for the
Application of Remote Sensing (LARS) at Purdue University between
April 1980 and July 1981. Design and development work was done by Tom
Wilson and Pete Jobusch, now employed at SAS Institute, and by Louis
Lang of LARS. The system has been made available to other VM
installations and distributed without charge by the developers.
Modifications for use at the University of Kentucky were made by Dave
Elbon of the UKCC Systems Group.
Portions of this manual were adapted from the LARS CMS Batch System
User's Guide.
Preface iv
CMS Batch Reference
CONTENTS
Section 1. Introduction . . . . . . . . . . . . . . . . . . . . . 1
Section 2. The Batch Environment . . . . . . . . . . . . . . . . . 2
Section 3. The BATCH Command . . . . . . . . . . . . . . . . . . . 4
Section 4. Commands for Use in Batch Jobs . . . . . . . . . . . . 8
Section 5. Job Control Statements . . . . . . . . . . . . . . . . 24
Appendix A. Job Status Codes . . . . . . . . . . . . . . . . . . . 37
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Contents ii
CMS Batch Reference
Section 1: Introduction
The CMS Batch system allows you to perform time-consuming tasks under
CMS without tying up your terminal for extended periods. Using SCRIPT
to process a large document or group of documents is a good example.
While the CMS Batch system is processing your documents, you and your
terminal are free to perform other tasks. Each CMS Batch job consists
of a few job control statements (usually only two) and the CMS and CP
commands required to perform the desired functions.
Your interface with the CMS Batch system is the BATCH command. It is
used to submit and control your CMS batch jobs. It can also be used
to interactively construct the job control statements you will
require. Once submitted, your jobs are queued for execution by CMS
Batch and you will receive messages when execution begins and ends.
Your CMS batch jobs will be executed by special batch servers with
read-only access to the files on your A-disk (191). Read-only access
is also provided to your D-disk (192), if you have one. A temporary
writable disk with a capacity of 200 1-kilobyte blocks is provided as
a work area. The batch servers have 1 or 2 megabytes of storage, more
than twice the capacity of a CJS userid. This additional space is
required for programming language compilers, and also allows longer
documents to be processed by SCRIPT.
Virtually anything that you can do at a terminal under CJS can be done
in a CMS Batch job, including running SCRIPT. Also available at this
time are PL/CT, WATFIV, Waterloo Pascal, SPITBOL, two dialects of
BASIC, VM Assembler, PL/I Optimizer, FORTRAN H Extended, and VS COBOL.
Output is returned from your CMS batch job in spool files. By
default, all printed and punched output is routed to your userid. You
will also receive a console log from the batch server to provide a
record of your job. An optional diagnostic listing of your job
control statements is available. You may use the SETPRT, SETPUN, and
SETCON commands to route your output to other destinations.
The CMS Batch system maintains records of each job it receives and the
BATCH QUERY function can be used to examine this information. The
BATCH command also has HOLD, RELEASE, and CANCEL functions that you
can use to control your job's execution. CMS Batch also supports job
chaining. This allows you to specify up to eight other CMS Batch jobs
that must complete successfully before a given job will be executed.
The BATCH CHANGE function allows you to alter some of the parameters
of a job that has been submitted but has not begun to execute.
The cost of running each CMS Batch job is charged to the account
number of the userid that submitted the job. At this time there is no
provision for charging to another account. All CMS Batch jobs are
currently charged regular rates; deferred rates are not available.
Section 1: Introduction 1
CMS Batch Reference
Section 2: The Batch Environment
As described in the Introduction, each CMS Batch job is executed by a
batch server. A batch server is a special CMS userid that is logged
on to execute your job and logs off when the job is completed. The
batch server has read-access to the files on your A-disk (and D-disk,
if you have one) and write-access to a 200-block temporary disk. One
or two megabytes of virtual storage are provided, more than double the
460 kilobytes available to a CJS userid.
Because of limitations in CMS disk file management, you should never
change the files on your disks that are being used by an executing CMS
Batch job. (You will receive a message from the batch system when
your job begins execution.) Since the batch server has only read-
access to your files, there is no danger of damage to the files
involved, but changing a file that is being used as input by a batch
job will almost certainly cause the batch job to fail, and is
guaranteed to at least cause incorrect results. You may alter or
erase any of your files that are not in use by a batch job.
A CMS batch job may produce both printed and punched output files.
This output is by default sent back to your userid as reader spool
files. If your batch job produces CMS disk files, they may be sent to
your userid with the SENDFILE command. The CMS commands SETPRT,
SETPUN, and SETCON can all be used to control the routing of the
output from your batch job. The console log from the batch server
contains a record of each command executed by your job and the total
cost of the job.
A CMS Batch job consists of a few job control statements (only two are
required) and the CP and CMS commands that you want to execute. These
commands are read by the batch server through its reader. This means
that your batch job may not use commands like ACCEPT, INPUT, and DISK
LOAD, which use the reader. The commands and data you supply in your
job will be treated as if they were entered at a terminal. Output
that would normally be displayed at the terminal is recorded on the
console log. Since no terminal is actually present, commands which
require the special features of a particular terminal will not
function. For example, the CLEAR command (which clears the screen of
a display terminal) will have no effect if executed in a batch job.
XEDIT can be used in a batch job, but will operate in typewriter-mode.
The following example illustrates how a typical CMS Batch job might
look:
/JOB
SCRIPT MYFILE ( PRT
Section 2: The Batch Environment 2
CMS Batch Reference
This job would process "MYFILE SCRIPT" on the submitting user's disk
and send the printed output back to that userid. The user may then
use PEEK, RBROWSE, or RXEDIT to examine the results, use OUTPUT to
produce printed output, or use ACCEPT to read the file to a permanent
disk.
A number of special commands, including some programming language
processors, are available under CMS Batch. These commands are
documented elsewhere in this manual.
It is important to be aware of the restrictions imposed by the CMS
Batch system. Some restrictions are inherent in the batch server
environment. Other restrictions are required to control the resources
used by the system and to provide some degree of security.
Restrictions
· CPU time is limited to 10 seconds by default. You may specify a
higher or lower limit.
· Spooled output is limited to 2,000 lines and 2,000 cards by
default. These limits may also be changed, but output routed to
the HOT printer in McVey Hall is always limited to 1,600 lines.
· No tapes may be used.
· You should not modify or erase any files that are in use by a
batch job. Doing so will have predictably bad results.
· Commands that use the reader cannot be used in a batch job. This
includes ACCEPT, PEEK, RECEIVE, RBROWSE, RXEDIT, INPUT, READCARD,
DISK LOAD, FILEDEF using RDR, SPOOL RDR, and CLOSE RDR.
· CP and CMS commands in your batch job must be in uppercase.
· AUTOLINK cannot be used from a batch job.
Section 2: The Batch Environment 3
CMS Batch Reference
Section 3: The BATCH Command
The BATCH command is your interface with the CMS Batch system. It can
submit jobs (and assist in their preparation), change job parameters
after submission, cancel jobs, hold and release jobs, and query the
Batch system for information. The format of the BATCH command is:
+--------------------------------------------------------------------+
| | |
| BATCH | [function [( options... [)]] |
| | |
| | BATCH Functions: |
| | |
| | + + |
| | | + + ++| |
| | Submit |filename |filetype |filemode||| |
| | | |BATCH |* ||| |
| | | + + ++| |
| | | | |
| | |fileid1 [fileid2...] | |
| | + + |
| | |
| | + + |
| | |jobid | |
| | CAncel |ACTIVE| |
| | |ALL | |
| | |QUEUE | |
| | + + |
| | |
| | + + |
| | |All | |
| | |Current | |
| | |Job jobid | |
| | Query |User userid | *| |
| | |System | |
| | + + |
| | |
| | CHange [jobid] |
| | |
| | + + |
| | Hold |jobid| |
| | Release |ALL | |
| | + + |
| | |
| | macroname [parms] |
| | |
|--------------------------------------------------------------------|
| Continued on next page... |
+--------------------------------------------------------------------+
Section 3: The BATCH Command 4
CMS Batch Reference
+--------------------------------------------------------------------+
| Continued from previous page. |
|--------------------------------------------------------------------|
| | |
| | Options: |
| | |
| | + + + + + + |
| | |Clear | |Long | |Msgcount n | |
| | |NOClear| |Short| | 100| |
| | + + + + + + |
| | |
+--------------------------------------------------------------------+
BATCH Functions
CAncel permits you to cancel one of your jobs, before or during
execution.
CHange permits you to change parameters that were entered on the
job control statements of a job which has already been
submitted but has not yet begun execution. Changes are made
in an interactive mode, using prompts from the BATCH
command.
Hold permits you to place one of your jobs on hold so the system
will not schedule it for execution until released.
macroname specifies the filename of a CMS Batch macro. The filetype
must be "BATCH". CMS Batch macros may contain EXEC 2
statements, BATCH command functions, batch jobs, and CMS
commands. Each line in the file is treated as a command
until a line containing "/JOB" is encountered. This
indicates the start of a batch job. Commands may follow the
/* at the end of the job.
Query permits you to find out information about jobs already in
the system. If you specify a jobid on the command line, it
must be that of one of your own jobs. The default query
(CURRENT) will display all of your jobs that are in the
batch system.
Release permits you to remove a job from hold so the system will
schedule it for execution. This will not release a job held
by the system operator.
Submit initiates job preparation and submission. If no fileid is
included, BATCH assumes that you want assistance in
preparing a job; otherwise, the files specified are
submitted as one batch job. If one or more fileids are
specified, BATCH will not prompt for additional information
at any stage of its operation.
Section 3: The BATCH Command 5
CMS Batch Reference
The first file specified must contain all of the job control
statements for the job. Any additional files are included
as data files for use by the job. If only one fileid is
specified (which is the usual case), you need only supply a
filename, and the default filetype ("BATCH") and filemode
("*") will be used.
Parameters
ACTIVE specifies that all of your active jobs will be affected by
the function.
ALL specifies that all of your jobs in the batch system will be
affected by the function.
Current specifies that all of your jobs in the batch system are to
be checked.
fileid is the filename, filetype, and filemode of a CMS disk file.
The filetype and filemode are optional when only one fileid
is specified.
jobid is a job identifier. All jobs submitted to the CMS batch
system are assigned an identifying number. (When you use
this number, you need not enter any leading zeros.) You
also have the option of providing your own identifier when
you submit a job, or adding an identifier with the CHANGE
function.
Job indicates that you want a history of activity for a
specified job. This history does not include any job
parameters. Use the change function if you want to see job
characteristics.
parms are parameters that are passed to the specified macro.
QUEUE specifies that all of your jobs waiting in the queue will be
affected by the function.
System indicates that you want general information about the batch
system's activities. This will include queue lengths,
scheduling criteria, and other information.
User indicates that you want to query current status for all jobs
owned by a specified user.
userid specifies a particular userid. You may use an asterisk to
indicate your own userid.
Section 3: The BATCH Command 6
CMS Batch Reference
Options
Clear causes the BATCH command to clear the terminal screen at
appropriate times. This is the default.
Long causes BATCH to use long prompts when operating in
interactive mode. This is the default.
Msgcount n
is the maximum number of messages that will be returned by a
QUERY function (not including header lines). The default is
100. MSGCOUNT 0 will suppress all QUERY responses.
Noclear inhibits the screen clearing normally done by the BATCH
command.
Short causes BATCH to use short prompts when operating in
interactive mode.
Usage Notes
1. The BATCH command can operate in one of two modes: interactive
and non-interactive. Interactive mode is used when you do not
supply a function or all required parameters on the command line.
Interactive mode can be used to create all job control
statements. When the BATCH command is in interactive mode, you
can respond with a ? to a prompt for more information.
2. Batch macros are similar to XEDIT macros. Anything that is
allowed in an EXEC 2 file is allowed in a macro. The BATCH
command functions (SUBMIT, QUERY, CANCEL, etc.) can all be used
as subcommands from within a macro. Each causes a return code to
be set. The SUBMIT function sets the EXEC 2 variables &SYSJOBID
and &USRJOBID. A QUERY function for a specific job sets the
&JOBSTAT variable (refer to Appendix A for details).
Section 3: The BATCH Command 7
CMS Batch Reference
Section 4: Commands for Use in Batch Jobs
A number of special CMS commands are available to CMS Batch jobs.
These commands are described on the following pages.
+--------------------------------------------------------------------+
| Command | Function |
|----------|---------------------------------------------------------|
| ASSEMBLE | VM Assembler |
| BASIC | CMS version of CALL/OS BASIC |
| BATKILL | Terminate a batch job |
| COBOL | VS COBOL Compiler |
| FORTHX | FORTRAN H Extended Compiler |
| PLC | PL/CT |
| PLIOPT | PL/I Optimizing Compiler |
| PW | Waterloo Pascal |
| SPITBOL | SPITBOL |
| WATFIV | Waterloo FORTRAN |
| WBASIC | Waterloo BASIC |
+--------------------------------------------------------------------+
Section 4: Commands for Use in Batch Jobs 8
CMS Batch Reference
ASSEMBLE
Use the ASSEMBLE command to assemble a program written in VM assembler
language. The format of the ASSEMBLE command is:
+--------------------------------------------------------------------+
| | |
| Assemble | filename [( options... [)]] |
| | |
+--------------------------------------------------------------------+
where:
filename is the filename of the CMS disk file containing the
assembler source program. The filetype of the file must be
"ASSEMBLE", and it must contain fixed-length, 80-byte
records.
options are assembler options. ASSEMBLE has options to control its
output, listings produced, and other functions. Consult the
online HELP information or the IBM VM/SP: CMS Command and
Macro Reference for more information.
Usage Notes
1. To use CMS or OS macro libraries with the assembler, you must
first issue the GLOBAL MACLIB command to specify the libraries to
be used, and the order in which they are searched. For example,
GLOBAL MACLIB CMSUKCC DMSSP CMSLIB
will cause the normal CMS system libraries to be used. Macro
libraries on OS volumes (like SYS1.MACLIB) may be specified with
the following commands:
OSDISK
FILEDEF CMSLIB DISK name1 MACLIB H DSN dataset1 ( CONCAT
FILEDEF CMSLIB DISK name2 MACLIB H DSN dataset2 ( CONCAT
GLOBAL MACLIB name1 name2
2. By default, the assembler creates two output files: "filename
TEXT" (the object program) and "filename LISTING" (the source
listing). ASSEMBLE command options can alter these defaults.
Section 4: Commands for Use in Batch Jobs 9
CMS Batch Reference
BASIC
Use the BASIC command to execute a program written in CALL/OS BASIC.
New programs should generally use Waterloo BASIC (WBASIC). The format
of the BASIC command is:
+--------------------------------------------------------------------+
| | |
| BASIC | |
| | |
+--------------------------------------------------------------------+
Section 4: Commands for Use in Batch Jobs 10
CMS Batch Reference
BATKILL
Use the BATKILL command to terminate a CMS Batch job. The format of
the BATKILL command is:
+--------------------------------------------------------------------+
| | |
| BATKILL | |
| | |
+--------------------------------------------------------------------+
Usage Notes
BATKILL is intended for use in an EXEC that is executed in a batch
job. The EXEC could check for errors or unusual conditions and issue
the BATKILL command if further processing would be wasted. Jobs
terminated with BATKILL are not considered to have completed normally
by the job chaining facility.
Section 4: Commands for Use in Batch Jobs 11
CMS Batch Reference
COBOL
Use the COBOL command to compile a program written in VS COBOL. The
format of the COBOL command is:
+--------------------------------------------------------------------+
| | |
| COBOL | filename [( options... [)]] |
| | |
+--------------------------------------------------------------------+
where:
filename is the filename of the CMS disk file containing the COBOL
source program. The filetype of the file must be "COBOL",
and it must contain fixed-length, 80-byte records.
options are command options. COBOL has options to control its
output, listings produced, and other functions.
Section 4: Commands for Use in Batch Jobs 12
CMS Batch Reference
FORTHX
Use the FORTHX command to compile a program written in FORTRAN H
Extended. The format of the FORTHX command is:
+--------------------------------------------------------------------+
| | |
| FORTHX | filename [( options... [)]] |
| | |
+--------------------------------------------------------------------+
where:
filename is the filename of the CMS disk file containing the FORTRAN
source program. The filetype of the file must be "FORTRAN",
and it must contain fixed-length, 80-byte records.
options are command options. FORTHX has options to control its
output, listings produced, and other functions.
Section 4: Commands for Use in Batch Jobs 13
CMS Batch Reference
PLC
Use the PLC command to compile and execute a program written in PL/CT,
a dialect of PL/I designed for instructional use. The format of the
PLC command is:
+--------------------------------------------------------------------+
| | |
| PLC | [in-list] [( [options...] [)]] |
| | |
| | Options: |
| | |
| | + + + + |
| | |TERM| |NOSAVE| |
| | |DISK| |SAVE n| [PAUSE] |
| | + + + + |
| | |
+--------------------------------------------------------------------+
where:
in-list describes where the program source and data are found. If
in-list is omitted, terminal input is assumed. In-list may
be specified using fileids (the default filetype is "PLC"),
asterisks, *PROCESS, and *DATA. The in-list items are
separated by commas (with blanks on each side of the
commas). Examples are given in the Usage Notes.
Options:
DISK will cause printed output to be sent to a CMS disk file
named "PLC LISTING".
NOSAVE will inhibit the saving of source lines.
PAUSE will invoke the PL/CT interactive debugger before your
program begins to execute. Debugger subcommands are listed
in the Usage Notes.
SAVE n will cause "n" lines of the source listing to be saved for
display during program execution. The default value for n
is 100.
TERM will cause all printed output to be sent to the terminal.
This is the default.
Usage Notes
Section 4: Commands for Use in Batch Jobs 14
CMS Batch Reference
PLC
1. Options that are valid in the *PL/C statement are also valid for
the PLC command.
2. Some examples of the in-list specification (spaces are
important!):
PLC Program and data read from terminal
PLC * Program and data read from terminal
PLC SAMPLE Program and data read from file "SAMPLE PLC"
PLC SAMPLE , *DATA , TEST DATA
Program read from file "SAMPLE PLC", data read
from file "TEST DATA"
3. The PL/CT interactive debugger supports the following
subcommands:
CHECK; Resume CHECK output
DATA; Set default PUT mode
FLOW; Resume FLOW output
GO TO label; Resume execution at "label"
IGNORE n; Ignore first "n" pauses
LIST; Set default PUT mode
NOCHECK; Suppress CHECK output
NOFLOW; Suppress FLOW output
NOPAUSE AT s; Remove pause before statement "s"
NOSTEP; Set step interval to 2**16
PAUSE AT s. Pause before statement "s"
PUT ALL; Display all non-array variables
PUT ARRAY; Same as PUT ALL, but includes arrays
PUT DATA(variable,...); Display variables
PUT FLOW; FLOW output
PUT LIST(variable,...); Display variables
PUT m,n; Display "n" source lines from "m"
PUT OFF; Suppress SYSPRINT output
PUT ON; Resume SYSPRINT output
PUT SNAP; SNAP output
PUT variable; Display a variable
RETURN; Resume program execution
s; Same as "PAUSE AT s"
STEP n; Set step interval to "n" statements
STOP; Terminate PL/CT
variable = constant; Assignment
variable; Display a variable
Section 4: Commands for Use in Batch Jobs 15
CMS Batch Reference
PLIOPT
Use the PLIOPT command to compile a program written in PL/I using the
Optimizing Compiler. The format of the PLIOPT command is:
+--------------------------------------------------------------------+
| | |
| PLIOPT | filename [( options... [)]] |
| | |
+--------------------------------------------------------------------+
where:
filename is the filename of the CMS disk file containing the PL/I
source program. The filetype of the file must be "PLI" or
"PLIOPT", and it must contain fixed-length, 80-byte records.
options are command options. PLIOPT has options to control its
output, listings produced, and other functions.
Usage Note
More information can be found in the OS PL/I Optimizing Compiler: CMS
User's Guide.
Section 4: Commands for Use in Batch Jobs 16
CMS Batch Reference
PW
Use the PW command to compile and execute a program written in
Waterloo Pascal. The format of the PW command is:
+--------------------------------------------------------------------+
| | |
| PW | [-D] filename |
| | |
+--------------------------------------------------------------------+
where
-D indicates that the interactive debugger is to be used. When
this is specified the interactive debugger will take control
immediately before your program begins execution. The
subcommands supported by this facility are listed in the
Usage Notes.
filename is the filename of the input file. The filetype of this
file must be "PASCAL".
Usage Notes
The interactive debugger supports the following subcommands (only the
first letter of each subcommand need be entered):
Breakpoint List
Breakpoint Reset <id>
Breakpoint Set <line-range | routine | *>
Display <variable | *>
Go
Help
Quit
Single Reset
Single Set
Trace List
Trace Reset <id>
Trace Set <line-range | routine | *>
Section 4: Commands for Use in Batch Jobs 17
CMS Batch Reference
SPITBOL
Use the SPITBOL command to compile and execute programs written in
SPITBOL. The format of the SPITBOL command is:
+--------------------------------------------------------------------+
| | |
| SPITBOL | filename [filename...] [( [options...] [)]] |
| | |
| | Options: |
| | |
| | + + + + + + + + |
| | |NOPRint| |NOPUnch| |TErm | |NOTYpe| |
| | |PRint | |PUnch | |NOTErm| |TYpe | |
| | + + + + + + + + |
| | |
| | + + |
| | |NOXtype| [compiler options] |
| | |Xtype | |
| | + + |
| | |
+--------------------------------------------------------------------+
where:
filename is one or more input filenames. The filetype of these files
must be "SPITBOL".
Options
NOPRint causes program listing and execution output to be written
into a file named "filename LISTING". This is the default.
NOPUnch causes punched output from the program to be discarded.
This is the default.
NOTErm suppresses the display of compiler error messages at the
terminal.
NOTYpe suppresses the display of the program listing at the
terminal. This is the default.
NOXtype suppresses the display of the execution time output at the
terminal.
PRint causes program listing and execution output to be printed.
PUnch causes punched output from the program to be written into a
file named "filename PUNCH".
Section 4: Commands for Use in Batch Jobs 18
CMS Batch Reference
SPITBOL
TErm causes compiler error messages to be displayed at the
terminal. This is the default.
TYpe causes the program listing to be typed at the terminal.
Xtype causes the execution time output to be typed at the
terminal.
In addition, the following compiler options may also be specified:
C nnn specifies the maximum number of cards to be punched in the
PUNCH file. The default is zero.
D nn specifies the maximum number of dumps to be produced.
H nnK specifies the maximum amount of storage to be used by the
compiler. The default is 1000K.
L nnK specifies the minimum amount of storage which must be
available for the compiler. The default is 16K.
N nnn specifies the number of lines to be printed per page of
LISTING. The default is 63.
P nnn specifies the maximum number of pages to be printed in the
LISTING. The default is 999.
R nnK specifies the amount of storage to be reserved for the use
of CMS. The default is 8K.
T nnn specifies the maximum amount of CPU time to be used by the
compiler. The default is 999.
Section 4: Commands for Use in Batch Jobs 19
CMS Batch Reference
WATFIV
Use the WATFIV command to compile and execute a WATFIV FORTRAN
program. The format of the WATFIV command is:
+--------------------------------------------------------------------+
| | |
| WATFIV | filename [filenames...] [( [options...] [)]] |
| | |
| | Options: |
| | |
| | + + + + + + + + |
| | |DIsk | |Concat | |NODebug| |NOXtype| |
| | |Print| |NOConcat| |Debug | |XType | |
| | |TYpe | + + + + |NOWarn | |
| | + + |Ext | |
| | + + |
| | + + + + |
| | |Term | |NOStats| |
| | |NOTerm| |Stats | |
| | + + + + |
| | |
+--------------------------------------------------------------------+
where:
filename is the name of the input file. The filetype of this file
must be "WATFIV" or "FORTRAN". Multiple input files may be
specified. If you specify an asterisk for a filename, input
will be read from the terminal.
Options:
Concat causes WATFIV to treat all input files as one continuous job
stream. All output is written to a disk file named
"filename LISTING". If "*" is specified, the filename will
default to "WATFIV" and a $JOB card will be generated.
Debug enables the interactive debugger. The debugger subcommands
are listed in the Usage Notes.
DIsk sends the program listing and all unit 6 output to a disk
file. If CONCAT is in effect, all output will be directed
to a single file named "filename listing". If NOCONCAT is
in effect, each input file will cause a separate output file
to be created. A filename of "*" (terminal input) will
cause "WATFIV" to be used as the output filename.
Ext causes extension messages to be typed at the terminal.
Section 4: Commands for Use in Batch Jobs 20
CMS Batch Reference
WATFIV
NOConcat causes each input file to be treated as a separate batch.
Input for each filename is compiled separately. Each input
file should contain at least one complete WATFIV job.
NODebug disables the interactive debugger. This is the default.
NOStats suppresses job statistics at the terminal.
NOTerm suppresses error, warning, and extension messages at the
terminal (except in debug mode).
NOWarn suppresses all but error messages at the terminal.
NOXtype negates an earlier XTYPE option specification.
Print sends the program listing and unit 6 output to the printer.
Prt is the same as PRINT.
Stats types job statistics at the terminal.
Term causes error and warning messages to be typed at the
terminal.
TYpe sends the program listing and unit 6 output to the terminal.
This is the default when the input file is "*".
XType duplicates unit 6 output on the terminal.
Usage Notes
The interactive debugging facility supports the following subcommands:
EXIT Terminate WATFIV
GOTO stmt-no Resume execution at "stmt-no"
OFF End tracing
RUN Resume execution
STOP isn Stop at statement "isn"
TRACE isn-range Begin tracing
variable ? Display a variable
variable = value Set a variable
Section 4: Commands for Use in Batch Jobs 21
CMS Batch Reference
WBASIC
Use the WBASIC command to run programs written in Waterloo BASIC. The
format of the WBASIC command is:
+--------------------------------------------------------------------+
| | |
| WBASIC | [filename] [( [options...] [)]] |
| | |
| | options: |
| | |
| | + + + + + + + + |
| | |LOAD| |RUN | |BYE | |VERBOSE| |
| | |OLD | |NORUN| |NOBYE| |TERSE | |
| | |EXEC| + + + + + + |
| | + + |
| | |
+--------------------------------------------------------------------+
where:
filename is the filename of an input file. The filetype must be
either WBASIC or WSTORE, depending on the options specified.
Options:
LOAD specifies that a program is to be loaded into the workspace
from a WSTORE file. This is the default if a filename is
specified and a WSTORE file with the given name is found.
OLD specifies that a program is to be compiled into the
workspace from a WBASIC file. This is the default if a
filename is specified, no WSTORE file is found, and a WBASIC
file with the given name is found.
EXEC specifies that commands are to be read and processed from a
WBASIC file.
RUN specifies that the loaded or compiled program should be run.
This is the default when a filename is specified.
NORUN specifies that the loaded or compiled program should not be
run. The program remains available in the workspace.
BYE specifies that WBASIC should terminate after program
execution. This is the default when a filename is
specified.
NOBYE specifies that WBASIC should not terminate after program
execution.
Section 4: Commands for Use in Batch Jobs 22
CMS Batch Reference
WBASIC
VERBOSE specifies that all informational messages should be
displayed.
TERSE will suppress informational messages.
Section 4: Commands for Use in Batch Jobs 23
CMS Batch Reference
Section 5: Job Control Statements
The only job control statements required for all CMS Batch jobs are a
/JOB statement at the beginning and a /* at the end. Other statements
are available to control various options. The BATCH command can be
used to construct all job control statements interactively.
Job control statements (except /*) must be placed at the beginning of
your job, before any CP or CMS commands.
Section 5: Job Control Statements 24
CMS Batch Reference
/*
The /* statement is required to mark the end of your job and the end
of each in-stream (/FILE) file.
+--------------------------------------------------------------------+
| |
| /* |
| |
+--------------------------------------------------------------------+
Section 5: Job Control Statements 25
CMS Batch Reference
The // statement is a comment. The format of the // statement is:
+--------------------------------------------------------------------+
| |
| // comment |
| |
+--------------------------------------------------------------------+
Usage Note
The // statement is allowed only in Batch macros.
Section 5: Job Control Statements 26
CMS Batch Reference
/CHAIN
The /CHAIN statement is used to specify a list of jobs that must
successfully complete before this job can execute. The format of the
/CHAIN statement is:
+--------------------------------------------------------------------+
| |
| /CHAIN jobid1 jobid2 ... jobid8 |
| |
+--------------------------------------------------------------------+
Usage Note
You may specify as many as eight job names.
Section 5: Job Control Statements 27
CMS Batch Reference
/ERROR
The /ERROR statement specifies that you want a diagnostic listing of
the job control statements. The format of the /ERROR statement is:
+--------------------------------------------------------------------+
| |
| /ERROR PRINT=destination |
| |
+--------------------------------------------------------------------+
Usage Note
The "destination" may be specified as an asterisk to cause the listing
to be sent to your userid in a spool file, or it may be an RSCS
printer name (Pnnnn).
Section 5: Job Control Statements 28
CMS Batch Reference
/FILE
Use the /FILE statement to include data in your job stream. The data
records following the /FILE statement are copied to the batch server's
temporary working disk and given the specified fileid when the job
executes. The data must be terminated with a /* statement. The
format of the /FILE statement is:
+--------------------------------------------------------------------+
| |
| /FILE filename filetype |
| |
+--------------------------------------------------------------------+
where:
filename is the filename to be given to the file.
filetype is the filetype to be given to the file.
Usage Note
See also the /INCLUDE statement.
Section 5: Job Control Statements 29
CMS Batch Reference
/HOLD
The /HOLD statement causes a job to be placed in USER hold. The BATCH
RELEASE command is used to release a job for execution. The format of
the /HOLD statement is:
+--------------------------------------------------------------------+
| |
| /HOLD |
| |
+--------------------------------------------------------------------+
Section 5: Job Control Statements 30
CMS Batch Reference
/IDENT
The /IDENT statement is used to assign a user identifier (job name) to
a batch job. The format of the /IDENT statement is:
+--------------------------------------------------------------------+
| |
| /IDENT jobid |
| |
+--------------------------------------------------------------------+
Section 5: Job Control Statements 31
CMS Batch Reference
/INCLUDE
Use the /INCLUDE statement to make a file available to a job. The
file named on the /INCLUDE statement is copied to the batch server's
temporary working disk and given the specified fileid when the job
executes. The format of the /INCLUDE statement is:
+--------------------------------------------------------------------+
| |
| /INCLUDE filename filetype |
| |
+--------------------------------------------------------------------+
where:
filename is the filename of the disk file to be copied.
filetype is the filetype of the disk file to be copied.
Usage Note
/INCLUDE is similar to /FILE, but /INCLUDE copies the file from your
disk when the job is submitted. /FILE requires that the data for the
file be included in the batch job. Since your batch job has read-
access to your 191 and 192 minidisks, files on these disks can usually
be accessed directly. /INCLUDE is only necessary when the file might
change while the job is executing, or if the file is modified by the
job.
Section 5: Job Control Statements 32
CMS Batch Reference
/JOB
The /JOB statement is required at the beginning of each CMS Batch job.
The format of the /JOB statement is:
+--------------------------------------------------------------------+
| |
| /JOB [userid username] |
| |
+--------------------------------------------------------------------+
where:
userid is your userid.
username is your name (limited to eight characters).
Usage Note
If omit your userid and name, they will be automatically inserted when
the job is submitted.
Section 5: Job Control Statements 33
CMS Batch Reference
/QUERY
The /QUERY statement specifies that you want a system status and
history listing. This will include a CMS Batch system status report
and all available information about jobs you have submitted to the
system. The format of the /QUERY statement is:
+--------------------------------------------------------------------+
| |
| /QUERY PRINT=destination |
| |
+--------------------------------------------------------------------+
Usage Note
The "destination" may be specified as an asterisk to cause the listing
to be sent to your userid in a spool file, or it may be an RSCS
printer name (Pnnnn).
Section 5: Job Control Statements 34
CMS Batch Reference
/SET
The /SET statement is used to specify a number of parameters for your
job. You may specify multiple options on each /SET statement
(separated by blanks) and you may use multiple /SET statements. The
format of the /SET statement is:
+--------------------------------------------------------------------+
| |
| + + |
| /SET |CARDS=[2000|limit] | |
| |DUMP=[NO|YES] | |
| |LINES=[2000|limit] | |
| |NOTIFY=[YES|NO] | |
| |PRINT=destination[=HOLD] | |
| |PUNCH=destination[=HOLD] | |
| |RATE=REGULAR | |
| |RESTART=[YES|NO] | |
| |SIZE=[1|2] | |
| |TAPE=0 | |
| |TIME=[10|seconds] | |
| + + |
| |
+--------------------------------------------------------------------+
where:
CARDS=<2000|limit>
specifies the number of punched cards that may be generated by
the batch job. The job will be canceled if the limit is
exceeded. The default is 2000.
DUMP=<NO|YES>
provides an automatic dump if the job has an abnormal
termination. The default is NO.
LINES=<2000|limit>
specifies the number of print lines that may be generated by the
batch job. The job will be canceled if the limit is exceeded.
The default is 2000.
NOTIFY=<YES|NO>
controls messages sent by the batch system to notify you of the
job's progress. The default is YES.
PRINT=destination<=HOLD>
specifies the destination for printed output generated by the
batch job. You may specify an asterisk to cause the output to be
sent to your userid in a spool file (this is the default), or you
may specify an RSCS printer (Pnnnn). To route output to another
userid, or to a HASP remote site, place the appropriate SETPRT
command in your batch job.
Section 5: Job Control Statements 35
CMS Batch Reference
/SET
PUNCH=destination<=HOLD>
specifies the destination for punched output generated by the
batch job. You may specify an asterisk to cause the output to be
sent to your userid in a spool file (this is the default), or you
may specify an RSCS printer (Pnnnn). To route output to another
userid, or to a HASP remote site, place the appropriate SETPUN
command in your batch job. Punched output is printed by RSCS and
HASP; you cannot generate punched cards with a CMS batch job.
RATE=REGULAR
specifies the priority and charging rate used for the job. This
information is currently not used, and all jobs are charged at
regular rates.
RESTART=<YES|NO>
specifies whether or not the job can be restarted. If the system
should crash while the job is running, it will be automatically
restarted unless RESTART=NO was specified.
SIZE=<1|2>
is the virtual storage size used for the job, specified in
megabytes. Jobs that specify 2 megabytes will be given a lower
priority, and will not be run at all while system activity is
very high.
TAPE=0
specifies the number of tapes required for the job. CMS batch
jobs cannot use tapes at this time, and if you specify anything
other than TAPE=0 your job will not be run.
TIME=<10|seconds>
is the time limit for the job, in CPU seconds. This information
is used in job scheduling, and jobs with higher time limits are
given a lower priority. Jobs that specify a time limit greater
than 60 seconds will not be run while the system load is high.
Section 5: Job Control Statements 36
CMS Batch Reference
APPENDIX A: Job Status Codes
The following job status codes are used by the BATCH QUERY function:
ABN Abnormal termination RST Restart in progress
ACT Active RUN Waiting in queue (hi prio)
CMP Completed normally S/U Held by user and operator
CRS System crash and RESTART=NO SKD Selected for execution
DSP Dispatched, but not started SQU Waiting in queue (chained)
JCE JCL error SYS Held by operator
NUL Null job (no commands) TPW Waiting for tape drive
MCN Cancelled by batch monitor UAB Abended by BATKILL command
NOT Not a job UCN Cancelled by user
OCN Cancelled by operator UNK Unknown
QUE Waiting in queue USR Held by user
Appendix A: Job Status Codes 37
CMS Batch Reference
INDEX
-.- -S-
, 26 SENDFILE command, 2
/*, 25 SETCON command, 2
/CHAIN, 27 SETPRT command, 2
/ERROR, 28 SETPUN command, 2
/FILE, 29 spooled output, 3
/HOLD, 30
/IDENT, 31 -T-
/INCLUDE, 32 tapes, 3
/JOB, 33 terminal, 2
/QUERY, 34
/SET, 35 -X-
ASSEMBLE, 9 XEDIT, 2
BASIC, 10
BATKILL, 11
COBOL, 12
FORTHX, 13
PLC, 14
PLIOPT, 16
PW, 17
SPITBOL, 18
WATFIV, 20
WBASIC, 22
-B-
BASIC, 22
-C-
chaining, 11
CPU time, 3
-F-
FORTRAN, 13, 20
-J-
job control statements, 2
-L-
limits, 3
-P-
Pascal, 17
PL/I, 16
-R-
reader, 2
Index 38