HISTORICAL MANUALS
NOTICE!
This is an old manual and contains much material that is
dated. Many of the functions of CMS are not covered and
some details have changed. This manual will be replaced
by a new CMS User's Guide sometime in the future.
If you have problems or questions check the online HELP
for the latest information, use the new SUGGEST command
to ask for more information, or talk to a consultant at
your site. On the Lexington campus consulting is
available in 110 McVey Hall or call 606/257-2900 and ask
for Consulting.
UNIVERSITY OF KENTUCKY
COMPUTING CENTER
Software Documentation CJS User's Guide
VM/SP 2.1
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
Fourth Edition, Revision 0 (April 1983)
This edition applies to the Conversational Job
System using Release 2.1 of the IBM Virtual
Machine System Product as implemented at the
University of Kentucky Computing Center.
Users of this manual are encouraged to report
any errors or ambiguities, and to make
suggestions for improvements. Contact the
authors 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 April 18, 1983 with UW SCRIPT - Version 3.7 (11/23/81)
Prepared by Dave Elbon and Nanci Unger
PREFACE
This manual is a general guide to the Conversational Job System
(CJS) provided by the University of Kentucky Computing Center.
Detailed information about commands described in this manual may be
found in the following publications. Note that the UKCC CJS Reference
will reflect changes and additions made to VM/SP at the UKCC that will
not be covered in the IBM documentation.
University of Kentucky Computing Center CJS Reference
IBM VM/SP: CMS Primer (Order No. SC24-5236)
IBM VM/SP: CMS Command and Macro Reference (Order No. SC19-6209)
IBM VM/SP: CP Command Reference for General Users
(Order No. SC19-6211)
IBM VM/SP: System Product Editor Command and Macro Reference
(Order No. SC24-5221)
IBM VM/SP: System Product Editor User's Guide (Order No. SC24-5220)
IBM VM/SP: EXEC 2 Reference (Order No. SC24-5219)
IBM VM/SP: SP Editor Command Language Reference Summary
(XEDIT Reference Card, Order No. SX24-5122)
IBM VM/SP: EXEC 2 Language Reference Summary
(EXEC 2 Reference Card, Order No. SX24-5124)
Waterloo SCRIPT Reference Manual
The following manuals contain more information which may be of value
to CJS users:
IBM VM/SP: Introduction (Order No. SC19-6200)
IBM VM/SP: System Messages and Codes (Order No. SC19-6204)
IBM VM/SP: Terminal User's Guide (Order No. SC19-6206)
IBM VM/SP: CMS User's Guide (Order No. SC19-6210)
Waterloo SCRIPT User's Guide
UKCC Plotting Manual
Preface i
CJS User's Guide
CONTENTS
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i
Section 1. Introduction . . . . . . . . . . . . . . . . . . . . . 1
1.A What is CJS? . . . . . . . . . . . . . . . . . . . . . . . . 1
1.B What is Virtual? . . . . . . . . . . . . . . . . . . . . . . 3
1.C CJS Charges . . . . . . . . . . . . . . . . . . . . . . . . 4
Section 2. The Terminal . . . . . . . . . . . . . . . . . . . . . 5
2.A Types of Terminals . . . . . . . . . . . . . . . . . . . . . 5
2.B Connecting a 3270-Type Terminal . . . . . . . . . . . . . . 7
2.C Connecting an ASCII Terminal . . . . . . . . . . . . . . . . 7
2.D Logging On . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.E Logging Off . . . . . . . . . . . . . . . . . . . . . . . . 11
2.F Failures, Disconnecting, and Reconnecting . . . . . . . . . 12
Section 3. Using Your Terminal . . . . . . . . . . . . . . . . . . 13
3.A The Keyboard . . . . . . . . . . . . . . . . . . . . . . . . 13
3.B Terminal Modes and Commands . . . . . . . . . . . . . . . . 13
3.C Retrieving and Reissuing Command Lines . . . . . . . . . . . 14
3.D Editing Command Lines . . . . . . . . . . . . . . . . . . . 15
3.E 3270 Status Indicators . . . . . . . . . . . . . . . . . . . 17
3.F Halting Execution and Terminal Output . . . . . . . . . . . 18
3.G Terminal Line Size . . . . . . . . . . . . . . . . . . . . . 18
3.H Console Spooling . . . . . . . . . . . . . . . . . . . . . . 19
Section 4. The CMS File System . . . . . . . . . . . . . . . . . . 20
4.A Naming CMS Files . . . . . . . . . . . . . . . . . . . . . . 20
4.B Creating CMS Files . . . . . . . . . . . . . . . . . . . . . 21
Contents ii
CJS User's Guide
4.C Erasing CMS Files . . . . . . . . . . . . . . . . . . . . . 22
4.D Examining and Modifying CMS Disk Files . . . . . . . . . . . 22
4.E Other CMS Disk Functions . . . . . . . . . . . . . . . . . . 23
4.F Making Efficient Use of CMS Disk Space . . . . . . . . . . . 24
4.G When Your Disk is Full . . . . . . . . . . . . . . . . . . . 24
4.H Sharing Files with Other Users . . . . . . . . . . . . . . . 25
Section 5. Editing CMS Files . . . . . . . . . . . . . . . . . . . 26
5.A Editing . . . . . . . . . . . . . . . . . . . . . . . . . . 26
5.B XEDIT . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Basic XEDIT Subcommands . . . . . . . . . . . . . . . . . . . 27
Targets . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Column Subcommands . . . . . . . . . . . . . . . . . . . . . 36
Spelling Aids . . . . . . . . . . . . . . . . . . . . . . . . 37
Leaving XEDIT . . . . . . . . . . . . . . . . . . . . . . . . 39
Other XEDIT Features . . . . . . . . . . . . . . . . . . . . 40
XEDIT From A 3270-Type Terminal . . . . . . . . . . . . . . . 41
XEDIT From An ASCII Terminal . . . . . . . . . . . . . . . . 48
Section 6. Printed Output . . . . . . . . . . . . . . . . . . . . 51
Section 7. Communicating with Other CJS Users . . . . . . . . . . 53
Section 8. OS Batch Jobs . . . . . . . . . . . . . . . . . . . . . 59
8.A Submitting a Job . . . . . . . . . . . . . . . . . . . . . . 60
8.B Job Status Messages . . . . . . . . . . . . . . . . . . . . 62
8.C Canceling a Job . . . . . . . . . . . . . . . . . . . . . . 63
8.D Examining Your Results . . . . . . . . . . . . . . . . . . . 63
8.E Claiming Your Output . . . . . . . . . . . . . . . . . . . . 64
8.F Jobs From Card Readers . . . . . . . . . . . . . . . . . . . 65
8.G Sending Messages to Other Users . . . . . . . . . . . . . . 66
Contents iii
CJS User's Guide
8.H Checking OS JCL Under CMS . . . . . . . . . . . . . . . . . 67
8.I Using OS Data Sets from CMS . . . . . . . . . . . . . . . . 68
Section 9. Writing EXECs . . . . . . . . . . . . . . . . . . . . . 70
Section 10. Other Features of CJS . . . . . . . . . . . . . . . . 73
10.A Suggestions . . . . . . . . . . . . . . . . . . . . . . . . 73
10.B Online Kentucky Register . . . . . . . . . . . . . . . . . 74
10.C Plotting . . . . . . . . . . . . . . . . . . . . . . . . . 74
10.D Backing Up Your Files . . . . . . . . . . . . . . . . . . . 75
10.E The PUBLIC Disk . . . . . . . . . . . . . . . . . . . . . . 76
10.F Punching a Real Card Deck . . . . . . . . . . . . . . . . . 76
10.G Reading a Real Card Deck . . . . . . . . . . . . . . . . . 77
Appendix A. The Terminal Environments . . . . . . . . . . . . . . 78
Appendix B. A Sample Terminal Session . . . . . . . . . . . . . . 79
Appendix C. 3270 Program Function Key Template . . . . . . . . . . 84
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Contents iv
CJS User's Guide
Section 1: Introduction
1.A What is CJS?
CJS, which stands for Conversational Job System, is a computer
system that allows you to perform many useful functions from a
computer terminal. You can create and manage a system of files; submit
jobs to the batch system; receive and examine output from batch jobs;
and use SCRIPT, the Waterloo text processor, to format documents. We
could get really technical here and tell you that CJS is a modified
version of CMS (the Conversational Monitor System), which is part of
IBM's VM/SP (Virtual Machine System Product). We could also mention
that CJS lets you use the interactive functions of CMS and the batch
processing functions of OS/MVT, the IBM 370 operating system. But we
want you to keep reading, so we'll just say that CJS is a very
versatile system.
CJS lets you access all of the facilities (utilities, languages,
disk storage, tape storage) of the UKCC batch system from a terminal.
You'll find the term "batch system" used often in this manual. A
batch computing system takes all of your commands at once (in a
batch), processes them, and gives you a response later. This is
different from an interactive computing system, which lets you give a
command, get a response, give another command, and get another
response immediately. If you already use the UKCC batch system with
punched cards, the transition to CJS should be easy. CJS will
eliminate card handling, card expenses, unneeded printed output, and
trips to the Computing Center.
To use CJS, you will need a userid; this is a unique identifier
used by VM/SP to distinguish you and your data from all other CJS
users and their data. CJS userids are assigned by the Computing
Center and generally consist of three letters, which identify the
user's university department, and three digits, which create a unique
identifier. You must have a userid to log on (connect) to the system.
This may seem obvious, but we'll say it anyway: you do not have to log
on to the same terminal every time, and you cannot log on to two
terminals at the same time using the same userid.
After you log on, you can use CJS to create, change, and erase
files. A file is a collection of records (units of data) stored on a
disk. Three kinds of files are used with CJS: "spool files," which
are temporary, "CMS disk files," which are permanent, and "OS disk
data sets," which are used in conjunction with OS batch jobs.
Section 1: Introduction 1
CJS User's Guide
If you're now trying to understand why we use the word "spool" to
describe a file, don't bother; the term's origins are rooted in
computerese of days gone by. Just remember that spool files are
temporary files. They are stored by the system in a special storage
area on a disk and may represent printed output or a card deck. You
can use spool files for temporary storage or to transfer data from one
user to another, but not for permanent storage of data.
Once a spool file has been created, it cannot be changed. It can be
examined with the RBROWSE or PEEK commands, sent to another user,
copied to a permanent CMS disk file, or erased, but its contents
cannot be changed. (When a spool file is copied to a CMS disk file,
it becomes a permanent file that can be changed; more on this later.)
Spool files can be routed (sent) to your userid and accessed
through your "reader," a temporary place on a disk where files can be
kept until you decide what you want to do with them. Your reader can
receive up to 10,000 lines of output per job. Reader spool files
remain available for one week; they are then removed from the system
to prevent the spool disk space from filling.
You can use the spool mechanism to submit jobs and receive output.
The SUBMIT command will send the contents of one or more permanent
(CMS disk) files to the batch system. The output, both printed and
punched, can then be sent back to your terminal as a temporary (spool)
file. You can copy the temporary file to a permanent file for
examination and storage by using the ACCEPT command, and you can print
the file by using the OUTPUT command. You can also change the file by
using XEDIT, the online editor.
The permanent area of disk space rented by each CJS user is called
a minidisk. Your minidisk is assigned to your userid. Data stored on
a minidisk is kept in CMS disk files, the permanent files we mentioned
earlier. Minidisk space is allocated by the Computing Center in units
called "cylinders." Each cylinder contains about 200,000 bytes of
data. To give you an idea of what this means, the text on this page
requires approximately 3,800 bytes of disk space.
User minidisk space is saved on magnetic tape once every two days
by the Computing Center, to allow recovery of user files in case of
hardware error. Files lost because of user error will be restored
(when possible) at the user's expense. You should provide your own
backup for important data; see the section on backup in this manual.
CJS users are charged for the resources they use. Charges are
divided into two categories: disk space rental and terminal sessions.
See the write-up on "CJS Charges" at the end of this section for
details. If you cannot log on because your account has run out of
money, contact the Computing Center to have money added. Be sure to
specify that the account is used for CJS (it also helps if you tell us
which userids are affected). Most likely you will not be able to log
on until the next day, after the account is reactivated. You can
avoid this delay by increasing your allocation before your funds run
out.
Section 1: Introduction 2
CJS User's Guide
This manual provides basic information about CJS. The UKCC CJS
Reference contains detailed information on most of the commands needed
by CJS users, including locally written and modified commands. Other
helpful manuals are listed in the Preface. Detailed documentation for
all commands and error messages may be obtained at a terminal with the
HELP command.
1.B What is Virtual?
You will often find the word "virtual" used in relation to CJS.
The dictionary defines virtual as "being in essence or effect but not
in fact." Using CJS is like having your own personal computer, so we
say you have a "virtual machine." This virtual machine, which is
created by VM/SP, simulates the functions of a real computer. But
while a real computer has a system console with switches and lights, a
virtual machine has a terminal and command languages.
The two command languages available correspond to the two parts of
VM/SP: CP (Control Program) and CMS. CP controls the resources of
the real computing system and manages communication among the virtual
machines. With CJS you can use a subset of the IBM CP commands, a
subset of the IBM CMS commands, and many locally supplied commands.
Usually there is no need to distinguish between CP and CMS commands.
You also have a number of resources available, including virtual
processor storage, a permanent disk area (the minidisk), and several
virtual unit record devices, including a virtual card reader, a
virtual card punch, and a virtual printer. These virtual devices do
not use physical input/output devices, but are simulated by VM/SP with
spool files.
Each spool file is associated with a virtual device type (printer,
reader, or punch) and a userid. Each file has a unique spool file
number (from 1 to 9998) assigned by the system. The userid associated
with each file is called the "owner" of the spool file, and only the
owner may manipulate the file.
The virtual processor storage (memory) is similar to the region
used by a batch job, although jobs do not use this space. Each user
has a separate virtual memory space, which is used by CMS commands as
a work area to examine and manipulate data. This space is created
when you log on and is destroyed when you log off.
Detailed information about VM/SP may be found in the IBM VM/SP:
Introduction.
Section 1: Introduction 3
CJS User's Guide
1.C CJS Charges
CJS charges are divided into two categories: disk space rental and
terminal sessions.
Disk space is allocated in multiples of one cylinder and costs
$2.00 per cylinder per month ($4.00 for external users). Charging is
done on a daily basis and costs about 6.7¢ per cylinder per day (about
13¢ for external users), with a $2.00 minimum monthly charge. Disk
rental must be charged to a non-allocated account, and students must
pay for each semester in advance.
Terminal session charges are broken down into CPU time and non-
spooled Input/Output operations (which is almost entirely CMS disk
file I/O). CPU time is charged at the rate of $750 per CPU hour
(about 21¢ per second); external users are charged twice this rate.
The CPU time used is known as the "virtual" CPU time, which is the
time used directly by the user. I/O operations are charged at the
rate of 50¢ per 1,000 ($1 per 1,000 for external users). An I/O
operation is required each time a record is read or written from a
disk file (for editing, etc.), and each time a command or EXEC is
executed.
CJS terminal sessions are charged to accounts at the end of each
day (usually sometime between midnight and 7:00 a.m.). The account
for terminal session billing does not have to be the same as the one
used for disk rental billing, but it cannot be a deferred project.
CJS users are also charged for batch jobs, printed output, and
spool files. Batch jobs submitted from CJS are charged in the same
way as batch jobs submitted on cards. Each batch job specifies a
project number (which does not have to be the same as the project
number to which your CJS use is billed). Printed output is charged as
if it were output from a batch job: 50¢ per 1,000 lines printed at the
Computing Center, and 10¢ per 1,000 lines printed at a remote site or
sent back to a terminal (external users pay twice this rate). Printed
output from CJS is charged to the account used for terminal sessions.
Charges for spool files are based on the number of 4K spool blocks
used by the file and the number of minutes the file remains in your
reader. The rate is $0.00000244 per block-minute. Spool files of the
size currently used (approximately 1600 lines or 2000 cards) incur
very small charges if kept for 24 hours. For example, a 1600-line
print file with full 132-byte lines spooled to a CJS user would cost
about 14¢ per day. There is no charge for files which accumulate less
than 1¢ in charges, so if you remove this file within one and one-half
hours the cost would be less than a penny, and no charge would be
accumulated. You should delete your spool files when you no longer
need them, since the system removes them only once a week.
Section 1: Introduction 4
CJS User's Guide
Section 2: The Terminal
2.A Types of Terminals
You will use CJS from some kind of terminal, and the kind of
terminal you use will affect the way you use CJS. A terminal can be
classified in several ways: local or remote, display or printing,
ASCII or EBCDIC, synchronous or asynchronous. Each brand and model of
terminal also has its own peculiar set of features.
A local terminal is directly attached to the computing system,
using a local controller and channel connection. This is possible
only at relatively short distances from the Computing Center. A
remote terminal is usually attached to the computing system through
switched or leased telephone lines, although other kinds of
connections are sometimes used. Remote doesn't necessarily mean that
the terminal is very far from the Computing Center (some terminals
using remote connections are located in McVey Hall, only a few hundred
feet from the computer), but a remote terminal may be located anywhere
that access to appropriate communication facilities is available.
The main distinction between local and remote terminals is that
connecting to the computing system with most remote terminals will use
a switched communication line and require dialing a telephone number.
This is called a "dial-up" connection. Dial-up connections employ
ordinary telephone facilities to make a temporary terminal-to-computer
connection. Terminals using switched lines can use a special
dataphone, a standard telephone with an acoustic coupler, or may
connect through a modem directly to the telephone line. Communication
over telephone lines is limited to relatively low speeds, so another
difference between local and remote terminals is the speed at which
they transmit and receive data. In general, the higher the speed, the
easier the terminal is to use.
At the UKCC, all local terminals are 3270-type display terminals.
Remote terminals may be 3270-type display terminals, ASCII display
terminals, or ASCII printing terminals.
Another way to classify a terminal is the method it uses to display
data. Some use a display screen (usually a Cathode Ray Tube, or CRT),
others use some kind of printing mechanism. Printing terminals are
most often used when a permanent printed record is required, or when
producing letters and other documents. Display terminals are easier
Section 2: The Terminal 5
CJS User's Guide
to use when creating and editing files. VM/SP provides special
software support for 3270-type display terminals (and ASCII display
terminals using the S3270 Simulator Facility) which makes these
terminals much more convenient to use.
The S3270 Facility uses software simulation in combination with the
functions provided by the terminal hardware to give an ASCII display
most of the functions of a 3270-type display terminal. There is a
connection surcharge for this service, to pay for the system overhead
caused by the software simulation. No ASCII terminal can support all
3270 functions, and support for various brands and models must differ
to allow for different keyboard arrangements and control mechanisms.
Special keys and combinations of keys on the terminal's keyboard are
used to simulate functions available on the keyboard of a 3270-type
display terminal. The specific keys and sequences used vary among
different models of ASCII terminals, and you should become familiar
with the way they are used before attempting to use S3270. More
information about S3270 can be found in the UKCC CJS Reference.
Unless specified otherwise, everything in this manual that applies to
3270-type terminals also applies to ASCII terminals using S3270.
A terminal may also be classified by the character code it uses to
communicate with the computer system. The two codes used at the UKCC
are Extended Binary Coded Decimal Interchange Code (EBCDIC) and the
American Standard Code for Information Interchange (ASCII). The code
used by a terminal is usually of no consequence to the user because
VM/SP automatically handles the translation of data to and from the
appropriate code. The only EBCDIC terminals at the UKCC are 3270-type
display terminals. All other terminals use ASCII. Internally, VM/SP
uses EBCDIC to represent data.
Binary synchronous (or bisync) and asynchronous (or async or start-
stop) refer to the communication protocol used with a remote terminal.
This distinction is seldom important to the terminal user. At the
UKCC, bisync protocol is used by remote 3270-type terminals and by
clusters of ASCII terminals sharing a communication line. Async
protocol is used by all other ASCII terminals.
The way that you use your terminal will depend on its combination
of attributes. The initial connection procedure that you will use
depends on whether you are using a 3270-type terminal or an ASCII
terminal. Once you have connected to the system, the important
distinction is between those terminals treated by VM/SP as displays
(3270-type terminals and ASCII terminals using S3270) and those
treated as printing (all others, even if the terminal actually has a
display screen).
Public terminals are available at several locations on the UK
campus. There are 3270-type display terminals available in McVey
Hall, and ASCII terminals are available in McVey Hall and several
other locations. The locations and operating hours of the public
terminal areas are published periodically in the Kentucky Register,
the Computing Center's monthly newsletter.
Section 2: The Terminal 6
CJS User's Guide
A microcomputer can be used as an asynchronous ASCII terminal if it
has the appropriate hardware and software. With the proper software,
it is also possible to exchange files with microcomputers. Refer to
the UKCC CJS Reference for more information.
2.B Connecting a 3270-Type Terminal
Connecting to the VM/SP system with a local or remote 3270-type
terminal is very simple. Use this procedure:
1. Turn on the terminal if it is not already on. Generally this is
done by pulling out on a knob at the lower left corner of the
display. The terminal will require about a minute to warm up.
2. The display should have "VM/370 ONLINE" in the upper left corner,
"RUNNING UKCC" in the lower right corner, and the VM/370 logo in
the center of the screen. The cursor should be in the lower left
and the SYSTEM AVAILABLE indicator should be on. If the screen
is blank, press the CLEAR key. If the screen is still blank, or
if someone else is logged on and has left the terminal
unattended, turn off the terminal, wait a few seconds, and turn
it on again. Press the CLEAR key when the terminal warms up.
The VM/370 logo should now be displayed and the SYSTEM AVAILABLE
indicator should be on. If the screen is still blank, get help
from a consultant or an operator.
3. Once the logo is displayed, press the CLEAR key. The screen will
be cleared, the message "CP READ UKCC" will be displayed in the
lower right, and the cursor will be in the lower left. This
indicates that the VM/SP Control Program (CP) is ready to accept
commands. You may now log on.
2.C Connecting an ASCII Terminal
The following procedure is for users in Lexington. If you are
connecting through the Kentucky Educational Computing Network
(KECNET), you will use a different procedure and should contact your
local consultant for details. There is no standard ASCII terminal,
and models produced by different manufacturers will differ in some
details. The following general procedure will work with most ASCII
terminals:
Section 2: The Terminal 7
CJS User's Guide
1. The terminal must be set to half-duplex, seven data bits, and
even parity (VM/SP will accept either even or mark parity, but
transmits only even parity). The following combinations of speed
and stop bits are accepted:
Line Speed Stop
(Baud) Bits
110 2
300 1
1200 1
The method used to set these attributes will depend on the model
of the terminal that you are using. Public terminals on the UK
campus should already be set correctly.
2. If it is not already off, turn off your terminal, wait a few
seconds, and turn it on again. If you are using a modem or
coupler, turn it on also.
3. If you are using a terminal in one of the clusters on the UK
campus, skip this step. If you are using a switched (dial-up)
connection, you will need to dial one of the following numbers:
Off-Campus On-Campus
257-3361 7-3361 (up to 300 baud)
257-4861 7-4861 (up to 1200 baud)
If you are using an acoustic coupler, wait for a high-pitched
tone. If the number is busy or there is no answer, hang up and
try again. When you hear the tone, place the handset of the
telephone face-down in the coupler. Note the end designated
"CORD".
4. You now have a connection to the UKCC port selector. To identify
yourself, you must type:
rs
within about 15 seconds of establishing the connection. If you
wait longer than 15 seconds, try again after about 45 seconds.
The system should respond:
Request:
If you get no response, reestablish the connection and try again.
If you are unable to make a connection, call the Computing Center
for assistance.
5. You are now communicating with the port selector and may request
a service. Type:
cjs
and press the RETURN key. VM/SP should respond:
Section 2: The Terminal 8
CJS User's Guide
VM/370 ONLINE
This message may not be transmitted correctly every time you
connect, and occasionally you will only receive a few carriage
returns and line feeds.
If the connection cannot be made immediately, you will be
informed. You have two chances to correctly request a service.
If your second attempt fails, the port selector will drop the
connection to your terminal and you must return to step 2
(above).
6. Press the attention key on the terminal (usually labeled BREAK or
ATTN). The system should respond with a "!" (to indicate
attention) and a ".". The "." is a prompt from the VM/SP Control
Program (CP) indicating that a command may now be entered.
7. If you are not using an ASCII display terminal, or if you do not
want to use the S3270 facility, you are now ready to log on and
should skip the following steps. S3270 will use various special
keys or combinations of keys on your terminal's keyboard to
simulate functions available on the keyboard of a 3270-type
display terminal. Before attempting to use S3270, you should be
familiar with its operation. To access S3270, type:
dial s3270
and press RETURN. You should receive the following messages:
CONNECTED TO S3270 nnn
ENTER YOUR TERMINAL TYPE OR "?":
If you receive other messages, call the Computing Center for
assistance. S3270 supports several kinds of terminals, each
identified by a number. If you know the correct number, enter it
and press RETURN. Otherwise, enter a question mark and press
RETURN to see a list of valid terminal types. When you have
entered your terminal type, your terminal's screen will be
cleared and the VM/370 logo will be displayed. If the screen
appears garbled you have probably entered the wrong terminal
type, and you should immediately enter #### and press the RETURN
key. If you need further assistance, contact a UKCC consultant.
8. When the VM/370 logo has been displayed, press the CLEAR key (or
the key or keys used to simulate the CLEAR function on your
terminal). The screen should be cleared, "CP READ UKCC"
displayed in the lower right corner of the screen, and the cursor
moved to the lower left. This indicates that the VM/SP Control
Program (CP) is ready to accept commands. You may now log on.
If you have persistent difficulty connecting, please contact the
Computing Center to report the problem. You may have discovered a
system problem that will affect other users also. The sooner a
problem is reported, the sooner it can be fixed.
Section 2: The Terminal 9
CJS User's Guide
2.D Logging On
Now that you have established a connection to VM/SP, you can log
on. Your userid may be logged on at only one terminal at a time, and
a terminal may be used by only one userid at a time. Use the LOGON
command to identify yourself to VM/SP and begin a terminal session.
Type:
logon userid
(where "userid" is your user identifier assigned by the Computing
Center) and press ENTER or RETURN. VM/SP will respond with:
ENTER PASSWORD:
and, depending on the type of terminal, will either type a security
mask to conceal the password or inhibit the display of the characters
as they are typed. Every userid has an associated password that is
selected by the user and set by the Computing Center. You should
protect your password to prevent unauthorized access to your userid
and data. Type your password and press ENTER or RETURN.
If you make a mistake during the LOGON process, you must enter the
LOGON command again. For example, if you type the password
incorrectly, you will receive the following message:
DMKLOGO50E PASSWORD INCORRECT - REINITIATE LOGON PROCEDURE
Once the log on sequence has been correctly completed, the following
will be displayed:
LOGON AT hh:mm:ss timezone day mm/dd/yy
CMS/CJS SP200 PRESS ENTER OR RETURN
These messages indicate the current date and time, and the version of
the software being used. Press the ENTER or RETURN key, and CMS will
respond with:
R; $0.05 hh:mm:ss
This is the CMS ready message. It indicates the cost of the last
command (in this case, the cost of logging on) and the current time.
The ready message indicates that CMS is ready to accept commands.
There are other messages that may be produced while you are logging
on. A message like this:
FILES: 001 RDR, NO PRT, NO PUN
indicates that you have a reader spool file waiting. These are
temporary files that are used to exchange data with other users, and
to hold output from batch jobs. (These topics are covered elsewhere
in this manual.)
Section 2: The Terminal 10
CJS User's Guide
You will occasionally see messages like this when you log on:
LOGMSG - hh:mm:ss timezone day mm/dd/yy
* mm/dd/yy MAN BYTES TERMINAL...ENTER "NEWS" FOR DETAILS...
This is called a "log message" and is used to inform you of new
versions of software, changes in the UKCC operating schedule, and
other news. The NEWS command will provide additional information.
If you have trouble logging on, make sure that you're correctly
entering your userid and password. Don't panic if you receive one of
these messages:
DMKLOG980E userid ACCOUNT CLOSED; LOGON NOT ALLOWED
DMKLOG981E userid ACCOUNT BALANCE NEGATIVE; LOGON NOT ALLOWED
DMKLOG982E userid ACCOUNT NOT ACTIVE; LOGON NOT ALLOWED
This does not mean that your userid has been deleted from the system!
Your files are still intact, but you must contact the Computing Center
Main Office (open from 8:00 a.m. to 4:30 p.m., Monday through Friday)
to have your userid enabled before you can log on again.
Although it is unlikely, you could receive the following message
when you log on:
DMKLOG116E userid xxx NOT LINKED; CP DIRECTORY IN USE
This means that the system was unable to provide a link to one of the
minidisks that you normally use. If you receive this message, log off
immediately, and log on again.
2.E Logging Off
When you have finished a terminal session, use the LOGOFF command
to terminate the session. The system will respond:
$n.nn (n.nn sec CPU, nn I/O op's) will be charged to nnnn-nnnnn.
Balance for project nnnn-nnnnn is $n.nn (Allocation $n.nn).
CONNECT=hh:mm:ss VIRTCPU=mmm:ss.nn TOTCPU=mmm:ss.nn
LOGOFF AT hh:mm:ss timezone day mm/dd/yy
LOGOFF displays the cost of your terminal session, your account
balance, and other information. Account balances are updated at the
end of each day, so the balance will probably not be current.
LOGOFF will also display a list of your temporary (spool) files and
give you an opportunity to discard any that you no longer need. You
are charged for these files, based on each file's size and age. Spool
Section 2: The Terminal 11
CJS User's Guide
files are not intended to be used for long-term storage, and the
system will automatically purge any spool file more than a week old.
If you are spooling your console log, you will be asked if the log
should be retained when you log off. Console spooling is used to keep
a record of your terminal session and is covered in detail later in
this manual.
2.F Failures, Disconnecting, and Reconnecting
Should a terminal or communication line failure occur, your userid
will be placed in a "disconnected" status for 15 minutes. Turning the
terminal off, or hanging up the phone when using a dial-up connection,
will also cause you to be disconnected. You then have 15 minutes to
reestablish connection with the system before a forced log off occurs.
You may disconnect yourself by issuing the command:
disconnect
This allows you to use your terminal for something else, or to move to
another terminal.
Reconnecting is accomplished with the LOGON command, just as in the
initial log on. The system responds:
RECONNECTED AT hh:mm:ss zone weekday mm/dd/yy
It will also display any log messages and the number of spool files
that you have, as during any log on. Enter the "BEGIN" command to
resume operations. Press ENTER or RETURN an additional time or two to
receive the "CMS/CJS" identification message.
Some terminal characteristics are assumed by VM/SP each time you
log on, even if you are reconnecting. If you alter any of these
settings in a PROFILE EXEC (refer to the section on the PROFILE EXEC
for more information), you may want to issue the command "PROFILE" to
reset them. More serious difficulties can arise if you are
disconnected while using a 3270-type terminal and then reconnect using
an ASCII terminal. Some CMS commands, such as BROWSE and FLIST, will
function correctly only on 3270-type terminals and will fail if they
were active at the time you were disconnected. Anytime that you
intend to log on using another terminal type, you should LOGOFF rather
than DISCONNECT.
You will also be disconnected if the VM/SP system fails or is shut
down by the system operator. In this case the forced logoff occurs
immediately, and logging back on to the system will be the same as a
normal log on.
Section 2: The Terminal 12
CJS User's Guide
Section 3: Using Your Terminal
3.A The Keyboard
While you are logged on you will use the keyboard of your terminal
to enter commands and data. The keyboard is similar to that of a
typewriter, with a few special keys added. When you have finished
typing a command you must press a special key to signal the computer.
On 3270-type terminals, this key will be marked ENTER; on most ASCII
terminals the key will be marked RETURN. Some ASCII terminals also
have keys marked SEND or ENTER that generally should not be used.
Another important key is one that is used to get the computer's
attention. When using an ASCII terminal you cannot enter a command
until the computer has issued a prompt, and in some situations you
will need to use the attention key to request a prompt. On ASCII
terminals the attention key is usually marked BREAK (it may be marked
ATTN on some keyboards). There are two kinds of attention keys on a
3270 keyboard. One is marked PA1, and will put your terminal in CP
mode (this will be explained later). The other is the ENTER key.
When you are using a 3270-type terminal (or an ASCII terminal with
S3270), you will seldom need the attention function because you may
enter commands without waiting for a prompt.
3.B Terminal Modes and Commands
You will be in CMS mode when you finish the process of logging on;
this means that commands that you enter will be processed by CMS.
This is the normal operating mode, and you will probably never need to
use the other modes that are available.
Commands entered while the terminal is in CMS mode are saved in the
order that they are entered (this is called "stacking") and then
executed when any currently executing command completes. This allows
several commands to be entered together. CMS will pass commands that
it does not recognize to CP for execution. CP commands can be entered
in CMS mode, but CMS commands cannot be entered while the terminal is
in CP mode. If you stay in CMS mode, the distinction between CP and
Section 3: Using Your Terminal 13
CJS User's Guide
CMS commands is only important if you want to put a sequence of
commands in an EXEC (covered in a later section), or if you want to
use the HELP command to display online documentation for a command.
When either a CP or a CMS command issued in CMS mode completes, CMS
displays the CMS ready message. This will include the current time
and the cost of executing the command. If the command encountered an
error, the ready message will also include a return code (a number
used to indicate the error) from the command.
To leave CMS mode, press the BREAK key twice on an ASCII terminal,
or press the PA1 key once on a 3270-type terminal. This puts the
terminal into CP mode. The CMS command "CP" can also be used to enter
the CP environment. To return to CMS mode, enter the command "BEGIN".
Pressing ENTER (or RETURN) twice will cause the system to identify the
current environment: it will respond with either "CP" or "CMS/CJS".
The system cannot respond while a command is executing.
The other mode that you may find yourself in is called CMS Subset.
CMS Subset allows only a subset of CMS commands to be entered and is
used for specialized purposes. Pressing ENTER (or RETURN) twice while
in Subset will cause the system to respond "CMS/CJS Subset". To leave
this mode, enter the RETURN command (not the RETURN key!).
Commands may be entered using any combination of uppercase and
lowercase letters; in most cases, VM/SP translates the input to
uppercase. Examples in this manual will generally show user-entered
lines in lowercase and system responses in uppercase.
3.C Retrieving and Reissuing Command Lines
CMS provides special functions that allow command lines to be
recalled and reused. The ? (recall) function will display the
previous command line. If you are using a 3270-type terminal, the
command is displayed in the input area, where you may modify it and
re-enter it by pressing ENTER. The = (reuse) function will reissue
the previous command. You may follow the equal sign with an
additional command (including another equal sign) on the same line.
The additional command will be executed before the previous command is
reissued. Multiple equal signs on a line will cause the previous
command to be repeated once for each equal sign.
If you are using an IBM 3101 or a 3270-type terminal equipped with
Program Function (PF) keys, you can use a PF key to retrieve one of
several previously entered lines. First, set a PF key in the
following manner:
set pf10 retrieve
Section 3: Using Your Terminal 14
CJS User's Guide
Pressing the RETRIEVE PF key (PF10 in our example) will cause the
system to place the most recent input line in the input area, where it
may be modified and reused by pressing the ENTER key. Pressing the
RETRIEVE PF key again will cause the preceding line to be retrieved.
The system will save several input lines for retrieval. A PF key can
be set automatically to RETRIEVE from a PROFILE EXEC when you log on.
On local 3270-type display terminals all otherwise unassigned PF keys
are set automatically to RETRIEVE.
3.D Editing Command Lines
Correcting mistakes in a command line is simple if you are using a
3270-type keyboard. If you notice the error before pressing ENTER,
just use the cursor movement keys, the ERASE EOF key, the DEL key, and
INS (insert) MODE to correct the mistake. Pressing INS MODE will put
the terminal in insert mode; use the RESET key to cancel insert mode.
Pressing the ERASE INPUT key will erase the entire command input area.
After pressing ENTER, you can use a RETRIEVE PF key to retrieve the
line for correction. This isn't as complicated as it seems. The best
way to learn to use the keyboard is to play with one for a while.
The situation is not quite so simple if you are using an ASCII
terminal. Although many ASCII terminals provide line editing keys
(cursor movement, backspace, character delete, etc.), these are not
supported by VM/SP unless you are using S3270. However, VM/SP does
provide a set of line editing characters that provide the same
functions. Each function has a default character:
Symbol Character
Character Delete (CHARDEL) @
Line End (LINEND) #
Line Delete (LINEDEL) ¢ (3270)
Line Delete (LINEDEL) [ (ASCII)
Escape (ESCAPE) "
You can change the line editing characters for a terminal session with
the CP command TERMINAL. The CP command QUERY TERMINAL will display
the current settings.
The character delete symbol (@) allows the deletion of one or more
of the previous characters entered. The @ deletes one character per @
entered. For example:
ABC#@@ results in AB
ABC@D results in ABD
A@DEF results in DEF
ABC@@@ results in an empty line
Section 3: Using Your Terminal 15
CJS User's Guide
If you use an ASCII terminal you may want to set your delete character
to the BACKSPACE key, if one is available on your terminal. This can
be done with the command:
terminal chardel <backspace>
where <backspace> represents pressing the BACKSPACE key. If you are
using a 3270-type terminal, you will usually not need a character
delete symbol, since the 3270 keyboard provides hardware line editing
facilities. To disable the character delete feature, enter the
command:
terminal chardel off
This will allow the "@" character to be used as a regular data
character.
The line end symbol (#) allows the keying of more than one command
on the same line. The # is used to separate the line into "logical"
lines. CMS stacks the commands and executes them in sequence. For
example:
query time#query reader
is executed in the same way as the entries:
query time
query reader
Two # characters together or a # at the end of a command line will be
treated as a null (empty) line by VM/SP.
The line end character has another use. A command line that begins
with:
#cp
will be passed directly to CP, even if a CMS command is currently
executing. The command will be treated as if it had been entered in
CP mode.
The line delete symbol (¢ for 3270-type terminals, [ for ASCII
terminals) deletes the entire line, or the logical line back to and
including the previous line end character (#). For example:
ABC#DEF[ results in ABC
ABC#[ results in ABC
ABC[ results in an empty line
The escape symbol (") causes VM/SP to consider the next character
entered to be a data character,
Section 3: Using Your Terminal 16
CJS User's Guide
even if it is one of the special line editing characters (@, [, ¢, ",
and #). For example:
ABC"[D] results in ABC[D]
""ABC"" results in "ABC"
3.E 3270 Status Indicators
Users of 3270-type terminals have two important status indicators
not available on ASCII terminals. The first is a cluster of three
indicators marked SYSTEM AVAILABLE, INSERT MODE, and INPUT INHIBITED.
(These indicators are only available on real 3270-type terminals, not
with S3270.) Input is accepted from the keyboard only when SYSTEM
AVAILABLE is on. INSERT MODE is controlled by the INS MODE and RESET
keys and is used for editing input lines, along with the DEL
(character delete) key. INPUT INHIBITED means that the system is
working on your last command or that something is wrong. In any case,
keyboard entry is not allowed. This often indicates that you have
tried to enter data in an area of the screen where data entry is not
allowed (some terminals will sound an alarm if you attempt to type in
a protected area). Press RESET and move the cursor to a valid input
area if this is the case. If the INPUT INHIBITED condition persists,
it may indicate a problem with your terminal or with the VM/SP system,
and you should contact a consultant for assistance.
The second important indication is the system message area in the
lower right corner of the screen. (This is available both on real
3270-type terminals and ASCII terminals using S3270.) The message
area will contain a status indicator and the system node identifier
(the node will always be UKCC). The status will be one of:
RUNNING Normal; CP and CMS commands may be entered.
CP READ CP command is expected. Enter BEGIN to return to CMS
mode. CP READ is displayed before you log on.
VM READ CMS is waiting for input.
NOT ACCEPTED CMS or CP was busy when you tried to enter a command or
data. Wait a few seconds and try again.
MORE... The screen is full, but the system has more information
to display. Press CLEAR or PA2 to see the new
information. Press ENTER to hold the current screen. If
ENTER is not pressed within 60 seconds, the system will
automatically clear the screen and continue.
HOLDING The screen is full, the system has more information to
display, but the screen is being held. You may hold the
Section 3: Using Your Terminal 17
CJS User's Guide
screen by pressing ENTER in response to a MORE... prompt.
The system will hold the screen if it contains a message
from another user. Press CLEAR or PA2 to clear the
screen and continue.
3.F Halting Execution and Terminal Output
You can stop the execution of a CMS command with the HX (halt
execution) command. On an ASCII terminal you must request a prompt by
pressing the BREAK key before you can enter the HX command. The
system should respond "CMS/CJS".
You can stop the terminal output from a command, but allow the
command to continue executing, with the HT (halt typing) command. On
an ASCII terminal, you will again use the BREAK key to request a
prompt. On a 3270-type terminal it may be difficult to enter a
command while the screen is being updated, so wait until the screen
fills and "MORE..." is displayed. Then enter the HT command. When
the command completes, the CMS ready message will be displayed.
Before the command completes, you can start terminal output again with
the RT (resume typing) command. Any output that would have been
displayed at the terminal from the time an HT is issued until RT is
issued is lost.
3.G Terminal Line Size
VM/SP assumes that your terminal has a capacity of 80 characters
per line. Any output to your terminal that exceeds 80 characters will
be broken into additional lines. Your terminal may allow lines longer
or shorter than 80 characters, and for some printing and graphics
applications you may not want lines broken. The CP command TERMINAL
LINESIZE can be used to set the line length used by VM/SP:
terminal linesize n
where "n" is a number from 30 to 255. To disable line length checking
(used with the TPRINT and plotting commands), use:
terminal linesize off
You can use the CP command QUERY TERMINAL to determine the current
setting. Note that VM/SP will assume the default LINESIZE value every
time that you log on, even if you are reconnecting. You may want to
place the CP TERMINAL LINESIZE command in your PROFILE EXEC.
Section 3: Using Your Terminal 18
CJS User's Guide
3.H Console Spooling
A printed record of a terminal session can be obtained with console
spooling. This can be particularly valuable if you use a terminal
that doesn't produce printed output. Spooling the console causes the
system to save commands and responses in a spool (temporary) file for
later printing or examination. This record is known as a console log.
The console log will also include messages that you receive from other
users, even if you where disconnected when the message was sent. To
initiate console spooling, enter the CMS command:
setcon to *
To examine the console log, you can enter the command:
setcon to * close
A spool file will appear in your reader containing the console log.
The log can be examined with the RBROWSE or PEEK command, or printed
with the OUTPUT command, just like any other spool file.
If you decide that you don't need a console log, you can end
console spooling and discard the log by entering the command:
setcon end
When you enter the LOGOFF command, it will determine if the console
is being spooled. If it is, it will ask if you want to keep your
console log. Responding "NO" will cause the record to be purged;
"YES" will cause the spool file to be sent to the destination
specified on the SETCON command.
Note that console log recording is suppressed or limited while
screen-oriented commands (such as XEDIT, FLIST, and BROWSE) are
executing on 3270-type terminals.
Section 3: Using Your Terminal 19
CJS User's Guide
Section 4: The CMS File System
When you use CMS, your programs, text, and other data are kept in a
disk area called a minidisk that is reserved for your userid. Unless
authorized by you, no other user has access to this space (more on
this later). Each program, document, or other collection of data is
kept in a separate CMS disk file on your minidisk. Each file is a
group of lines (records) kept together in a form unique to CMS. They
cannot be read or written using other operating systems, although
there are mechanisms for transporting CMS disk files to other systems.
CMS provides commands for creating new files, for examining, editing,
and printing existing files, for sending files to other users, and for
erasing files when they are no longer needed.
Regardless of the format of the data in the file, the CMS file
system keeps CMS files on disk in fixed-length physical blocks of 800,
1024, 2048, or 4096 bytes. CMS automatically performs the processing
required to block and deblock records, so you will seldom need to be
aware of this process. The size of the physical blocks is determined
when the minidisk is formatted; the default size is 1024 bytes. Your
minidisk is formatted for you when your userid is assigned, and most
likely you will never need to use any other format.
4.A Naming CMS Files
When you create a CMS disk file, you assign an identifier that you
will use when later referring to the file. CMS file identifiers are
in three parts (a filename, a filetype, and a filemode) that are known
collectively as a fileid. When you use a CMS command to modify,
update, or otherwise reference a file, you will specify a fileid.
Some CMS commands require only that the filename be specified (they
will assume a filetype). Very often the filemode can be omitted.
Most commands require that a filename and filetype be specified.
The filename and filetype can each be from one to eight characters
long, and may use letters, digits, $, #, -, _, +, ., and @. (Remember
that # and @ characters are normally VM/SP line editing symbols, and
must be immediately preceded by the logical escape character " if they
are used on a command line.) File identifiers entered in lowercase
will automatically be translated to uppercase (unless the fileid was
specified on a command in an EXEC). As long as you follow these
rules, you may assign any filename and filetype to any file.
Section 4: The CMS File System 20
CJS User's Guide
Some CMS commands attach special significance to the filetype.
When XEDIT is used to create a file, various default characteristics
for the file (such as record length and format, tab settings,
translation to uppercase, truncation column, and so on) will be
assumed based on the filetype; refer to the UKCC CJS Reference for
details. Some commands will only use files with a particular filetype
(SCRIPT will only use files with a filetype of "SCRIPT"), some
commands will assume a filetype by default (SUBMIT looks for files
with filetypes "JOB" and "JCL"), and some commands will make
assumptions about the file based on the filetype (PRINT and TPRINT
assume that files with a filetype of "LISTING" contain carriage
control information). However, nothing prevents the use of a filetype
for files that are not used with the specific CMS function normally
associated with that filetype.
The third part of the file identifier, the filemode, consists of
two characters: the filemode letter and the filemode number. The
filemode letter indicates the mode letter (A through Z) currently
assigned by the ACCESS command to the minidisk on which the file is to
reside. When the CMS editors are used to create a file and this field
is not specified, the new file is written on your A-disk and has a
filemode letter of "A". This minidisk is automatically accessed by
CMS when you log on and generally is the only minidisk that will be
available to you for storing files. Some commands assume that a file
is on your A-disk unless you specify otherwise; some commands will
search all accessed minidisks for a file. The filemode letter is more
important when you are sharing files with other users.
The filemode number is a number from 0 through 5 which is assigned
to a file when it is created or renamed. The default filemode number
is 1. Since these numbers have specific uses, it is best to use the
default value. (For example, files with filemode number 3 are
automatically erased after they have been read once.) For more
information, refer to the description of the RENAME command in the
UKCC CJS Reference. When it is necessary to indicate a filemode in a
command, specify only the letter, and the filemode number will be
assumed to be 1. All examples in this manual will assume the default
value.
4.B Creating CMS Files
There are several ways to create CMS disk files, but you will
probably create most files by manually entering the data at your
terminal keyboard. XEDIT, the VM/SP editor command, is used for this
purpose. An editor is a program that allows you to create, examine,
and modify a file; a later section of this manual discusses XEDIT in
more detail.
Section 4: The CMS File System 21
CJS User's Guide
Unlike many systems, it is seldom necessary to specify a logical
record length, record format, or block size when a CMS file is
created. Most CMS files will use variable-length records, since this
format almost always uses less disk space than fixed-length records.
CMS files may also be created by copying data from another source.
Data can be copied from an OS disk data set with the CMS commands
FILEDEF and MOVEFILE. These are discussed in the section on OS batch
jobs. The COPYFILE command can be used to create a new file from one
or more existing CMS files. The ACCEPT command is used to create a
CMS disk file from a reader spool file.
4.C Erasing CMS Files
CMS disk files can be deleted with the ERASE and BURN commands.
You can specify either a single file:
erase test data
or a group of files that have the same filename or filetype:
erase test *
This erases all files with a filename of "TEST", regardless of
filetype. In both of these examples the ERASE command assumed the
filemode "A". The BURN command would be used in exactly the same way.
Be careful with both of these commands. There is no command to
recover a file that has been erased.
4.D Examining and Modifying CMS Disk Files
An existing CMS disk file can be modified with XEDIT. COPYFILE can
also be used to perform some simple modifications, such as translating
characters to uppercase and reordering data columns. The SORTF
command can be used to sort the records in a CMS disk file.
The fileid (filename, filetype, and filemode number, but not
filemode letter) of an existing CMS file can be changed with the
RENAME command.
CMS disk files may be examined in several ways, but most often
XEDIT will be used. If you are using a 3270-type terminal, you can
also use the BROWSE command, a read-only editor. BROWSE is
particularly valuable for examining large files.
Section 4: The CMS File System 22
CJS User's Guide
The TYPE command can be used to display all or part of a file at
the terminal. If you are using a printing terminal, you can use the
TPRINT command to print a file at your terminal. The PRINT command
can be used to create a spool file from a CMS disk file. This spool
file can then be printed on a real printer. Creating printed output
is covered in a later section of this manual.
4.E Other CMS Disk Functions
Information about currently accessed minidisks and files may be
obtained in several ways. The CMS QUERY command can be used to
display information about one or more accessed minidisks:
query disk a
will describe the A-disk, including the amount of space available.
Information about specific files can be obtained with the LISTX and
FLIST commands. LISTX will list the fileids and other information
about specified files. For example, the command:
listx
will list the fileids of all files on your A-disk. And the command:
listx ( l
will list the fileids, record counts, creation dates, and other
information about all of the files on your A-disk. The command:
listx x* ( l
will list information about all files on the A-disk which have
filenames beginning with an "X".
If you are using a 3270-type terminal, you may want to use FLIST, a
screen-oriented command. FLIST displays a menu of fileids, including
a LISTX-type description of each file. Other CMS commands may be
entered from the menu, using the listed fileids as parameters.
Consult the UKCC CJS Reference for more information.
Section 4: The CMS File System 23
CJS User's Guide
4.F Making Efficient Use of CMS Disk Space
To most efficiently use your available space you should use files
with variable-length records as much as possible. This is because
variable-length records are saved on disk with all trailing blanks
removed. In many applications, especially SCRIPT and program source
files, records will often be more than 50% blanks. Almost all CMS
commands will accept variable-length records (two exceptions are the
SYNONYM and UPDATE commands).
If you have files in fixed-length format, they may be converted to
variable-length format with the COPYFILE command:
copyfile data file a ( recfm v trunc
CMS files can also be "packed" to reduce their space requirements.
Packing works by replacing all occurrences of two or more blanks with
one count byte, and all occurrences of four or more of any other
character with a three-byte field. This can result in a substantial
savings of disk space. The PACK command and the SET PACK subcommand
of XEDIT are used for this purpose. A packed file will usually
require less disk space than the same file unpacked, but the file must
be unpacked for most processing. XEDIT is the only command that
should be used to examine or modify packed files. The command:
pack program job
compresses a file called PROGRAM JOB on the A-disk, and the command:
unpack program job
restores it to its original form. Modifying a packed file improperly
will make it unreadable; data cannot be recovered from such a file.
Converting a packed file to variable-length format can also make the
file unreadable.
4.G When Your Disk is Full
When executing a command that writes a file to disk, it is possible
that more disk space will be required than is available. This will
cause the command to terminate with an error message indicating the
problem. To successfully complete the command, some space must be
made available. This can be done by erasing unneeded files and
packing existing files until enough space is available. The SENDFILE
command can be used to temporarily move some of your files to your
reader. Once they have been moved, they may be erased from your disk
to make more space available. They can be moved back to your
Section 4: The CMS File System 24
CJS User's Guide
permanent minidisk with the ACCEPT command later. Remember that
reader spool files cannot be used for permanent data storage, and that
spool files more than a week old are purged automatically by the
system.
A special case is when XEDIT cannot SAVE or FILE because of space
limitations. The editor attempts to write a new copy of the file
being edited to disk and then erase the old copy. This is done to
prevent loss of data if the system should fail while the file is being
saved. If you cannot SAVE or FILE, first erase any AUTOSAVE files on
your disk. These files have a numeric filename and a filetype of
"AUTOSAVE". They are created by XEDIT to provide a checkpoint
capability in case of error. You can also try packing some of your
files, or use SENDFILE to send some files to your reader.
If all other methods of obtaining space have failed, it is possible
to erase the copy on disk of the file that you are editing from
within the editor with the ERASE command and then immediately issue a
SAVE or FILE command. However, should the system fail before the SAVE
or FILE completes, your file will be lost. Use this procedure only as
the last resort.
If you find that you need more disk space, contact the Computing
Center office to have your minidisk's size increased.
4.H Sharing Files with Other Users
You can use the AUTOLINK command to authorize other users to access
your CMS disk files. Once authorized by you, another user can use the
LINK and ACCESS commands to gain access to your files. AUTOLINK can
also be used to revoke authorizations, examine existing authorization
rules, and assign another user to act as a proxy for you. You can
restrict other users to read-only links to your minidisk, or permit
write-access.
CMS does not allow write-access by more than one user at a time.
If two or more users simultaneously have write-access to a minidisk,
the file directory on the minidisk will almost certainly be damaged,
and the files permanently lost. This will happen even if none of the
users intentionally modify a file on the shared disk. Another problem
with shared access is that when a user with write-access modifies a
file, users with read-access will not be able to read the file unless
they re-issue the ACCESS command for the minidisk. As you can see,
sharing files under CMS requires some care.
For more information, refer to the descriptions of the AUTOLINK,
LINK, and ACCESS commands in the UKCC CJS Reference.
Section 4: The CMS File System 25
CJS User's Guide
Section 5: Editing CMS Files
5.A Editing
You edit a file when you create, change, or examine a CMS disk file
with an online editing facility. The editor available from CJS is
called XEDIT. It can be used both as a full-screen editor on
3270-type display terminals and as a line mode editor on other types
of terminals. This is an introduction to XEDIT; more information may
be found in the UKCC CJS Reference, the IBM VM/SP: System Product
Editor User's Guide, the IBM VM/SP: System Product Editor Command and
Macro Reference, and at a terminal from the HELP facility. There is
also an XEDIT reference card.
XEDIT is primarily a context editor; a specific line is located by
the "context" of certain characters in it. Most XEDIT commands act on
the current line or a group of lines beginning with the current line.
You can move up or down a specified number of lines from the current
line, move to the top or bottom of a file, and move directly to a
particular line.
To FILE means to write the file you are editing back onto disk,
making permanent any changes made during the editing session. When
the FILE command is issued to write a file, the terminal is returned
to the CMS environment. You can write a file to disk and continue
editing it by issuing the SAVE command. XEDIT also has an "AUTOSAVE"
facility which will cause an automatic SAVE to be done after a
specified number of lines have been altered, added, or deleted. The
user must enable this feature by issuing the SET AUTOSAVE command,
described elsewhere in this section.
An editing session starts when the XEDIT command is issued and the
editor responds, and ends when FILE, CANCEL, or QUIT is issued to
return to the CMS command environment. During an editing session a
copy of the file being edited is in your virtual storage; changes
become permanent when the file is placed on disk with the FILE or SAVE
command.
Section 5: Editing CMS Files 26
CJS User's Guide
5.B XEDIT
XEDIT, the Virtual Machine System Product (VM/SP) Editor, is a very
powerful and efficient online editor used for text processing and
program development. Because it is both a full-screen and a line mode
editor, XEDIT can be used on 3270-type display terminals and
typewriter terminals. In this section we will describe the
capabilities of XEDIT as used on both types of terminals, with some
differences noted. Two later sections will differentiate between the
types of terminals in more detail. The size of an XEDIT file is
limited to about 156,000 characters, which means that the number of
records that may be edited corresponds to approximately 2,000 cards or
1,600 print lines.
After you log on to VM/SP and enter the CMS environment, you can
enter the edit environment and create and change files. Each file
needs its own three-part label, or fileid: the filename, the
filetype, and the filemode. The filename and filetype can each be up
to eight characters long and can be any combination of letters and
numbers. The filemode is always a letter, usually "A"; you probably
won't use the filemode as often as you will the filename and filetype.
To create or edit a file, enter the command XEDIT followed by the
fileid:
xedit filename filetype
and then press the ENTER key on 3270-type terminals, or the RETURN key
on typewriter terminals. XEDIT will search all accessed disks for the
specified file (unless a filemode is specified) and, if found, the
file will be read into storage for processing. If the file does not
exist, a new one will be created.
The XEDIT command puts you in edit mode; you must be in edit mode
to enter XEDIT subcommands. On a 3270-type terminal, subcommands are
executed when you type them on the command line and press the ENTER
key. On a typewriter terminal, subcommands are executed when you type
them and press the RETURN key. XEDIT subcommands may be entered in
either uppercase or lowercase.
Basic XEDIT Subcommands
Once you are in edit mode, you can use the INPUT subcommand to get
into input mode and enter data into a file. To get into input mode,
type the XEDIT subcommand:
input
Section 5: Editing CMS Files 27
CJS User's Guide
and press ENTER or RETURN. On a 3270-type terminal, the input zone
(the bottom half of the screen, between the scale and the command
line) will appear. The screen changes in input mode: the prefix areas
disappear, the message line and status area indicate that you are in
input mode, and the command line says "INPUT ZONE", to show you where
the input zone ends and to remind you that you cannot enter
subcommands in this mode (see "XEDIT from a 3270-type Terminal" in
this manual for more information on the screen format). You may now
type in data. To get back into edit mode, press ENTER twice.
When you enter the INPUT subcommand at a typewriter terminal, the
editor will respond:
INPUT MODE :
and you may type in data. Each line entered will be written in the
file. Press RETURN to end a line. When you finish entering data, you
can return to edit mode by pressing the RETURN key on an empty line.
When you leave input mode from either type of terminal, the last
line entered becomes the current line. No line may be longer than the
logical record length (LRECL) of a file; if you type a line containing
more characters than the file's logical record length, the extra
characters will be truncated (lopped off and lost forever). To find
out the logical record length of a file, enter the following
subcommand in edit mode:
query lrecl
Truncation may also occur at a column before the end of the logical
record. Enter:
query trunc
to see if this is the case.
You can enter input mode at any time during an editing session; new
lines will be inserted after the current line. On 3270-type terminals
the current line is highlighted and appears in the middle of the
screen; on typewriter terminals the current line is generally the line
most recently typed. When the current line changes, we say that the
line pointer has moved. The current line concept is important because
many XEDIT subcommands (such as INPUT) begin their operations starting
with the current line and move the line pointer when they are
finished.
You can place data in specific columns of a file with tabs. On a
3270-type terminal, pressing the TAB Program Function key (PF4 by
default) will move the cursor to the next tab column. (There is one
exception: the PF4 key cannot be used for tabbing in power typing
mode). On an ASCII terminal the tab will be inserted in the file; use
the key marked TAB. Initial tab settings are defined by XEDIT
according to filetype. If you're editing a file and want to know what
the tab settings are, use the QUERY TABS subcommand:
Section 5: Editing CMS Files 28
CJS User's Guide
q tabs
You can change these settings one or more times during an editing
session with the SET TABS subcommand. For example:
set tabs 1 15
The new tab settings are in effect for this editing session only. The
next time you edit the file, you will have to enter the SET TABS
command again; otherwise, the initial tab settings will be in effect.
(There are control words in the SCRIPT text formatting program that
will set permanent tabs, so if you're using SCRIPT you may decide to
set your tabs this way.)
Let's say you've created a file called "newz exports" about
products from New Zealand. In the first line of the input zone you
type:
wool
You want to type the source of the export at tab setting 15, which
you've already set with the SET TABS 1 15 command above. At a
3270-type terminal, press PF4 and the cursor will move to column 15;
at an ASCII terminal, press the TAB key. Then type the information
you want placed at that tab location:
sheep
To type the next entry, press PF4 or TAB and you'll be ready to type
at column 1 on the next line. When you've finished typing data, press
ENTER or RETURN twice to get back into edit mode.
As you create and edit files, you will want to move through them
and examine their contents. You can use the following XEDIT
subcommands to do this:
top move to Top-Of-File (TOF)
bottom move to last line before End-Of-File (EOF)
forward scroll forward to next screen (3270 terminals)
backward scroll backward to previous screen (3270 terminals)
up move up one line (toward the top of the file)
down move down one line (toward the bottom of the file)
next same as down
More than one screen or line may be specified by typing a number after
FORWARD, BACKWARD, UP, and DOWN. For example:
up 7
moves the line pointer up seven lines. You can remember the
directions used by XEDIT by thinking of the data as being in a fixed
position, while the line pointer moves up and down. Another way to
move the line pointer on a 3270-type terminal is by placing a "/"
Section 5: Editing CMS Files 29
CJS User's Guide
(diagonal) in the prefix area of a line; this will cause that line to
become the current line when ENTER is pressed.
You can use XEDIT subcommands to delete, recover, copy, move,
locate, and change lines. Lines may be added at 3270-type terminals
only, by using the ADD subcommand. Enter "ADD n" to add "n" lines
after the current line (the default is "1"). For example, to add 7
lines after the current line, enter:
add 7
Lines may be deleted from a file with the DELETE subcommand. Enter
"DEL n" to delete "n" lines beginning with the current line. The
subcommand:
del 10
would delete the current line and nine lines following it. An
asterisk (*) can be used to indicate that all lines to the end-of-file
are to be deleted:
del *
If you find you have deleted lines that you meant to keep, you can
recover them at any time during an editing session by using the
RECOVER subcommand. Enter the subcommand:
recover n
where "n" represents the number of lines you want to recover. Note
that recovered lines are inserted immediately before the current line;
you'll have to move them if they were deleted from different places in
the file. If you wish to recover all lines deleted in an editing
session, enter:
recover *
Data lines may be copied and moved within the file being edited by
using the COPY and MOVE subcommands. COPY will duplicate the
specified lines at a new location without changing the original source
lines. MOVE will delete the lines from their original location. Both
have the same form:
COPY n destination
MOVE n destination
where "n" represents the number of lines to be copied or moved
(beginning with the current line), and "destination" represents the
location to which the lines are to be copied or moved (lines are
inserted after the destination line). The destination operand may be
specified as either a number or a character string. The last line
copied or moved becomes the current line.
Section 5: Editing CMS Files 30
CJS User's Guide
Lines containing particular character strings may be found with the
FIND and LOCATE subcommands. FIND accepts one string (with no
delimiters) as an argument and searches forward, from the line after
the current line, for a line beginning with the string. The first
line in which the string is found becomes the current line. The
FINDUP subcommand searches backward, from the line preceding the
current line, for a line beginning with the string. Again, the first
line in which the string is found becomes the current line.
The NFIND subcommand searches forward, from the line following the
current line, for a line not beginning with the string. The NFINDUP
subcommand searches backward from the line preceding the current line
for a line not beginning with the string. For both NFIND and NFINDUP,
the first line in which the string is not found becomes the current
line. FIND, FINDUP, NFIND, and NFINDUP all begin searching at the
first tab position, which is usually column 1.
The LOCATE subcommand also searches a file for a specified target
(see the section on targets for more information). The first line
containing the target becomes the new current line. A diagonal (/)
may be substituted for the word "LOCATE". For example, if the
following subcommand was entered:
/boomerang
the editor would search for the string "boomerang." If the string was
found, the line containing it would become the current line. If the
string was not found, the message:
DATA NOT FOUND
would be displayed. The search begins after the current line and
moves to the End-Of-File. Use the SET WRAP ON subcommand to make the
search wraparound when the top or end of the file or range is
encountered, and stop at the line before the current line. SET WRAP
OFF is the initial setting, and will suppress wraparound.
The CHANGE subcommand can be used to replace one word with another.
Enter the following form of this subcommand to change the first
occurrence of a word in the current line:
change/oldword/newword/
The LOCATE (/) subcommand described earlier may be used to locate the
string and make the line containing it the current line. Then the
CHANGE subcommand may be entered. If the string occurs in the current
line, there is no need to LOCATE it.
To make a global change (change every occurrence of a word in a
file), be sure that the first line of the file is the current line;
you can do this by entering the TOP subcommand. Then enter the CHANGE
subcommand in the following form:
change/oldword/newword/ * *
Section 5: Editing CMS Files 31
CJS User's Guide
If you want to make a global change starting in the middle of the
file, make current that line where you want the change to begin. To
change only the first occurrence of a word in each line of a file, use
the following form of CHANGE:
change/oldword/newword/ *
You can abbreviate "change" to one letter.
Be careful when making global changes; you may alter words you
didn't mean to change. For example, if you enter "change/see/hear/*
*" and the word "seek" occurs in your file, it's going to be changed
to "heark." In fact, every word containing "see" will be changed.
You can avoid this problem by inserting spaces before and after the
words in a global change:
change/ see / hear /* *
The GET subcommand is another useful XEDIT feature. GET allows all
or part of one file to be inserted into another file. A copy of the
file you are "getting" will be inserted after the current line in the
file being edited.
To insert all of a file into another file, enter:
get filename filetype
The message "EOF REACHED" indicates that the entire file has been
inserted, and the last line inserted becomes the current line.
To insert only part of another file into the file you are editing,
use the GET subcommand in the following format:
get filename filetype filemode first count
where "first" is the line number of the first line to be inserted, and
"count" is the number of lines to be inserted.
The PUT subcommand may be used to store lines to be inserted into
another file by a subsequent GET. You can do this while editing the
first file by entering the XEDIT subcommand to call out the second
file (on 3270-type terminals, the second file will appear on the
screen). PUT can then be used to indicate which lines are to be
inserted in the first file. PUT stores lines in a temporary holding
area, starting with the current line, up to a target (ending) line.
Use the following form of this subcommand:
put target
where "target" identifies the end of the group of lines to be
inserted. The target may be specified as a number of lines, a line
number, or a character string. If a character string is used, the
editor will store all the lines, beginning with the current line, up
to (but not including) the line containing the string.
Section 5: Editing CMS Files 32
CJS User's Guide
After PUT executes, enter the QUIT subcommand (on 3270-type
terminals, the first file will reappear on the screen). Make sure
that the current line is the line after which you want the lines from
the second file to be inserted. Then enter the following subcommand:
get
No operands are necessary. The lines stored by PUT will be inserted,
and the last line inserted will become the new current line.
Targets
One of XEDIT's most versatile functions is the ability to locate a
line with a target. A target is used to identify a line for XEDIT, in
order to change which line is the current line or to define the scope
of a subcommand's execution.
A target may be entered by itself, before any XEDIT subcommand, or
as the operand of some XEDIT subcommands. A target entered alone will
cause the target line to become the new current line. A target
entered before an XEDIT subcommand will cause the target line to
become the new current line before the subcommand is executed. A
target entered as the operand of an XEDIT subcommand will define the
scope of that subcommand's operation. Most XEDIT subcommands begin
their operation with the current line, and the target operand
specifies where the operation is to end.
A target may be expressed as an absolute line number, a relative
displacement from the current line, a line name, or a string
expression. One or all of these kinds of targets may be used during
an editing session, and different kinds of target operands may be used
in the same subcommand.
An absolute line number is represented by a colon (:) followed by
the line number. For example, :12 would cause file line 12 to
become the current line. Line numbers may be displayed in the prefix
area of a 3270-type terminal with the SET NUMBER ON subcommand.
A relative displacement from the current line is the number of
lines (either forward or backward) separating the target line from the
current line. This number may be preceded by a plus (+) or minus (-)
sign, indicating a forward (+) or backward (-) displacement from the
current line. Plus (+) is assumed if the sign is omitted. For
example:
copy 5 :12
copies five lines (starting with the current line) and places them
after line number 12. An asterisk (*) may be used to indicate top-of-
file (-*) or end-of-file (+* or *). When an asterisk is used as the
Section 5: Editing CMS Files 33
CJS User's Guide
target operand of a subcommand, the subcommand executes to either the
top or end of the file. For example:
delete *
deletes all lines from the current line to the end of the file.
A line name may be assigned to any line in a file. The name may be
one to eight characters, preceded by a period; for example, .PART3
could be a line name. Assigning a name to a line makes it unnecessary
to look up its line number or determine its relative displacement.
Although the absolute line number of a file line may change during an
editing session, a line name does not; it need only be assigned once
to remain in effect throughout that session.
The SET POINT subcommand may be used to assign a line name. SET
POINT assigns a name of one to eight characters, preceded by a period,
to the current line. For example:
set point .part3
assigns the name .PART3 to the current line. The .xxxx prefix
subcommand may be used on 3270-type terminals; it allows you to assign
a name to a line by typing the name in that line's prefix area. The
name may be one to four characters, preceded by a period.
A target may also be specified as one or more characters (called a
string) contained in a file line. The editor looks for the string and
causes the first line containing it to become the current line. The
string must be enclosed in delimiters; these may be any non-blank
character that does not appear in the string itself. The diagonal (/)
is often used for this. For example, the following string target:
/marsupial/
tells the editor to start with the line after the current line and
search for the string "marsupial", and to make the line that contains
it the new current line. A string target may also be used as the
operand of a subcommand. For example:
delete/marsupial/
deletes all lines from the current line down to, but not including,
the line that contains "marsupial."
A plus (+) sign in front of a string target tells the editor to
start at the current line and search in a forward direction for the
string. If the string is found, the line containing it becomes the
new current line. A plus is assumed if the sign is omitted, so both
of the following subcommands produce the same result:
/marsupial/
+/marsupial/
Section 5: Editing CMS Files 34
CJS User's Guide
To search backward in a file, type a minus (-) sign before the string
target.
A not (¬) sign may precede the string target to indicate that the
target is a line that does not contain the specified string. For
example:
¬/kangaroo/
causes the editor to start with the line following the current line
and search for a line not containing "kangaroo." When the line is
found, it becomes the new current line. An or (|) symbol can be used
to further define a string. The following subcommand:
locate /koala/|/bear/|/bush/
will cause the editor to locate the first line (starting with the
current line) in which any one of these strings appears and make it
the current line.
A string expression may be associated with one or more of the SET
subcommand options. SET ARBCHAR lets you specify only the beginning
and end of a string while using an arbitrary character to represent
all characters in the middle. The default arbitrary character is the
dollar sign ($). For example, when SET ARBCHAR ON is in effect and
the following command is entered:
/I$Aborigine/
a line containing the string "I am studying the Aborigine" will become
the current line.
SET CASE lets you specify whether or not the difference between
uppercase and lowercase is significant in locating a string target.
If the SET CASE MIXED RESPECT subcommand is entered, it indicates that
uppercase and lowercase representations of alphabetic characters are
to be respected. For example:
/Down Under/
would not locate the string "down under" in a file. The SET CASE
MIXED IGNORE subcommand tells the editor to ignore the difference
between uppercase and lowercase. The default is CASE MIXED RESPECT
for SCRIPT and MEMO files; CASE UPPER RESPECT for all other filetypes.
SET SPAN lets you specify if a string target is included in one
file line or if it may span a specified number of lines. The line
that contains the beginning of the string becomes the new current
line. If a blank separates each file line (as in SCRIPT files), the
following subcommand may be used to indicate that a string target may
span two lines, separated from each other by a blank:
set span on blank 2
Section 5: Editing CMS Files 35
CJS User's Guide
SET SPAN OFF requires that a string be contained in one line. SET
SPAN OFF BLANK 2 is the initial setting.
SET VARBLANK lets you control whether or not the number of blank
characters between two characters is significant in a target search.
SET VARBLANK ON tells the editor that the number of blanks between two
words can vary, so the number of blanks specified in a string target
need not be equal to the number in the file. For example:
/the sheep/
would locate either of the following lines in the file:
the sheep
the sheep
SET VARBLANK OFF is the initial setting, and requires that the number
of blanks between words match.
Refer to the UKCC CJS Reference and the IBM VM/SP: System Product
Editor Command and Macro Reference for more information on the SET
subcommand options.
Column Subcommands
XEDIT also makes use of a column pointer and column targets, which
are similar in some respects to the current line and line targets.
Column pointer movement is controlled and used by a set of special
column-oriented subcommands. On a 3270-type terminal the column
pointer position is indicated in the header line and the scale line.
On typewriter terminals the column pointer position is marked by
underscoring. Column targets may be absolute or relative column
numbers, or string expressions.
The CLOCATE subcommand can be used to move the column pointer to
the column where you want to insert, delete, or change characters.
CLOCATE searches a file (starting at the column pointer within the
current line) for a specified character string. This subcommand takes
the following form:
clocate/string/
The character string must be enclosed in delimiters, which may be any
non-blank character that does not appear in the string (the diagonal
is used in the above example). If the string is found, the line
containing it becomes the new current line, and the column pointer is
placed under the first character of the string.
The column pointer may be reset to the beginning of the line by
entering the following subcommand:
Section 5: Editing CMS Files 36
CJS User's Guide
cfirst
Use the CINSERT subcommand to insert characters in a line. The
text typed in the operand of CINSERT will be inserted immediately
before the column pointer. For example, if your file contains the
line "the book is long", and you want to insert the string "200 pages"
before the word "long", you would move the column pointer to the first
character in "long" by entering the CLOCATE subcommand
(clocate/long/). After the line is displayed, you can enter:
cinsert 200 pages
and the string will be inserted. Press the space bar once after the
word "pages" so that a blank will separate "pages" and "long." The
new line will read "the book is 200 pages long."
Use the CDELETE subcommand to delete one or more characters from
the current line (starting at the column pointer). For example:
cdelete 10
deletes ten characters, starting at the column pointer. A character
string column target can also be used with the CDELETE subcommand.
For example:
cdelete/string/
deletes characters from the column pointer to the first character of
the string.
Use the CAPPEND subcommand to add words to the end of the current
line. Enter:
cappend text
where "text" represents the data to be added to the end of the line.
Spelling Aids
After you've finished entering text and editing a file, you can
check for spelling errors with any of three online spelling aids:
SPELLFIX, SPELL, and SPELLCHK. These commands use a built-in list of
words called a lexicon. You can also create your own lexicons; see
the UKCC CJS Reference for details.
SPELLFIX will search a CMS disk file for misspelled words, and then
edit the file (using XEDIT) with possible misspellings indicated for
correction. SPELLFIX also will flag words that occur twice with no
intervening word. Currently SPELLFIX can only be used on 3270-type
display terminals with PF keys. Enter the command:
Section 5: Editing CMS Files 37
CJS User's Guide
spellfix filename filetype filemode
The default filetype is "SCRIPT" and the default filemode is "*".
SPELLFIX will invoke XEDIT and indicate the first possible error by
placing the cursor under the word and highlighting the entire line.
You can change the word if it is incorrect. Press ENTER to proceed to
the next possibly misspelled word. SPELLFIX also can be issued from
XEDIT as a subcommand while you are editing a file. One warning:
SPELLFIX will not work correctly if you add or delete lines while it
is operating.
SPELLFIX allows you to move through the file, stopping at each
misspelled word. You then have several options: you can indicate
that the word is to be accepted as it is, accept the word and add it
to your USER LEXICON file, replace the word with one of a list of
alternative spellings, or manually retype the word. Two lines at the
bottom of the screen describe use of the PF keys in SPELLFIX. Either
PF3 or PF15 can always be used to stop SPELLFIX and resume normal
editing. For more information, enter "HELP SPELLFIX" at your
terminal.
The SPELL command helps if you are unsure of the correct spelling
of a word. SPELL checks one or more words entered as parameters.
Enter:
spell words
where "words" are the words to be checked. SPELL will display each
word on the terminal, indicating "correct" or "incorrect."
SPELL may be used as a CMS command or an XEDIT subcommand. SPELL
also may be executed from a PF key under XEDIT. For example, the
XEDIT subcommand:
set pf2 spell
would set PF2 to issue the SPELL subcommand. You can place "SET PF2
SPELL" in your PROFILE XEDIT file. To use this key, move the cursor
to the first letter of a word on the screen and then press the SPELL
PF key (PF2 in our example). The word you have selected will be
checked, and "correct" or "incorrect" will be displayed on the message
line. Pressing the same PF key again will display a list of
alternative spellings for the word. Pressing it one more time
replaces the misspelled word with an alternative spelling. For more
information, enter "HELP SPELL" at your terminal.
SPELLCHK can search for misspelled words in CMS disk files and in
lines entered directly from a terminal. Words are considered
misspelled if they do not appear in the command's main lexicon or in
one of the optional user lexicons. SPELLCHK has options for
specifying such things as how case affects the search for a word;
checking for word "stutters" (consecutive occurrences of a word);
generating alternative spellings for a word; controlling recognition
Section 5: Editing CMS Files 38
CJS User's Guide
of slang words; generating statistics at command termination;
appending user lexicons to the main lexicon; output routing (terminal,
console stack, or CMS disk file); range of records to be examined in
CMS files; allowing numerals (0-9) in words. Enter "HELP SPELLCHK" at
your terminal for more information.
Leaving XEDIT
When you have finished editing a file, you can end the editing
session with a FILE or QUIT subcommand. Use the FILE subcommand to
permanently store (write to disk) a file. (See the section "When a
Disk is Full" for instructions on what to do when you want to FILE but
your disk is full.) Use the QUIT subcommand to prevent changes made
to an old file from being written to disk (this leaves the permanent
copy of the file intact), or to prevent a new file from being written
to disk. QUIT is used when you merely examine, but do not change, a
file, or if you decide not to keep the changes you have made.
If you enter "QUIT" and the file is new or has been changed, XEDIT
will warn you with the following message:
FILE HAS BEEN CHANGED. USE QQUIT TO QUIT ANYWAY.
If you still do not want to save the file, enter "QQUIT" on the
command line. If you mistakenly entered "QUIT" the first time, you
can now enter "FILE" and save your changes.
The SAVE subcommand may be used to write the current file to disk
and continue editing. Any changes made to a file up to the time
"SAVE" was entered will be permanent. This can be done automatically
with the XEDIT autosave facility, which issues a "SAVE" after a
specified number of lines have been altered. Enter the following
subcommand:
set autosave n
where "n" specifies the number of alterations (25 is generally a good
choice). This will keep you from losing your changes if the system
malfunctions. It's best to issue this command at the beginning of an
editing session.
The XEDIT autosave facility writes the file to disk with a new
fileid; the filename is a number, and the filetype is AUTOSAVE (e.g.,
1 AUTOSAVE A1). If a system failure interrupts your editing session,
when you log on again the autosave file will contain the most recent
copy of the file. You can edit the file to see which changes are
present, and replace the original file with the autosave file by using
the CMS commands ERASE and RENAME. For example, if your autosave file
is "1 AUTOSAVE A1" and the original file is "AUSTRALIA SCRIPT A1", you
can use the following commands to erase the original and rename the
autosave file:
Section 5: Editing CMS Files 39
CJS User's Guide
erase australia script
rename 1 autosave a1 australia script a1
or you can erase the autosave file if it is not needed. Use the XEDIT
command to resume editing. Note that if you issue a QUIT subcommand
the original file is not altered, but the autosave file is left on the
disk.
Other XEDIT Features
XEDIT can directly manipulate files that are in packed format.
Packed files are kept on disk in a special compressed format that
requires less disk space than files in normal format. Files in this
format may be created by using the CMS command PACK, or with XEDIT by
specifying SET PACK ON or SET RECFM VP or FP. Files can be restored
to normal form with the CMS command UNPACK or with XEDIT. Once a file
has been packed, it can no longer be processed by most CMS commands
(such as SCRIPT, PRINT, etc.). Only XEDIT should be used to modify a
packed file. Modifying a packed file in any other way may make it
impossible to unpack the file or recover the data.
XEDIT will set default attributes for a file when editing begins.
These attributes include record format, maximum record length, tab
stops, translation to uppercase, and so on. The default attributes
are associated with a particular filetype. The appendix on filetype
attributes in the UKCC CJS Reference lists the attributes associated
with each filetype.
When the XEDIT command (or subcommand) is entered, a special XEDIT
macro will be searched for, and executed if found. The default name
of the macro is "PROFILE", although an alternate name may be supplied
as an option. The filetype must always be "XEDIT" (this is true of
all XEDIT macros). The profile macro may contain EXEC 2 control
statements, CP commands, CMS commands and EXECs, and XEDIT subcommands
and macros. These statements and commands can be used to tailor the
XEDIT environment to your needs. For example, the file format may be
set, the PF keys on 3270-type terminals may be set, and so on. A very
simple profile might look like this:
&TRACE OFF
LOAD &ARGSTRING
&IF &RC NE 0 &EXIT &RC
SET AUTOSAVE 25
SET CASE MIXED IGNORE
Your profile should begin with a LOAD subcommand and an &IF statement
to check its return code. This prevents the profile from executing in
case of an error. The other subcommands in the example enable
automatic file saving after 25 changes (AUTOSAVE 25), and allow mixed
uppercase and lowercase characters in every file (CASE MIXED). A more
elaborate example can be found in the UKCC CJS Reference.
Section 5: Editing CMS Files 40
CJS User's Guide
More documentation for XEDIT is available in the UKCC CJS
Reference, including a complete explanation of all of the XEDIT
subcommands. An XEDIT reference card is also available. Refer to the
IBM VM/SP: System Product Editor Reference and User's Guide for more
information.
The CMS HELP facility can also provide information about XEDIT and
its subcommands. Enter:
help xedit or
help xedit menu or
help xedit <subcommand> from CJS, or
help menu or
help <subcommand> from XEDIT.
Additional information on using XEDIT from 3270-type terminals and
from ASCII terminals may be found in the following sections.
XEDIT From A 3270-Type Terminal
After you enter the XEDIT command from a 3270-type terminal, XEDIT
will display a screen in the following format:
+-----------------------------------------------------+
| fn ft fm V 80 TRUNC=n SIZE=n LINE=n COLUMN=n |<--File Id Line
| |<--Message Line
|===== * * * TOP OF FILE * * * |
|===== |
|===== |
|===== |<--Current Line
| |...+....1....+....2... ... ...6....+....7..> |<--Scale
|===== |
|===== |
|===== * * * END OF FILE * * * |
| |
|===> |<--Command Line
| X E D I T 1 FILE |<--Status Area
+-----------------------------------------------------+
| | | |
+---+ +---------------------------------------------+
| |
Prefix Area File Area
At the top of the screen is the File Identification (File Id) Line,
which contains the filename, filetype, and filemode of the file being
edited. The next two items on this line indicate the record format (V
for variable-length, F for fixed-length, VP for packed variable-
length, or FP for packed fixed-length) and the maximum record length.
Following are the truncation column (TRUNC), the number of lines in
the file (SIZE), the current line number (LINE), and the column
pointer position (COLUMN). You cannot type on this line.
Section 5: Editing CMS Files 41
CJS User's Guide
Following the File Id Line is the Message Line, which displays
XEDIT error and informational messages. You cannot type on this line.
The lines following the Message Line make up the File Area. These
lines are used to display and enter data. You may type directly in
this area to enter new lines or modify existing lines. One line in
the File Area is designated the current line. This line appears in
the middle of the screen and is highlighted to make it easy to find.
The current line is important because many XEDIT subcommands perform
their functions on the current line or on a group of lines beginning
with the current line.
Each line in the File Area is preceded by a special command area
called the Prefix Area (marked with five equal signs: ===== ).
Commands entered in the Prefix Area are called prefix subcommands;
these generally operate on the line upon which they are entered.
Prefix subcommands can be used to add, delete, duplicate, move, and
copy lines in the file. Use the SET PREFIX ON RIGHT subcommand to
move the prefix area to the right of the screen; use SET PREFIX OFF to
remove the area entirely. The SET NUMBER ON subcommand may be used to
display line numbers in the prefix area.
The Command Line is actually one and three-quarters of a line at
the bottom of the screen (indicated by the large arrow). XEDIT
subcommands are entered on this line. These subcommands may be typed
in either uppercase or lowercase, or a combination of both, and many
can be abbreviated. XEDIT macros, EXECs, and CP and CMS commands may
also be entered on this line. This line can be moved to the top of
the screen with the SET CMDLINE TOP subcommand. If this is done, the
command line and message line will share the same space.
The arrow on the command line and the first blank following the
arrow are protected; you cannot type over them. Press RESET and use
the keys with up, down, left, and right arrows to move the cursor to a
non-protected column before typing. Commands on the command line may
be preceded by the "&" character in column one; this will cause XEDIT
to leave the command on the screen. The command may then be repeated
by pressing ENTER. Multiple subcommands may be entered on the command
line by separating them with a line end character. The default line
end character is a pound sign (#).
The Status Area is on the right at the bottom of the screen,
following the command line. The status area indicates the current
operating status of the editing session (for example, XEDIT, COPY/MOVE
PENDING, BLOCK INCOMPLETE, or INPUT MODE) and the number of files
currently being edited. Use of the SET CMDLINE TOP or SET CMDLINE
BOTTOM subcommands will prevent the status area from being displayed.
The Scale Line is much like the margin scale on a typewriter. It
appears under the current line and indicates the column numbers, the
position of the column pointer (marked "|"), the left and right zone
columns (marked "<" and ">"), and the truncation column (marked "T").
The column under which the column pointer is positioned is called the
Section 5: Editing CMS Files 42
CJS User's Guide
current column. (See the section on column-oriented subcommands for
more information.) The scale line can be repositioned on the screen
and placed under a specified line with the SET SCALE ON "n"
subcommand; the scale line can be removed entirely with the SET SCALE
OFF subcommand.
Several keyboard functions are available on 3270-type terminals.
The ENTER key will cause XEDIT to read the screen and analyze its
contents. The CLEAR key will clear the screen and cause the display
to be rebuilt as it was after the last time ENTER or a PF key was
pressed. The ERASE INPUT key will erase everything in the input and
command areas (WARNING: Pressing this key by mistake will destroy
newly entered data). The ERASE EOF key will erase all characters from
the cursor to the end of the line. In power input mode, this key will
erase all characters from the cursor to the end of the screen.
PA1 will transfer control to CP and clear the screen, and a CP READ
status will be displayed; enter BEGIN to return to XEDIT. PA2 will
set nulls on for the line containing the cursor. The FIELD MARK key
inserts a logical tab character into the data stream at the current
cursor location (expansion of the tabs will occur only after the
screen has been rewritten). DUP will insert a unique character
(hexadecimal 1C) and physically move the cursor to the start of the
next field (usually the start of the next line or prefix area).
The INS MODE key is used to insert characters, and the DEL key is
used to delete characters (more information on these keys may be found
later in this section).
Several keys may be used to move the cursor forward, backward, up,
and down on the screen. A cluster of four keys marked with arrows are
used to move the cursor one space at a time. The new line key (marked
with an arrow pointing down and to the left) is used to move the
cursor to the beginning of the next line.
The Program Function (PF) keys will cause the data associated with
them to be processed. Each PF key can be set to an XEDIT subcommand,
which is executed when the key is pressed. The initial settings are
as follows:
PF1 HELP MENU Displays help files.
PF2 SOS LINEADD Adds a new line after the line containing
the cursor.
PF3 QUIT Quits a file.
PF4 TABKEY Moves the cursor to the next tab column.
PF5 SCHANGE6 Makes selective changes.
PF6 ? Redisplays the last subcommand.
PF7 BACKWARD Scrolls the screen backward.
PF8 FORWARD Scrolls the screen forward.
PF9 = Re-executes the last subcommand.
PF10 SPLIT CURSOR Splits lines at the cursor position.
PF11 JOIN CURSOR Joins lines at the cursor position.
WARNING: This can be destructive. Data
following the cursor is written over
Section 5: Editing CMS Files 43
CJS User's Guide
with data from the next line.
PF12 CURSOR COLUMN Moves the cursor to the current line
and column.
You can use the QUERY PF subcommand to display PF key settings. To
change the settings, use the SET PF subcommand:
set pfn subcommand
where "n" is a PF key number, and "subcommand" is any XEDIT
subcommand. When you use SET PF, the new PF key setting remains in
effect for that editing session only.
You can enter data into a file by using the INPUT or POWER
subcommands. You can use the INPUT subcommand to get into input mode.
After you issue INPUT, the input zone (the bottom half of the screen,
between the scale and the command line) will appear. The screen
changes in input mode: the prefix areas disappear, the message line
and status area indicate that you are in input mode, and the command
line says "INPUT ZONE", to show you where the input zone ends and to
remind you that you cannot enter subcommands in this mode.
If the entire input zone has been filled and you want to stay in
input mode and type more data, press the ENTER key once. The lines
already typed will move to the top half of the screen, with the last
line entered becoming the new current line. The input zone is now
available for more data. When all data has been typed, press the
ENTER key twice to get out of input mode and back into edit mode. The
display will be restored to the edit mode screen layout described
earlier, and the file will contain the data just typed. You may enter
input mode at any time during an editing session to insert new lines
in the file; XEDIT makes room for new lines of data after the current
line.
Power typing mode is useful for typing a large amount of text; it
allows you to enter data as if the screen were one long line. You can
start typing a word on one line and finish it on the next, because
when the end of a line is reached, XEDIT automatically wraps around to
the beginning of the next line. You can type until the screen is
filled. The LINEND character (a pound sign "#" by default) can be
used to mark the beginning of a new line. Note that the PF4 key may
not be used for tabbing in power typing mode.
To enter power typing mode, type the POWER subcommand in the
command line and press the ENTER key. If you fill the screen with
data and want to remain in power typing mode, press the ENTER key
once. The last line typed will be displayed at the top of the screen;
the rest of the screen will be blank and ready for more typing. When
finished, press the ENTER key twice to enter edit mode. XEDIT will
automatically divide data into proper screen lines and reconstruct any
split words. You can use power typing at any time during an editing
session. As with input mode, data is inserted after the current line.
Section 5: Editing CMS Files 44
CJS User's Guide
The current line concept is an important one because many XEDIT
subcommands (such as INPUT and POWER) begin their operations starting
with the current line. To make any line on the screen become the
current line, type the diagonal (/) character in the prefix area of
the line and press ENTER.
By default the current line is the file line in the middle of the
screen (above the scale). It is "highlighted" and thus appears
brighter than the other file lines. The line that is current changes
when you scroll the screen or move up and down through a file. The
position of the current line may be redefined with the SET CURLINE
subcommand. For example, SET CURLINE ON 3 would cause the first
available screen line to become the current line. By changing the
position of the current line, you can vary the size of the input zone.
For a larger input zone, move the current line higher on the screen;
for a smaller input zone, move it lower.
Once you have finished typing your data, you may want to perform
some basic editing functions on a particular line (or lines) in the
file. Prefix subcommands may be used for this; they allow you to add,
delete, move, copy, and duplicate lines. Prefix subcommands are typed
directly into the prefix area on one or more lines, and are executed
when the ENTER key is pressed. They may be typed in either uppercase
or lowercase. Arguments may either precede or follow the subcommand
in the prefix area. (This can cause problems when SET NUMBER ON is in
effect, because the line numbers in the prefix areas could be used as
arguments by the subcommands. It's best to first use the ERASE EOF
key to erase the line numbers when entering prefix subcommands.)
To add a line to a file, type the single character "A" or "a" in
the prefix area and press ENTER. A blank line will be inserted
immediately after the line containing the "A". If more than one line
is to be added, a number may precede or follow the "A" to indicate
this; for example, "A3", "3A", "a3", or "3a" will all add three blank
lines.
To delete a line, type the single character "D" or "d" in the
prefix area of the line to be deleted, and press the ENTER key. If
more than one line is to be deleted, a number may precede or follow
the "D" to indicate this; for example, "D4", "4D", "d4", or "4d" will
all delete four lines, beginning with the line upon which the command
is typed.
To delete a block of consecutive lines, enter the double character
"DD" or "dd" in the prefix area of both the first and last lines to be
deleted. Press the ENTER key and the lines will be deleted; there's
no need to count them. Also, the first and last lines of the block
need not appear on the same screen; you may scroll the screen before
entering the second "DD". When one "DD" has been typed in the prefix
area and the ENTER key is pressed, the status area of the screen will
indicate "BLOCK INCOMPLETE". This means that another "DD" must be
typed in the prefix area in order for the command to execute. After
the second "DD" has been typed on the last line of the block, the
Section 5: Editing CMS Files 45
CJS User's Guide
ENTER key should be pressed; the entire block of lines will be
deleted.
If you find you have deleted lines that you meant to keep, you can
recover them during an editing session by issuing the RECOVER
subcommand (described earlier). Note, however, that the number of
lines RECOVER can keep is limited.
To move a line, type the single character "M" or "m" in the prefix
area of the line to be moved. Indicate its destination by entering
the single character "F" (following) or "P" (preceding) in the prefix
area of another line. Press ENTER and the line containing "M" will
move from its original location and be inserted immediately following
the line containing the "F", or immediately preceding the line
containing the "P". If more than one line is to be moved, a number
may precede or follow the "M" to indicate this; for example, "M6" or
"6M" will cause six lines to be moved.
The line to be moved and its destination need not appear on the
same screen. When "M" or "F" or "P" has been typed and ENTER has been
pressed, the status area of the screen will indicate "COPY/MOVE
PENDING". You may scroll the screen before entering the other prefix
subcommand. Press ENTER to cause the lines to be moved.
To move a block of consecutive lines, enter the double character
"MM" in the prefix area of both the first and last lines to be moved.
These lines may appear on different screens, as may the destination
line (indicated by "F" or "P").
You may copy lines the same way that you move them, with a "C" or
"CC" prefix subcommand instead of "M" or "MM". This procedure leaves
the original line or lines in place and makes a copy at the
destination line, which is indicated by "F" or "P".
To duplicate a line, enter the double quote (") character in the
prefix area of the line to be duplicated and press ENTER. If you wish
to duplicate a line more than one time, a number may precede or follow
the ". For example, 3" or "3 would duplicate a line three times.
Duplicate lines will be inserted immediately following the line
duplicated.
To duplicate a block of consecutive lines, type two double quotes
("") in the first and last lines of the block. If you wish to
duplicate a block more than one time, a number may precede or follow
the first double quote (for example, 4"" or ""4). If you type only
one "" and press ENTER, the status area of the screen will indicate
"BLOCK INCOMPLETE". You may scroll the screen before completing the
block; press ENTER to cause the completed block to be duplicated.
To cancel prefix subcommands that create a "BLOCK INCOMPLETE" or
"COPY/MOVE PENDING" status, type the following subcommand on the
command line:
reset
Section 5: Editing CMS Files 46
CJS User's Guide
and press ENTER. All prefix subcommands will disappear, and prefix
areas will be restored to their original appearance. If you have
typed any prefix subcommands (including those which create an
incomplete or pending status) but have not pressed ENTER, press the
CLEAR key and the prefix subcommands will be removed.
It is possible to insert and delete letters, spaces, and words in a
file. To insert, move the cursor to the place where the insertion is
to be made, press the PA2 key, press the INS MODE key, then make the
insertion. The PA2 key must be pressed each time the cursor is moved
to another line. When all insertions have been made, press the RESET
key. Insert mode may be used in both edit and input modes; in power
typing mode, only the INS MODE key need be pressed.
To make insertions on several lines, enter the following
subcommand:
set nulls on
The INS MODE key may now be used without pressing PA2 for each line.
When all insertions have been made, you can issue the subcommand:
set nulls off
SET NULLS ON is a useful subcommand to have in your PROFILE XEDIT; see
"Other XEDIT Features" elsewhere in this section for more information
on PROFILE XEDIT.
Use the DEL key to delete characters. Data on the screen may also
be changed by moving the cursor to the desired location and typing the
new data.
XEDIT subcommands, entered on the command line, are used to perform
complex editing functions. For example, the SPLIT subcommand will
split the line containing the cursor at the cursor position. The JOIN
subcommand will join the line containing the cursor and the following
line, and delete the original lines from the file. The new line will
be truncated to fit within the current record length. WARNING: This
subcommand can be destructive if used improperly, because data
following the cursor is written over with data from the next line.
When used from a 3270-type terminal, the CHANGE subcommand
(described earlier) has an additional capability: you can make a
selective change (change one word to another only part of the time).
To do this, first determine where you want the search to begin, and
make that line the current line. Type the CHANGE subcommand
(change/oldword/newword/) in the command line, but do not press ENTER.
Instead, press the PF5 key. The cursor will move to the first
occurrence of the old word, and the line containing it will be
highlighted. If you wish to change the word, press the PF6 key. To
go on to the next occurrence of the word, press the PF5 key. This
allows you to locate all occurrences of the old word, and to change it
only when desired.
Section 5: Editing CMS Files 47
CJS User's Guide
XEDIT has the capacity to simultaneously edit several CMS files,
display more than one file, and display multiple views of a single
file. The XEDIT subcommand will cause a new edit level to be entered
(each edit level contains a different file), and will accept a fileid
as an argument. The specified file will replace the current file on
the screen. Both files are still in memory and a FILE or QUIT will
affect the current file and cause XEDIT to switch back to the previous
edit level. Using the XEDIT subcommand with no arguments causes XEDIT
to switch the display to another existing edit level. To see the data
in more than one file at a time, or to edit different portions of a
file simultaneously, use the SCREEN subcommand to define multiple
screens. For example:
set screen 2
would divide the screen into two screens. Each screen may display the
data from one edit level. Note that to terminate XEDIT, a FILE or
QUIT must be entered for each edit level, or the CANCEL command may be
used to QUIT all edit levels at once.
More documentation for XEDIT is available in the UKCC CJS
Reference, including a complete explanation of all of the XEDIT
subcommands. An XEDIT reference card is also available. Refer to the
IBM VM/SP: System Product Editor Reference and User's Guide for more
information.
XEDIT From An ASCII Terminal
XEDIT considers all ASCII terminals to be typewriter terminals,
even those that actually have display screens.
After you enter the XEDIT command from a typewriter terminal, you
can enter input mode by issuing the INPUT subcommand. Every line
entered is then considered a data line. After you have finished
entering data, press the RETURN key on an empty line (a line
containing no data) to return to edit mode.
You can enter input mode at any time during an editing session to
insert new lines of data in a file. If you have just created a file,
the lines are inserted at the beginning of the file. If you are
adding to an existing file, the lines are inserted after the current
line.
Many XEDIT subcommands operate on, or starting with, the current
line. When the current line changes, we say the line pointer has
moved. When editing on a typewriter terminal, you must first position
the line pointer at the line you want to change; change the line; then
position the line pointer at the next line to be changed. To display
the current line, enter the TYPE subcommand:
type
Section 5: Editing CMS Files 48
CJS User's Guide
and press the RETURN key.
To display more than one line, enter the TYPE subcommand followed
by the number of lines you wish to see. For example:
type 7
displays seven lines, beginning with the current line. The last line
displayed then becomes the new current line.
To display the lines in a file from the current line to the end-of-
file, enter the following subcommand:
type *
You can display all of the data in a file by entering the TOP
subcommand and then the TYPE * subcommand, or by entering the
following single subcommand:
:0 type *
After TYPE is executed, the last line displayed becomes the current
line.
You can also use the UP and DOWN subcommands to examine a file. UP
moves the line pointer toward the beginning of the file and displays
the new current line. DOWN moves the line pointer toward the end of
the file and displays the new current line. The format for these
subcommands is:
up n
down n
where "n" is the number of lines you want to move the line pointer.
If the number is omitted, "1" is assumed.
To insert new lines of data after any file line, issue the UP or
DOWN subcommand to move to the line after which you want the data
inserted. Then enter the INPUT subcommand. To move to the null TOF
line at the top of the file, enter the TOP subcommand. To move to the
last file line, enter the BOTTOM subcommand. To enter new lines at
the beginning or end of a file, enter:
top (or bottom)
input
and enter your new data lines.
When data is displayed, a character in each line is underscored.
The underscore represents the column pointer, which indicates the
current column (generally, column one). The underscore (_) is not
contained in the file and will not appear on a printed copy of the
file. To suppress the typing of this underscore, SET COLPTR OFF in
Section 5: Editing CMS Files 49
CJS User's Guide
your XEDIT PROFILE. The column pointer can be moved to different
column positions with the use of certain XEDIT subcommands; these
column subcommands are useful at an ASCII terminal (see the section on
column subcommands for more information).
You can insert a line of data between existing lines by using the
INPUT subcommand followed by the line of data to be inserted. One
blank must separate the subcommand name and the data line. For
example:
input here is the line
inserts a single line following the current line, without leaving edit
mode. To insert a blank line, enter the INPUT subcommand and press
the SPACE bar twice, then press the RETURN key. To insert more than
one line, enter input mode by issuing the INPUT subcommand with no
operand.
In input mode on a typewriter terminal, subcommands may be entered
by beginning the line with an escape character. This character is a
diagonal (/) for all filetypes except JOB and JCL, which use a plus
(+) sign. This means that no data line may begin with the escape
character. This feature may be disabled by issuing the SET ESCAPE OFF
subcommand.
To replace a line (delete the current line and replace it with a
line you specify), enter the following:
replace text
where "text" is the text that is to replace the current line. If you
enter REPLACE with no text, the editor deletes the current line and
places you in input mode.
More documentation for XEDIT is available in the UKCC CJS
Reference, including a complete explanation of all of the XEDIT
subcommands. An XEDIT reference card is also available. Refer to the
IBM VM/SP: System Product Editor Reference and User's Guide for more
information.
Section 5: Editing CMS Files 50
CJS User's Guide
Section 6: Printed Output
If you need a printed copy of your work, CJS provides a number of
methods. There are high-speed line printers at the UKCC and at HASP
remote sites, low-speed RSCS printers in a few locations, and you can
use an ASCII printing terminal with a modem nearly anywhere that has
telephone service.
You can print the contents of a CMS disk file by issuing a SETPRT
command to select a destination (any HASP or RSCS printer) and then
issuing the PRINT command. For example, the commands:
setprt route hot
print some data
would print the file "SOME DATA" on the HOT (hands-on) printer at the
UKCC. The SETPRT command can route your printed output to the UKCC
Computer Room (CENTRAL), the HOT printer at the UKCC, an RSCS printer
(Pnnnn), or a HASP remote site (RMTnn).
The SETPRT command is also used to specify the kind of paper to be
used when your output is printed. For output routed CENTRAL, the
standard form is 14 x 11 inch paper, with all letters converted to
uppercase. Printed output routed to the UKCC Computer Room may
request any of the following special forms:
Form Description
LT Labels (3 1/2 x 15/16), Mixed Case
NT Narrow Unlined Paper (8 1/2 x 11), Mixed Case
STD. Regular Paper (14 x 11), Uppercase
T Regular Paper (14 x 11), Mixed Case
5106 Labels (3 1/2 x 15/16), Uppercase
5162 Narrow Unlined Paper (8 1/2 x 11), Uppercase
To specify T forms (regular paper with mixed case printing), you would
use the following command:
setprt route central forms t
The forms specification is ignored for output routed to the HOT
printer or to an RSCS printer. HASP remote sites control their own
forms, so always consult someone at the site before requesting special
forms.
To produce output at a printing terminal, use the TPRINT (Terminal
PRINT) command. TPRINT uses standard ASCII Line Feed (LF) and Form
Feed (FF) characters to control the terminal, so the terminal that you
use should support these functions. Most terminals require some kind
Section 6: Printed Output 51
CJS User's Guide
of forms alignment before they can be used with TPRINT. This usually
involves positioning the paper at the first print line on a page and
pressing some control keys to indicate to the terminal that this is
the top of a page. (Consult the manual for the terminal that you are
using for details.) TPRINT supports both continuous forms and single
sheets.
If you want to produce letters, memos, reports, or other documents,
you should use SCRIPT, a text formatter. You create CMS disk files
containing your text and SCRIPT "control words" and SCRIPT will create
an output file suitable for printing. SCRIPT can handle simple
letters and memos, and more complicated documents that require page
headings, indexes, and a table of contents. This manual was produced
using SCRIPT.
SCRIPT can be used with SETPRT to send its output to be printed.
For example, if you have a file named "AUCKLAND SCRIPT" you could use
the following command:
setprt route central doc
script auckland ( prt
to format and print the file. (Note that files used with SCRIPT must
always have a filetype of SCRIPT.) The DOC parameter of the SETPRT
command specifies that narrow unlined paper and a mixed (upper and
lower) case print train be used when printing the output.
SCRIPT can also print directly on your terminal. For example,
script auckland
would format the "AUCKLAND SCRIPT" file and print it on your terminal.
Printed output routed to CENTRAL is treated much like printed
output from an OS batch job. You must go to the Data Center at the
UKCC to claim your output, and you must use the "runid" assigned to
your output when it was printed. The runid is sent to your terminal
in a message when you route output to CENTRAL, HOT, or a HASP remote:
hh:mm:ss name runid ON VIRTUAL WRITER
The runid will consist of a letter and four digits. If you route
output to the HOT printer, you will receive another message when it
actually begins printing:
hh:mm:ss name runid ON HOT PRINTER
The commands used for producing printed output are described in the
UKCC CJS Reference and by the HELP command. You may also be
interested in the LABELS command, used to produce printed labels.
SCRIPT is documented in several manuals. The one to start with is the
Waterloo SCRIPT User's Guide. Detailed descriptions of the SCRIPT
control words can be found in the Waterloo SCRIPT Reference Manual.
Section 6: Printed Output 52
CJS User's Guide
Section 7: Communicating with Other CJS Users
You can communicate with other CJS users by sending and receiving
messages, notes, and files.
To communicate with another CJS user, you need to know the person's
userid (user identification). You can create a special file called a
"names file" that contains a list of userids of those you communicate
with. Once you make an entry for a user in your names file, you can
refer to that user by name rather than by userid.
A names file can also contain mailing addresses, phone numbers, and
other information. You can even assign a nickname to each person.
Then, when you send messages, notes, and files to a user, you can
identify that person by using his or her nickname.
You can use either a 3270-type display terminal or an ASCII
terminal to communicate with others, but with slightly different
procedures. As we describe each command, we'll also explain how to
use it from each type of terminal.
To assign nicknames to other users, you must first create the
"names file." You do this by issuing the NAMES command, which creates
a file called "userid NAMES A" where "userid" is your userid. You
will then enter specific information, called an "entry," into the
names file. The names file is a collection of all the entries you
create. The first entry should be for yourself; this information will
be used for note headings, which are explained later in this section.
To create a names file at a 3270-type terminal, log on and enter
the NAMES command:
names
and press the ENTER key. The terminal will display a special screen
for data entry, with blank spaces for the other user's userid, name,
phone number, and address. Type the requested information directly on
the screen. You can also enter a list of names in the NAMES file,
giving a group of people the same nickname. Enter this information in
either uppercase or lowercase, and do not use commas to separate the
names in the "List of Names" area:
Nickname: folks
List of names: usr244 usr245 usr246 johnny
Now you can use the name "folks" to refer to all of the users on the
list. Notice that the list may contain both userids and nicknames.
After filling in the information, press the PF2 key to enter the data
Section 7: Communicating with Other CJS Users 53
CJS User's Guide
in the names file. You will receive a message telling you this has
been done. To type another entry, press the PF4 key. This clears the
blank spaces and allows you to type information for the next entry.
Press the PF3 key to exit from the screen when you've finished adding
entries.
To create a names file on an ASCII terminal, you would log on,
enter the NAMES command, and then press the RETURN key. The terminal
will display the message "You are now editing your userid NAMES file",
where "userid" is your userid, and give you a prompt (a period)
indicating that you are to enter another command. Get into INPUT mode
by entering:
input
The system should respond:
INPUT:
You will receive a prompt indicating that it's all right to type in
the nickname. If you often communicate with someone named Johnny
whose userid is USR233, you could make the following entry in your
names file:
:nick.johnny :userid.usr233
After doing so, press RETURN. Now you can use the name "johnny" when
referring to the userid "USR233". You can use the same procedure to
type in the user's name, phone number, and address if you want. When
you've finished entering data, press RETURN twice to leave INPUT mode.
Then file the names file by entering:
file
and pressing RETURN. Now you can use the nickname instead of the
userid when you send messages, notes, and files. You can also enter a
list of names in the NAMES file, giving a group of people the same
nickname. Enter this information in either uppercase or lowercase,
and do not use commas to separate the names in the list:
:nick.folks :list.usr234 usr235 usr236 johnny
Now you can use the name "folks" to refer to all of the users on the
list. Notice that the list may contain both userids and nicknames.
Enter "HELP NAMES" for more information on the NAMES command.
You can send a short message to a logged on user with the TELL
command:
tell johnny Have you submitted that job yet?
Section 7: Communicating with Other CJS Users 54
CJS User's Guide
This would send a message to userid USR233, since we gave it the
nickname "johnny." You can also send a message to a group of users:
tell folks It's time to go home.
The text is limited to around 120 characters. The TELL command uses
the CP MESSAGE command to send the message, so the receiving user or
users must be logged on and must not have SET MSG OFF. The system
will tell you if a message cannot be sent.
TELL can only be used to send a brief message to a logged on user.
To send a longer message, or to send a message to a user who is not
logged on, you can use the NOTE command. The simplest form of the
NOTE command requires only the name of a recipient:
note johnny
You can also use a list of nicknames and userids:
note usr234 johnny usr236
NOTE will construct a header for your message that will include your
userid and the the names of the recipients, and then call XEDIT to
allow you to enter the text of your message. Enter "INPUT" to get
into INPUT mode, and then type in your message. When you've finished,
press ENTER or RETURN twice. If you're using a 3270-type terminal,
press the PF5 key to send the message. If you're at an ASCII
terminal, type the following:
send
and press RETURN.
You'll receive a message at either type of terminal telling you
that your note has been sent. NOTE also has options to keep a log of
the notes that you send and automatic acknowledgements when your notes
are received. Enter "HELP NOTE" at your terminal for more
information.
If you want to send a file to another user (or users), you can use
the SENDFILE command. Both NOTE and SENDFILE transmit files as spool
files in a special format called "NETDATA."
Enter the SENDFILE command as shown below from a 3270-type
terminal:
sendfile
This will produce a special screen for data entry. You can type the
name of the file to be sent and the name of the recipient (you may use
nicknames) directly on the screen in the areas specified. After you
fill in the information, press PF5 or PF10 to send the file. You'll
receive a message telling you the file has been sent.
Section 7: Communicating with Other CJS Users 55
CJS User's Guide
You can issue the SENDFILE command in the form below from either a
3270-type or an ASCII terminal:
sendfile filename filetype to userid
where "userid" is the recipient of the file (you may use nicknames).
You can send a file to more than one user. For example, if you have a
file named "URGENT MEMO" to be sent to a group of users with the
nickname "folks", you could use the command:
sendfile urgent memo to folks
After entering the SENDFILE command, press the RETURN key and you'll
get a message indicating that the file has been sent.
SENDFILE can also send several files in one transmission. To use
this feature, you must first create a file containing the identifiers
of the files to be sent. For example, suppose a file named "TEST
FILES" contains the following lines:
&1 &2 SAMPLE DATA A1
&1 &2 MORE DATA A1
&1 &2 EXPLAIN MEMO A1
(Note the "&1 &2". These must be present.) Then, the following
command:
sendfile test files to johnny
will send the three files named in "TEST FILES", and a copy of "TEST
FILES", to userid usr233 (nicknamed "johnny").
You can abbreviate SENDFILE by using "SF". For more information,
enter "HELP SENDFILE" at your terminal.
Notes and files that other users send you are delivered to your
"reader," a temporary place on a disk where incoming notes and files
are kept until you decide what to do with them. After you log on, you
may get a message like this:
FILES: 002 RDR, NO PRT, NO PUN
This tells you that you have two files in your reader. You might get
a message to this effect while you're editing a file; if you're at a
3270-type terminal, press the CLEAR key to get back to your file. If
you're printing something at a hardcopy terminal and you don't want
such messages to appear, issue the SET MSG OFF and SET IMSG OFF
commands. When you've finished printing, don't forget to set MSG and
IMSG on again.
When you have files in your reader, you can issue the QUERY READER
ALL command to find out the file names:
q rdr all
Section 7: Communicating with Other CJS Users 56
CJS User's Guide
If you want to look at a file in your reader without first moving it
to your disk and making it a permanent file, you can use the PEEK
command. PEEK works the same way from both types of terminal. For
example, let's say you issue the Q RDR ALL command and there are two
files in your reader. You'll get a message like this:
ORIGINID FILE CLASS RECORDS CPY HOLD DATE TIME NAME TYPE DIST
USR355 9366 A PUN 0000012 001 NONE 03/11 09:03:16 TEST1 FILE USR233
USR444 9363 A PUN 0000010 001 NONE 03/11 09:03:16 SHEEP DATA USR233
To look at the files without making them permanent, issue the PEEK
command and the file number given by "Q RDR ALL". To look at the
first file listed above at a 3270-type terminal, you would enter:
peek
The file will appear on the terminal screen. When you have finished
viewing the file, issue the QUIT command. From an ASCII terminal, you
would enter:
peek
which would cause you to receive a message like this:
FILE TEST1 FILE FROM USR355 AT UKCC. FORMAT IS NETDATA.
The file will appear on the ASCII display screen or be printed on the
ASCII hardcopy terminal. When you have finished viewing the file,
issue the QUIT command. PEEK uses XEDIT to display the file on either
type of terminal, so any XEDIT command is allowed.
PEEK can also be used to examine all or part of a print file (such
as output from a batch job), limited to about 1500 lines at a time.
If the file isn't in NETDATA or DISK DUMP format, PEEK will only
display the first 200 lines of the file. You can specify other
starting points and line counts. Enter "HELP PEEK" at your terminal
for more information.
If you want to make the file permanent and put it on your disk,
issue the ACCEPT command from either type of terminal:
accept
Provided that you have enough disk space, ACCEPT can receive a file of
any size. Both PEEK and ACCEPT can process spool files in any format,
including NETDATA, DISK DUMP, print, and READCARD.
But what happens if a file in your reader has the same file
identifier as one you already have on your disk? If you try to ACCEPT
such a file, you'll get a message like this:
FILE 'fn ft fm' ALREADY EXISTS -- SPECIFY 'REPLACE' OPTION.
Section 7: Communicating with Other CJS Users 57
CJS User's Guide
where "fn ft fm" is the filename, filetype, and filemode of both the
file in your reader and the file on your disk. If you want the file
in your reader to replace the file on your disk, issue the ACCEPT
command with the REPLACE option:
accept (replace
This will delete the file on your disk and cause the file in your
reader to become permanent.
If you want to keep the file on your disk, you can give it a new
file identifier with the RENAME command. For example, if you want to
change a file named "TEST DATA A" to "PAST DATA A", you would use the
RENAME command as shown below:
rename test data a past data a
This will change the file identifier of the file on your disk. Once
this is done, you can ACCEPT the file in your reader without losing
the file already on your disk.
You can produce a list of your reader spool files with the RLIST
command. If you are using a 3270-type display terminal, RLIST will
produce a menu display in much the same way as the FLIST command. You
can issue the ACCEPT, BURN (to permanently delete a file), and PEEK
commands from the RLIST menu.
Section 7: Communicating with Other CJS Users 58
CJS User's Guide
Section 8: OS Batch Jobs
One of the functions of CJS is to provide a means to prepare and
submit OS batch jobs from a terminal. Output from batch jobs that
would ordinarily be printed may be examined at your terminal, sent to
other users, or printed at the Computing Center or a remote site. OS
batch jobs are currently processed under the control of an IBM
operating system called OS/MVT.
The SUBMIT command is used to submit OS batch jobs. SUBMIT will
take one or more CMS disk files containing JCL, programs, and data,
and send them to the batch system for processing. Options of the
SUBMIT command control the routing of the printed and punched output
from the job. The batch system will send messages to your terminal to
keep you informed of the job's progress. You can also use the STATUS
command to check the status of a job at any time. You can use the
CANCEL command to cancel a job after it is accepted by the OS batch
system.
Output from OS batch jobs may be routed to your userid where you
can process it in several ways. Batch job output is sent to you in
reader spool files and can be treated in much the same way as a file
sent to you by another user. You can examine the output with the
PEEK, RBROWSE, and RXEDIT commands, save it in a CMS disk file with
the ACCEPT command, or print it with the OUTPUT command.
If you route the output from your job to the UKCC Computer Room
(CENTRAL), you will need the job's runid to claim the output at the
Data Center. Status messages from the OS batch system will contain
the runid, and you can use the RUNID command to display the runids of
OS batch jobs routed CENTRAL that you have submitted.
OS jobs submitted through CJS are not allowed operator replies and
must have /*SETUP statements for tape and disk mounts. No more than
three tapes are allowed per job. Users on the Lexington campus are
allowed to use only 20000 and 17000 series tapes. Remote users are
allowed to use only tapes with volume serial numbers that start with
the appropriate remote prefix (three letters), or tapes in the 17000
series.
Section 8: OS Batch Jobs 59
CJS User's Guide
8.A Submitting a Job
OS batch jobs are submitted with the CMS command SUBMIT. SUBMIT
accepts files containing fixed-length or variable-length records of up
to 80 characters.
Output (printed listings and punched cards) can be routed back to
your terminal as reader spool files, to the UKCC Computer Room, to the
UKCC hands-on (HOT) printer, or to a remote site. Punched output
cannot be produced at the HOT printer, and cannot be routed to the
UKCC Computer Room unless the printed output is also routed there.
Output routed to the UKCC Computer Room or a remote site will have
the same output limits as jobs submitted on punched cards: 10,000
lines and 2,000 cards. These limits may be changed by specifying
limits on a /*JOBPARM statement. Output routed to the UKCC HOT
printer is limited to 1,600 lines. Output routed back to your userid
is limited to 1,600 lines and 2,000 cards unless you specify otherwise
with a /*JOBPARM statement. You cannot have more than 10,000 lines or
10,000 cards routed to your userid.
Printed output routed to the UKCC Computer Room may use several
kinds of special forms (refer to the section in this manual on printed
output for a list of forms). Special forms are not allowed on the
UKCC HOT printer and should not be specified. Special forms requests
are ignored for output routed back to the user. Output routed to a
remote site may request special forms, but the availability and
designation of special forms is under the control of each individual
site. Contact the remote site personnel before requesting special
forms at their location.
Output routed back to your userid is sent in temporary files called
"spool files" or "reader files" or "reader spool files." You should
process such files as soon as you can, since spool files are
automatically erased by the system when they are a week old. This is
done to prevent the system spool space from filling with old files.
You are charged for spool files, based on their size and how long they
are kept. Use the BURN or PURGE RDR command to discard a reader spool
file when it is no longer needed.
As your job passes through various stages of processing in the
batch system, messages are sent to your userid. These messages will
contain the runid assigned by the batch system and the job name. The
runid will consist of a letter and a four-digit job number. This
runid is very important because any output from a job that is routed
to the Computer Room is filed by the runid and cannot be located in
any other way.
The following example illustrates how to create a job, submit it,
and examine the results. A file is created using XEDIT:
//TEST JOB 9999-99999,'A. USER'
..INCLUDE MY PASSWORD
Section 8: OS Batch Jobs 60
CJS User's Guide
//STEP1 EXEC WATFIV
//GO.SYSIN DD *
$JOB
..INCLUDE TEST FORTRAN
$ENTRY
..INCLUDE TEST DATA
/*
A good name for the file would be "TEST JOB". The records beginning
with "..INCLUDE" are special instructions to the SUBMIT command
indicating that the data from another file is to be inserted at that
point. INCLUDE statements must have "..INC" starting in column one.
The file "MY PASSWORD" would contain the password for account number
9999-99999, the file "TEST FORTRAN" would contain a FORTRAN program,
and the file "TEST DATA" would contain data for the program.
The job will be submitted when you enter:
submit test
The SUBMIT command assumes that a filetype of "JOB" or "JCL" is used
and will locate and process the file "TEST JOB". When an INCLUDE
statement is encountered, the data from the specified file is sent.
The INCLUDE statement itself is not sent.
The batch system will respond with the message:
hh:mm:ss TEST V0130 READ BY OS370
where "hh:mm:ss" is the time-of-day, "TEST" is the job name, and
"V0130" is the assigned runid. If the job contains an invalid project
number or password, no further messages are sent by the batch system
and the output from the job is sent to its destination. If the job
has a valid project number and password, it will go into the queue to
await execution. When the job begins execution, the message:
hh:mm:ss TEST V0130 IN EXECUTION
will be sent by the batch system. When the job completes execution,
the message:
hh:mm:ss TEST V0130 COMPLETED EXECUTION
will be sent and the job's output will be sent to the specified
destination. Since we did not specify any routing information in this
example, the output will be routed back in a reader spool file. The
message:
PRT FILE 1029 FROM OS370 COPY 01 NOHOLD
will be received when the file arrives. If there was any punched
output, a second message will also be received:
PUN FILE 1030 FROM OS370 COPY 01 NOHOLD
Section 8: OS Batch Jobs 61
CJS User's Guide
The numbers "1029" and "1030" in the examples are the spool file
numbers assigned to these files by the system.
If the output had been routed to the hands-on (HOT) printer at the
UKCC, a message would have been sent when the job started printing:
hh:mm:ss TEST V0130 ON HANDS-ON PRINTER 134 LINES 50 CARDS
Note that the punched output would have gone back to your reader,
since there is no HOT punch.
The spool files in your reader can be listed with the QUERY RDR
command:
query rdr all
ORIGINID FILE CLASS RECDS CPY DATE TIME NAME TYPE DIST
OS370 1029 A PRT 00134 01 10/19 11:23:30 TEST V0130 V0130
OS370 1030 A PUN 00050 01 10/19 11:23:30 TEST V0130 V0130
Each file has associated with it the job name and runid. The ACCEPT,
OUTPUT, PEEK, RBROWSE and RXEDIT commands can now be used to process
the reader files. It is not necessary to remain logged on after
submitting a job to the batch system. Output routed back to your
userid will be available for about a week, and you may log on and
examine it anytime within that period.
8.B Job Status Messages
As a job moves through the stages of batch processing, messages are
sent to the submitting user. If a read is outstanding at a terminal
(if the system has prompted you for input, but you have not
responded), these messages will be held and not displayed until RETURN
is pressed. Users of ASCII terminals may want to use the SLEEP
command to place their userid in a dormant state, but still allow
messages to be displayed:
sleep
Press RETURN to "wake" your userid and make it active again. No CPU
time is used by your userid while it is sleeping.
Use the STATUS command to get information about a job submitted to
the batch system. STATUS may be issued with either a particular job
identifier (job name, job number, or runid) or with "ALL", which will
check all of the jobs submitted from your userid.
The messages sent by the batch system will contain:
· The job name of the selected job.
Section 8: OS Batch Jobs 62
CJS User's Guide
· The job step and procedure step names if the job is executing.
· The queue the job is currently in (one of the following):
XEQn Waiting for execution in class "n"
PRT Waiting to print
PUN Waiting to punch
<blank> Between processing steps
· The runid of the selected job.
· The position in the queue for class A, X, or Z jobs awaiting
execution, and all print and punch jobs. BUSY indicates that the
job is active.
· The cumulative CPU time for jobs currently executing. This may
be blank if a job is between job steps.
· The estimated line count for jobs awaiting execution, the actual
generated line count for jobs that are executing, and the number
of lines yet to be printed for jobs that are printing.
8.C Canceling a Job
The CANCEL command can be used to cancel a submitted job. The job
number of the job to be canceled must be specified. The job will be
canceled at whatever stage of processing it is in, and any output
generated will be sent to the specified destination. The job number
is the last three digits of the runid; e.g., to cancel the job with
runid "V0130", use "130" for the job number. The CANCEL command will
only cancel the current job activity. For example, a job canceled
while executing or waiting to execute will still produce some printed
output. This output may be canceled by repeating the CANCEL command.
8.D Examining Your Results
When the reader spool file containing the output of your job is
available, it may be processed in several ways. It may be examined
directly with PEEK, RBROWSE (for 3270-type terminals), and RXEDIT.
After examining your output, you may want to produce a printed
copy. The OUTPUT command is used to print a reader spool file at a
HASP or RSCS printer. For example:
Section 8: OS Batch Jobs 63
CJS User's Guide
output test ( route hot
would print the output on the UKCC HOT printer. You will get another
message when the system receives the file for printing:
hh:mm:ss TEST V0130 ON VIRTUAL WRITER
The system will attempt to use the same runid, but if that is not
possible a new runid will be assigned and the message:
hh:mm:ss JOB WITH RUNID V0130 HAS BEEN CHANGED TO RUNID V0256
will be sent. The printed output will be filed by the new number.
The OUTPUT command also has an option for specifying special printer
forms.
The ACCEPT command is used to copy a reader spool file into a
permanent CMS disk file. The CMS disk file is given a filename that
is the same as the job name, and a filetype that is the same as the
runid. Continuing our previous example from the SUBMIT command:
accept test
File 1029 PRT A 01/06/83 11:23:30 134 Records; TEST V0130
102 CARDS READ -- 134 LINES CREATED -- 50 VARDS CREATED
R; $0.02 11:35:43
and the file "TEST V0130" would be written to disk. The reader spool
file is purged. The CC option of the ACCEPT command causes the
original carriage control information to be retained:
accept test ( cc
This information is used by the PRINT command.
Once copied into a CMS disk file, the output from a job can be
handled just like any other CMS disk file.
8.E Claiming Your Output
When output is printed in the UKCC Computer Room as a result of the
CENTRAL option of the SUBMIT, SETPRT, or OUTPUT commands, it will be
filed by the runid assigned by the system. Status messages to the
user contain this runid. Should you forget the runid, it may be
obtained by issuing the command:
runid
Section 8: OS Batch Jobs 64
CJS User's Guide
The runid, job name, and time read by the system for each job
submitted from the userid issuing the command will be displayed at the
terminal. This information is retained by the system for at least 24
hours or through a weekend.
When the RUNID command is issued, the job data is also written into
a CMS disk file named "RUNID FILE A1". This file may be examined,
erased, or modified by the user as desired (although it should be left
in variable-length format). The RUNID FILE is under the complete
control of the user and may be kept as long as needed.
Once the RUNID command has displayed information about a job, it
will not be displayed again unless the ALL parameter is specified:
runid all
Any jobs being displayed for the first time will also be added to the
RUNID FILE.
8.F Jobs From Card Readers
Printed and punched output from jobs submitted through card readers
can be routed to CJS users with using /*ROUTE cards. This allows
files which are already on batch-oriented media (such as cards) to be
transferred to CMS. The /*ROUTE cards are placed in the deck right
after the job card and are in the following format:
/*ROUTE PRINT UKCC/userid UKCC/userid
/*ROUTE PUNCH UKCC/userid UKCC/userid
The following restrictions apply:
1. Jobs submitted through CJS with the SUBMIT command cannot use
ROUTE cards. If any are present they will be ignored.
2. If a job has punched or plotted output at the Computing Center,
then it must also have printed output routed there.
3. All jobs turned in at the Data Center must have their output
printed at the Computing Center (CENTRAL).
4. Hands-on jobs are not allowed punched output. If a job is to be
read on the HOT reader, it must be a pick-up job to produce
punched output.
5. The normal limits on printed and punched output apply.
Section 8: OS Batch Jobs 65
CJS User's Guide
The following JCL could be used to send a deck of cards to a CJS
user from the HOT reader:
<orange pick-up card>
//TRANSMIT JOB 0000-00000,'A. USER'
/*PASSWORD password
/*ROUTE PRINT HOT
/*ROUTE PUNCH UKCC/userid UKCC/userid
//STEP1 EXEC PUNCH
//SYSUT1 DD DATA
<data to be sent to CJS user "userid">
/*
Note that the data must not contain any cards beginning with "/*" in
columns one and two.
8.G Sending Messages to Other Users
Messages can be sent from OS batch jobs to any logged on VM/SP user
with the MESSAGE utility program. Use the following JCL:
//stepname EXEC MESSAGE,USERID=userid,TEXT='message-text'
or
//stepname EXEC PGM=MESSAGE,PARM='userid,message-text'
The message is limited to 91 characters and will be sent in the
following format:
hh:mm:ss
MSG FROM OS370: jobname stepname procstep message-text
MESSAGE can be used to inform several users that a job has executed;
or, in conjunction with the COND parameter of the EXEC card, it can be
used to send a message only if a job ABENDs. For example:
//ENZ JOB ...
/*PASSWORD password
//S1 EXEC SOMEPROC
//S2 EXEC MESSAGE,USERID=XYZ001,TEXT='MYPROC FAILED',COND=ONLY
will send the message "MYPROC FAILED" only if the program executed in
step S1 terminates abnormally (ABENDs).
Section 8: OS Batch Jobs 66
CJS User's Guide
8.H Checking OS JCL Under CMS
The CMS command SCAN can be used to check the syntax of OS JCL in a
job before it is submitted. For example, to check the syntax of the
JCL in a file named "SAMPLE JOB", the following commands would be
issued:
osdisk
scan sample ( type
The OSDISK command is issued first to access the OS disks. This is
necessary because SCAN will use the OS procedure libraries which are
located on OS disk volumes. OSDISK need only be executed once during
a terminal session. The SCAN command must be given the filename of
the file containing the job to be scanned. A filetype of JOB or JCL
is assumed. The TYPE option causes the scanned JCL and any error
messages to be typed at the terminal. The error messages generated
are the same as those generated by the batch system and are found in
the IBM System/360 OS: Messages and Codes manual. SCAN will accept
all OS JCL and is compatible with the CMS SUBMIT INCLUDE facility.
Consult the UKCC CJS Reference for more information about SCAN,
including the steps required to access user PROCLIBs.
SCAN checks only the syntax of JCL statements. There are many
other JCL-related errors that will not be caught, and there are
several minor differences between the results obtained from SCAN and
those obtained from the OS batch system:
· The CLASS parameter on the JOB card will not be accepted as valid
if it contains X or Z.
· The DLM parameter on the DD card must be enclosed in single
quotes if it contains special characters.
· The UKCC project number on the job card is not checked for
validity.
· Specifying a nonexistent program in the PGM parameter of the EXEC
card will not be detected.
· Specifying a nonexistent data set or volume will not be detected.
· Specifying a nonexistent or inconsistent unit in the UNIT
parameter of the DD card will not be detected.
Section 8: OS Batch Jobs 67
CJS User's Guide
8.I Using OS Data Sets from CMS
If you run OS batch jobs, you may keep programs and data in OS disk
data sets. Access to these OS data sets is available from CMS, with
the following restrictions:
· The OS data set must reside on an online, rental disk volume.
· OS data sets are available on a read-only basis. You cannot
modify or erase an OS data set directly from CMS.
· Only sequential and partitioned OS data sets can be used from
CMS. BDAM and ISAM data sets cannot be read.
· Password protected data sets cannot be accessed by CMS.
· Keys in data sets are ignored; only the data is read.
· The data must be copied to a CMS file before it can be used by
most CMS commands. This means that enough minidisk space must be
available to contain the entire file if it is sequential, or the
desired members if it is partitioned.
Before an OS data set can be used, the OS rental volumes must be
accessed with the OSDISK command. The first OS volume is accessed as
filemode H, and the remaining volumes use I, J, K, and so on. Because
the number of OS rental volumes changes, and because the addresses of
the volumes may also change, you should always use OSDISK to access
them instead of the ACCESS command. The OSDISK command is updated to
reflect any changes in the OS rental volumes. It should only be
necessary to issue the OSDISK command once during a terminal session.
The CMS command QUERY DISK can be used to display the currently
accessed disks and their access mode letters.
You can list the data set names and other information describing OS
disk data sets with the LISTDS command. LISTDS is similar in many
ways to the LISTX command that performs similar functions for CMS disk
files. For example, to display the data set names and formats of all
OS disk data sets beginning with UKU.@XYZ01, you could enter the
commands:
osdisk
listds uku."@xyz01* * ( format
The information displayed will be similar to that obtained from the OS
MAPRENT or LITLMAP utilities. The PDS option of the LISTDS command
will list all of the members of a PDS (partitioned data set):
listds uku."@xyz01.copylib * ( pds
To copy an OS disk data set into a CMS disk file, use the FILEDEF
and MOVEFILE commands. For example, to copy an OS data set named
Section 8: OS Batch Jobs 68
CJS User's Guide
UKU.@XYZ01.TESTDATA to a CMS disk file named TEST DATA on your A-disk,
you could use the following sequence of commands:
osdisk
filedef input * dsn uku."@xyz01.testdata
filedef output disk test data a1
movefile input output
FILEDEF assigns a name to the defined file, and the MOVEFILE command
can reference this name to copy the data. This example illustrates an
important point to remember when using OS data set names under CMS.
The @ character that frequently appears in OS data set names is a
default VM/SP line editing character, so it must be preceded by a ",
the logical escape character.
The MEMBER option of the FILEDEF command can be used to specify a
single member of a PDS to be copied. For example:
filedef input * dsn uku."@xyz01.library ( member number
filedef output disk number member a
movefile input output
would copy the single member named "NUMBER" from the PDS. It is also
possible to copy an entire PDS and create a separate CMS disk file for
each member. For example:
filedef input * dsn uku."@xyz01.copylib
filedef output disk dummy copy a
movefile input output ( pds
would copy each member from the OS data set UKU.@XYZ01.COPYLIB to a
CMS disk file named "filename COPY A1", where "filename" is the member
name from the PDS.
The options of the FILEDEF command are similar to the options of
the OS DD statement. For more information, use the HELP command, or
refer to the IBM VM/SP CMS Command and Macro Reference, the IBM VM/SP
CMS User's Guide, and the UKCC CJS Reference.
Section 8: OS Batch Jobs 69
CJS User's Guide
Section 9: Writing EXECs
An EXEC is a file with a filename of your choice and a filetype of
EXEC. The file contains a series of commands that are executed when
you enter the filename. EXECs are time-savers because they allow you
to execute frequently-used command sequences by issuing just one
command. An EXEC can also display a message asking you for
information that the system needs to finish a task you've given it.
EXECs may contain CMS commands and special EXEC 2 statements.
For example, let's say that you want an EXEC that will print six
copies of a file. First you would create the EXEC by entering:
xedit copies exec
Then you would enter the INPUT command and type the lines below
(substitute the filename and filetype of one of your files for MYFILE
SCRIPT in the PRINT command):
&TRACE OFF
SETPRT COPIES 6
PRINT MYFILE SCRIPT
SETPRT
Then press the ENTER key twice to return to XEDIT mode.
The first line (&TRACE OFF) is an EXEC 2 statement that prevents
the lines in the EXEC from being displayed as they are executed. If
you wanted the lines displayed, you would use &TRACE ALL.
SETPRT COPIES 6 specifies that six copies of a file are to be
printed.
The PRINT MYFILE SCRIPT command has the same format as when you
enter it at a terminal. This command gives the filename and filetype
of the file to be printed.
The SETPRT command resets the number of copies to be printed to
one.
After typing these lines you would enter the FILE command to place
the EXEC on your disk. To use your new EXEC, enter the filename
COPIES as you would a command, and press the ENTER key. A message
will indicate that your file is being printed.
You can see that creating an EXEC is like creating a new command.
Each time you want to print six copies of the file, simply enter
COPIES. But suppose you want to print four copies of a different
Section 9: Writing EXECs 70
CJS User's Guide
file; does this mean you have to write another EXEC? No, because you
can make a few changes to your COPIES EXEC and use it to print any
number of copies of any file. Simply enter "XEDIT COPIES EXEC" and
change the lines as shown below:
&TRACE OFF
SETPRT COPIES &1
PRINT &2 &3
SETPRT
Enter the FILE command to keep this new version of your EXEC. The
number of copies is now &1, the filename is &2, and the filetype is
&3. Numbers preceded by an ampersand (&) signal the EXEC processor
that they will be replaced by values you specify. (These are called
parameters or arguments.) This means that when you enter COPIES, you
will also supply real values to replace the &1, &2, and &3. The first
value must be the number of copies to be printed, the second value
must be the filename, and the third value must be the filetype.
For example, to print four copies of your file, you would enter:
copies 4 myfile script
The EXEC processor takes the values you specify and assigns them to
&1, &2, and &3, in that order. SETPRT COPIES &1 becomes SETPRT COPIES
4, and PRINT &2 &3 becomes PRINT MYFILE SCRIPT. You can indicate a
different number and a different filename and filetype each time you
enter COPIES. Remember, you must specify these values in the correct
order; otherwise, your EXEC won't work.
You can create a special EXEC, called the PROFILE, which will be
executed automatically when CMS begins operation (when you log on). A
system PROFILE will be executed first. The system PROFILE will issue
the SETPRT command to direct printed output from your userid for
printing at the UKCC Computer Room (route CENTRAL). Control then
passes to your PROFILE EXEC. This EXEC can be used to tailor the
CMS/CJS environment to your needs.
For example, if you frequently use an ASCII terminal, you may want
to use the backspace character as the logical character delete symbol.
It is always a good practice to change the EMSG setting to ON so that
error message codes will be displayed with the message text. All of
this can be done in a PROFILE EXEC. Create a file named PROFILE EXEC
with XEDIT and place the following items in it:
&TRACE OFF
CP SET EMSG ON
CP TERMINAL CHARDEL <backspace>
SETCON TO *
The first line (&TRACE OFF) is an EXEC 2 statement that prevents the
lines in the EXEC from being displayed as they are executed.
Section 9: Writing EXECs 71
CJS User's Guide
The next two lines are CP commands and must be prefixed with CP
when in an EXEC. The backspace character can be entered directly on
an ASCII terminal, or created with the XEDIT ALTER subcommand, or
entered in hexadecimal mode (the backspace character is 16 in
hexadecimal). The SETCON command will begin console spooling. The
LOGOFF command will test for this and ask whether or not the spooled
console log should be retained. This spooled console record can be
very valuable when you are trying to diagnose an error that occurred
on a display-type terminal.
If you use a PROFILE EXEC that performs terminal-dependent
functions (like setting the LINESIZE), you will want to execute it
when you are reconnecting after a disconnect. This is accomplished by
entering the "PROFILE" command.
Section 9: Writing EXECs 72
CJS User's Guide
Section 10: Other Features of CJS
This section describes some other features of CJS. More
information about these and other topics can be found in the manuals
listed in the Preface.
10.A Suggestions
If you have suggestions, questions, or complaints about Computing
Center services, policies, or procedures, you can let us know by
sending a note to the online suggestion box. Suggestions need not be
signed, but they cannot be completely anonymous since your userid is
attached to the note by the system. To send your comments, use the
NOTE command to send a note to userid UCC101:
note ucc101
The NOTE command is explained in the "Communicating with Other CJS
Users" section elsewhere in this manual.
Suggestions can also be deposited in the Suggestion Box on the
first floor of McVey Hall, or mailed to:
Newsletter Editor
UK Computing Center
72 McVey Hall
Lexington, KY 40506-0045
Most suggestions are not answered directly, but are published in The
Kentucky Register, the Computing Center's monthly newsletter.
Section 10: Other Features of CJS 73
CJS User's Guide
10.B Online Kentucky Register
The text of the Computing Center's monthly newsletter, The Kentucky
Register, is available under CJS to be viewed or printed at your
terminal. Enter the command:
kyreg
and the latest issue will be displayed using either BROWSE (for
3270-type terminals) or XEDIT (for other kinds of terminals). You may
then use ordinary BROWSE or XEDIT subcommands to scroll through the
text or search for specific items.
You can print a copy of the Register on a printing terminal by
entering the command:
kyreg print
10.C Plotting
A number of commands are available for users needing plotted
output. The Computing Center provides a high-speed Zeta pen plotter
(available in a batch mode) and a VT100 graphics terminal (available
in the Micro Lab in 107 McVey Hall). Packages like SAS/GRAPH, and
user-written programs can be used to produce graphic output. These
programs are run as ordinary OS batch jobs and produce special files
containing instructions for a plotting device. The PLOT command is
used to send such files to the Zeta plotter at the UKCC. The PLOTTEK
command uses a plot file to produce output on the VT100 or other
Tektronix-compatible graphics terminals. Commands are also available
to produce output on Hewlett Packard graphics terminals (PLOTHP) and
Anderson Jacobson printing terminals (PLOTAJ).
The plotting commands are described in detail in the UKCC CJS
Reference and by the HELP command. More information about writing
your own plotting programs can be found in the UKCC Plotting Manual.
Section 10: Other Features of CJS 74
CJS User's Guide
10.D Backing Up Your Files
If you have CMS disk files that are particularly important or would
be difficult to recreate, you may want to maintain additional machine-
readable copies as backup. One way to do this would be to copy the
files periodically to tape with an OS batch job. For example, the
following JCL could be used to copy two files to a tape:
//BACKUP JOB account,'A. USER'
/*SETUP TAPE=(volume,RINGIN)
/*PASSWORD password
//STEP1 EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=A
//SYSIN DD DUMMY
//SYSUT1 DD DATA
..INCLUDE first file ( IGNORE
/*
//SYSUT2 DD DSN=first.file,LABEL=1,VOL=SER=volume,UNIT=TAPE,
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=8000),DISP=(NEW,PASS)
//STEP2 EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=A
//SYSIN DD DUMMY
//SYSUT1 DD DATA
..INCLUDE second file ( IGNORE
/*
//SYSUT2 DD DSN=second.file,LABEL=2,VOL=SER=volume,UNIT=TAPE,
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=8000),DISP=(NEW,PASS)
The IGNORE option specified on the INCLUDE statements will cause any
imbedded INCLUDE statements to be ignored. This will prevent any file
but the one specified from being transmitted with the job.
To recover files that have been saved in this manner, a batch job
must be used to read from the tape and punch the data to your userid.
The following JCL could be used to retrieve the second file from a
tape:
//RECOVER JOB account,'A. USER'
/*SETUP TAPE=volume
/*PASSWORD password
//STEP1 EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=A
//SYSIN DD DUMMY
//SYSUT1 DD DSN=second.file,LABEL=2,VOL=SER=volume,UNIT=TAPE,
// DISP=OLD
//SYSUT2 DD SYSOUT=B,DCB=(RECFM=F,LRECL=80)
The punched output from this job should be routed back to your userid
through use of the TERMINAL option of the SUBMIT command. The ACCEPT
command will then be used to read the output into a CMS disk file.
The CMS disk file created in this manner will contain variable-length
records unless you specify the RECFM F option of the ACCEPT command.
Section 10: Other Features of CJS 75
CJS User's Guide
This method has a number of limitations. You must buy a tape to be
kept at the Computing Center and you must somehow keep track of where
each CMS file is on the tape (the batch utility program TAPEMAP will
be of some help; the TAPEMAP manual is available online with use of
the MANUAL command). The files must not contain any records longer
than 80 characters (usually not a problem), and the number of records
in each file should be limited because only 2,000 punch records may be
returned to your terminal from any one batch job. Using the JCL in
the example above, the files must not contain any records beginning
with /* in column one. This would include HASP /*PASSWORD, /*SETUP,
and /*MESSAGE control statements that may appear in OS batch jobs.
10.E The PUBLIC Disk
The PUBLIC disk is a minidisk containing EXECs and other files
contributed by Computing Center users. To access the PUBLIC disk,
simply issue the command "PUBLIC", or place the command "EXEC PUBLIC"
in your PROFILE EXEC. HELP is available for each item on the PUBLIC
disk, and "HELP PUBLIC MENU" will give you a list of what is currently
available.
The Computing Center does not provide support or consulting for the
items on the PUBLIC disk. They have not been tested by the Computing
Center, and you use them at your own risk. If you have a complaint or
suggestion about an item, contact the person who submitted it. (The
HELP information for an item will identify the submitter.) If you
would like to contribute an item to the PUBLIC disk, contact a
Computing Center consultant.
10.F Punching a Real Card Deck
Should you ever need a deck of cards punched from a CMS file, you
must submit an OS batch job. The output of the job must be routed
either to CENTRAL (the UKCC Computer Room) or to a remote site
equipped with a card punch.
For example, the following job submitted through CJS would produce
a punched deck of cards:
//PUNCH JOB 0000-00000,'A. USER'
/*PASSWORD password
//STEP1 EXEC PUNCH
//SYSUT1 DD DATA
..INCLUDE fn ft fm
Section 10: Other Features of CJS 76
CJS User's Guide
/*
The contents of the file "fn ft fm" would be punched. (The file must
not contain any records with /* in columns one and two.) If this job
was in a file named "PUNCH JOB", the following command would submit it
for punching at the UK Computing Center:
submit punch(central
Remember that the job's runid is required to claim the output from a
batch job routed to CENTRAL.
10.G Reading a Real Card Deck
An OS batch job is required to read a deck of punched cards. The
batch job must read and punch the data, routing the output to your
userid. Refer to the section in this manual on OS batch jobs for more
information.
Section 10: Other Features of CJS 77
CJS User's Guide
APPENDIX A: The Terminal Environments
+--------------------------------------------------------------------+
| |
| CP Mode To return to CMS, enter BEGIN. |
| |
| +-------------------------------------------------------------+ |
| | | |
| | CMS | |
| | You enter CMS automatically when you log on. To go to CP, | |
| | press BREAK twice on an ASCII terminal, PA1 once on a 3270. | |
| | | |
| | +-----------------------------+ | |
| | | | | |
| | | XEDIT | | |
| | | Use FILE, QUIT, or CANCEL | | |
| | | to return to CMS; press PA1 | | |
| | | to go to CP mode; enter CMS | | |
| | | to go to CMS Subset; enter | | |
| | | INPUT, REPLACE, or POW to | | |
| | | go to Input mode. | | |
| | | | | |
| | | | | |
| | | +-------------------+ | | |
| | | | | | | |
| | | | INPUT MODE | | | |
| | | | Press ENTER twice | | | |
| | | | to return to | | | |
| | | | XEDIT. | | | |
| | | +-------------------+ | | |
| | | | | |
| | | +-------------------+ | | |
| | | | | | | |
| | | | CMS SUBSET | | | |
| | | | Enter RETURN to | | | |
| | | | return to XEDIT. | | | |
| | | +-------------------+ | | |
| | | | | |
| | | +-------------------+ | | |
| | | | | | | |
| | | | All CP and CMS | | | |
| | | | commands can be | | | |
| | | | used from XEDIT. | | | |
| | | +-------------------+ | | |
| | +-----------------------------+ | |
| +-------------------------------------------------------------+ |
+--------------------------------------------------------------------+
Appendix A: The Terminal Environments 78
CJS User's Guide
APPENDIX B: A Sample Terminal Session
The following is a sample terminal session on an ASCII terminal.
It demonstrates creating a job, submitting the job for execution, and
receiving and examining the output at the terminal. A few of the
longer lines have been reformatted to fit on the page. Lines entered
by the user are shown in lowercase characters, system responses in
uppercase. The "." preceding the input lines is the prompt from the
system and is not typed by the user. Lines beginning with "--->|" are
inserted comments and should not be considered part of the terminal
session. Lines marked "[null line]" indicate that RETURN was pressed
without typing any other characters.
--->| After connecting to the system (by telephone,
--->| etc.), the service must be requested.
rs
REQUEST:
cjs
--->| The system should respond with:
VM/370 ONLINE
--->| Press the Attention key (labeled BREAK, ATTN, etc.).
!
--->| VM/SP will respond with "!" and a prompt.
--->| Begin the terminal session by logging on.
.logon usr001
ENTER PASSWORD:
.********
--->| After the password is entered, CMS/CJS is started
--->| automatically. The time and version of CMS are
--->| displayed. The message beginning "FILES:" indicates
--->| that a spool file is in the reader. This might be
--->| output from a batch job.
LOGON AT 07:55:24 EST FRIDAY 01/06/83
FILES: 001 RDR, NO PRT, NO PUN
CMS/CJS SP201 PRESS ENTER OR RETURN
.[null line]
Y (19E) R/O
R; $0.01 07:55:34
--->| The program to be written is entered by editing a CMS
--->| file. In this example the CMS file has a filename of
--->| "AREA", a filetype of "JOB", and a default filemode
--->| of "A1".
.xedit area job
--->| The next line indicates that the CMS file to be
--->| edited did not previously exist, but that XEDIT has
--->| created the necessary file and is ready to perform
--->| any edit functions desired.
Appendix B: A Sample Terminal Session 79
CJS User's Guide
NEW FILE:
--->| To enter data into the CMS file, get into the INPUT
--->| mode of the editor.
.input
INPUT MODE:
--->| The following lines are entered. Note the use of the
--->| character delete symbol (@) in the 7th line.
.//area job 9999-99999,'a. user',class=x
./*password password
.//step1 exec watfiv
.//go.sysin dd *
.$job
. pi=atan(1.)*4.
. 1 read, rsadius
. print, 're@adius',rsadius
. area=pi*r**2
. print,'area',area
. return
. end
.$entry
.1.0
.$stop
./*
--->| Exit from input mode by pressing RETURN twice.
.[null line]
.[null line]
XEDIT:
--->| After looking over the lines entered, notice that
--->| instead of "RADIUS", "RSADIUS" has been entered in
--->| two places. To correct these, first return to the
--->| top of the file and then issue a global CHANGE
--->| command to change all occurrences of the error.
--->| XEDIT responds with the corrected lines.
.top
TOF:
.change /rsadius/radius/ *
1 READ, RADIUS
PRINT, 'RADIUS',RADIUS
EOF:
--->| Next notice that line 5 has "PI*R" instead of
--->| "PI*RADIUS". Return to the top of the file and
--->| locate the line in error.
.top
TOF:
./area=
AREA=PI*R**2
--->| Omitting the global operands, change the incorrect
--->| character string.
.c/*r/*radius/
AREA=PI*RADIUS**2
--->| The entire corrected program is now examined.
.top
TOF:
.type *
Appendix B: A Sample Terminal Session 80
CJS User's Guide
TOF:
//AREA JOB 9999-99999,'A. USER',CLASS=X
//STEP1 EXEC WATFIV
//GO.SYSIN DD *
$JOB
PI=ATAN(1.)*4.
1 READ, RADIUS
PRINT, 'RADIUS',RADIUS
AREA=PI*RADIUS**2
PRINT,'AREA',AREA
RETURN
END
$ENTRY
1.0
$STOP
/*
EOF:
--->| Since there are no more mistakes, the file is now
--->| stored on the user's minidisk for future use, and the
--->| editor returns to the CMS environment.
.file
R; $0.05 09:51:25
--->| The program is now sent to the batch system for
--->| execution by submitting the CMS file "AREA JOB A1"
--->| containing the program. In this case, filetype and
--->| filemode are omitted because "JOB" and "A" are the
--->| defaults. The default routing is back to the
--->| terminal. The SLEEP command is issued to allow
--->| messages to be displayed.
.submit area
R; $0.02 09:51:43
.sleep
09:52:43 AREA V0136 READ BY OS370
09:52:44 AREA V0136 IN EXECUTION
09:52:56 AREA V0136 COMPLETED EXECUTION
PRT FILE 1210 FROM OS370 COPY 01 NOHOLD
--->| The program output has been returned to the user's
--->| virtual reader. The output can now be made into a
--->| CMS file with the INPUT command and can be examined
--->| using the editor. First press ATTN to "wake" the
--->| sleeping terminal.
!
.accept area
FILE 1210 PRT A 01/06/83 09:51:56 131 RECORDS; AREA V0136
17 CARDS READ -- 89 LINES CREATED -- NO VARDS CREATED
R; $0.02 09:53:00
.xedit area v0136
./$job/
$JOB
.type *
$JOB
1 PI=ATAN(1.)*4.
2 1 READ, RADIUS
3 PRINT, 'RADIUS',RADIUS
Appendix B: A Sample Terminal Session 81
CJS User's Guide
4 AREA=PI*RADIUS**2
5 PRINT,'AREA',AREA
6 RETURN
7 END
$ENTRY
RADIUS 0.1000000E 01
AREA 0.3141592E 01
CORE USAGE OBJECT CODE= 408 BYTES,
ARRAY AREA= 0 BYTES,TOTAL AREA AVAILABLE= 36864 BYTES
DIAGNOSTICS NUMBER OF ERRORS= 0,
NUMBER OF WARNINGS= 0, NUMBER OF EXTENSIONS= 0
COMPILE TIME= 0.01 SEC,EXECUTION TIME= 0.00 SEC,
WATFIV - JUL 1973 V1L4 9.54.56 THURSDAY 06 JAN 83
$STOP
JOB COST -- $.03 -- NO EXCPS -- 128 LINES SPOOLED
.00003 HOURS CPU TIME -- NO VARDS SPOOLED -- 7 PAGES -
YEARLY TOTAL -- $125.96 ACCT BALANCE -- $2874.04
EOF:
--->| After examining the output, QUIT is issued to return
--->| to the CMS environment, and then SETPRT and PRINT are
--->| used to produce hardcopy of the output.
.quit
R; $0.03 09:55:27
.setprt
R; $0.01 09:56:06
.print area v0136
R; $0.02 09:56:07
09:56:07 AREA V0136 ON VIRTUAL WRITER
--->| The SETPRT/PRINT command combination sends the spool
--->| file to be printed. The runid (V0136) of the output
--->| is sent to the user in a message. By default, SETPRT
--->| routes the printed listing to the UKCC Computer Room
--->| (CENTRAL). If the CMS file containing the output is
--->| no longer needed, it can be erased.
.erase area v0136
R; $0.01 09:58:18
--->| To verify the runid assigned by the system (and have
--->| it recorded in your RUNID FILE), issue the RUNID
--->| command.
.runid
JOBNAME DATE/TIME SENT RUNID
AREA 01/06/83 09:56:07 V0136
R; $0.02 10:02:23
--->| To end the terminal session, use the LOG command. If
--->| any reader spool files are present they will be
--->| listed. You may purge some, all, or none. If more
--->| information is needed, use the "L" or "?" response.
.log
Reader spool files are subject to charges. You have the following:
File Typ Filename Filetype Date Time Lines Est.Blk Est.Chg. Cost/Day
0543 PRT WCSGENER MANUAL 04/18/83 14:07 73 1 $0.0000 $0.0035
Enter its spool file number or ALL to PURGE, or press ENTER to keep:
.all
Appendix B: A Sample Terminal Session 82
CJS User's Guide
0001 FILE PURGED
$0.20 (0.289 sec CPU, 280 I/O op's) will be charged to 1234-56789.
Balance for project 1234-56789 is $187.42 (Allocation $200.00).
CONNECT= 02:40:04 VIRTCPU= 000:00.29 TOTCPU= 000:01.60
LOGOFF AT 10:14:28 EST MONDAY 04/18/83
Appendix B: A Sample Terminal Session 83
CJS User's Guide
APPENDIX C: 3270 Program Function Key Template
Cut out the template, fold on the center vertical line, and fasten it
to a computer punch card (and you thought they were obsolete!). Cut
out the space in the center of the bottom half and place over the PF
keys on the 3270 keyboard. One side is marked with the default XEDIT
key settings, the other is for your own use.
+---------------------------------------------------------------+
| XEDIT Program Function Keys | |
|+--------++--------++--------+ | +--------++--------++--------+|
|| PF1 || PF2 || PF3 | | | PF1 || PF2 || PF3 ||
|| Help || Add || Quit | | | || || ||
|+--------++--------++--------+ | +--------++--------++--------+|
|+--------++--------++--------+ | +--------++--------++--------+|
|| PF4 || PF5 || PF6 | | | PF4 || PF5 || PF6 ||
|| Tab || SCHANGE|| ? | | | || || ||
|+--------++--------++--------+ | +--------++--------++--------+|
|+--------++--------++--------+ | +--------++--------++--------+|
|| PF7 || PF8 || PF9 | | | PF7 || PF8 || PF9 ||
|| BAck || FOrward|| = | | | || || ||
|+--------++--------++--------+ | +--------++--------++--------+|
|+--------++--------++--------+ | +--------++--------++--------+|
|| PF10 || PF11 || PF12 | | | PF10 || PF11 || PF12 ||
|| Split || Join || Cursor | | | || || ||
|+--------++--------++--------+ | +--------++--------++--------+|
| +----------------------+ | +----------------------+ |
| | | | | | |
| | | | | | |
| | | | | | |
|PA2| | | | | |
| N | | | | | |
| U | | | | | |
|<L | | | | | |
| L | Cut Out This | | | And This, Too | |
| S | Space | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| +----------------------+ | +----------------------+ |
+---------------------------------------------------------------+
Appendix C: 3270 Program Function Key Template 84
CJS User's Guide
INDEX
-/- -C-
/, 29, 31, 34, 45 C, 46
/*JOBPARM, 60 CANCEL, 48
/*ROUTE, 65 CANCEL command, 63
/*SETUP, 59 CAPPEND, 37
cards, 60, 76
-?- CASE, 35
?, 14 cathode ray tube, 5
CC, 46
-#- CDELETE, 37
#CP, 16 CFIRST, 37
CHANGE, 31-32, 47
-=- character codes, 6
=, 14 character delete, 15
CHARDEL, 15
-"- charges, 4
", 46 CINSERT, 37
CJS, 1
-A- CLEAR key, 17
A, 45 CLOCATE, 36
ACCEPT command, 2, 22, 57-58, 64 CMDLINE, 42
ACCESS command, 21, 25 CMS, 1
acoustic coupler, 5 CMS disk files, 1, 20
ADD, 30 CMS mode, 14
ARBCHAR, 35 CMS Subset, 14
argument, 71 COLPTR, 49
ASCII, 6 column pointer, 36, 42, 49
asynchronous, 6 column subcommands, 50
attention, 13 column target, 36
AUTOLINK command, 25 complaints, 73
AUTOSAVE, 26, 39 CONNECT, 11
console log, 12, 19
-B- console spooling, 19
backup, 2, 75 COPY, 30
BACKWARD, 29 COPYFILE command, 22
batch, 1 cost, 4
baud, 8 CP, 3
BDAM, 68 CP mode, 14
BEGIN command, 12, 14 CP READ, 17
binary synchronous, 6 CRT, 5
bisync, 6 CURLINE, 45
BOTTOM, 29, 49 current column, 42, 49
BREAK key, 13 current line, 28, 42, 45, 48
BROWSE command, 22 cylinder, 2
BURN command, 22, 58, 60
-D-
D, 45
data bits, 7
Index 85
CJS User's Guide
data sets, 22, 68 -G-
dataphone, 5 GET, 32-33
DD, 45 global change, 31-32
DEL, 47 graphics, 74
DEL key, 15
DELETE, 30 -H-
deleting files, 22 half-duplex, 7
dial-up, 5 halt execution, 18
disconnect, 12, 72 halt typing, 18
disk files, 20 HELP, 3
disk format, 20 XEDIT, 41
disk full, 24 HOLDING, 17
disk mounts, 59 HT, 18
disk rental, 4 HX, 18
display terminal, 5
DOWN, 29, 49 -I-
INCLUDE statement, 60-61
-E- INPUT, 27, 44, 50
EBCDIC, 6 INPUT INHIBITED, 17
EDIT, 26 input mode, 27
edit mode, 27 INS MODE, 15, 47
editing session, 26 insert mode, 15, 17
editor, 21 ISAM, 68
editors, 26
empty line, 16 -J-
ENTER key, 13 JCL, 67
ERASE command, 22, 39 job, 1
ERASE EOF key, 15 JOIN, 47
ERASE INPUT key, 15
escape, 15, 50 -K-
EXEC, 70 KECNET, 7
Kentucky Register, 74
-F- KYREG command, 74
F, 46
failure, 12 -L-
FILE, 26, 39 LABELS command, 52
FILEDEF command, 22, 69 limits, 60
fileid, 20 line delete, 15
filemode, 20 line editing, 15
filemode letter, 21 line end, 15
filemode number, 21 line pointer, 28, 48
filename, 20 line speed, 8
files, 20 LINEDEL, 15
filetype, 20 LINEND, 15
FIND, 31 lines, 60
FINDUP, 31 LINESIZE, 18
FLIST command, 23 LINK command, 25
format, 20 LISTDS command, 68
forms, 51 LISTX command, 23
FORWARD, 29 LITLMAP utility, 68
full disk, 24 local terminal, 5
LOCATE, 31
log message, 11
logging off, 11
Index 86
CJS User's Guide
logging on, 1, 10 passwords, 10
LOGMSG, 11 PA1 key, 13
LOGOFF, 11 PA2, 47
LOGON, 10 PA2 key, 17
LRECL, 28 PDS, 69
PEEK command, 2, 57-58, 63
-M- PF, 44
M, 46 PF keys, 14, 38, 43
MAPRENT utility, 68 physical blocks, 20
MEMBER option, 69 plotting, 74
memory, 3 POINT, 34
MESSAGE utility, 66 port selector, 8
messages, 53, 62 POWER, 44
microcomputers, 7 power typing, 44, 47
minidisk, 2-3, 20 PREFIX, 42
MM, 46 PRINT command, 51
modem, 5 printing, 51
MORE, 17 printing terminal, 5
MOVE, 30 PROFILE EXEC, 12, 71
MOVEFILE command, 22, 69 PROFILE XEDIT, 38, 40
Program Function keys, 14
-N- PUBLIC command, 76
NAMES command, 53 PUBLIC disk, 76
names file, 53 public terminals, 6
NETDATA, 55 punching, 76
NEWS command, 11 PURGE RDR command, 60
newsletter, 74 PUT, 32
NEXT, 29
NFIND, 31 -Q-
NFINDUP, 31 q tabs, 29
nickname, 53 QQUIT, 39
node identifier, 17 QUERY DISK command, 23, 68
NOT ACCEPTED, 17 QUERY PF, 44
NOTE command, 55 QUERY RDR command, 62
notes, 53 QUERY READER ALL command, 56
null line, 16 QUERY TABS, 29
NULLS, 47 QUIT, 26, 39
NUMBER, 33, 42, 45
-R-
-O- RBROWSE command, 2, 63
operator replies, 59 reader, 2, 56
OS data sets, 22, 68 reader files, 60
OS disk data sets, 1 ready message, 10
OS rental volumes, 68 recall function, 14
OUTPUT command, 2 RECFM, 40
reconnect, 12, 72
-P- RECOVER, 30, 46
P, 46 recovery, 12
PACK, 24 remote terminal, 5
PACK command, 24, 40 RENAME command, 22, 39
packed files, 24 rental volumes, 68
parameter, 71 REPLACE, 50
parity, 7 replies, 59
partitioned data sets, 69 RESET, 46
Index 87
CJS User's Guide
RESET key, 15 SPELL command, 37
resume typing, 18 SPELLCHK command, 37-38
RETRIEVE, 14 SPELLFIX command, 37
RETRIEVE PF key, 14 spelling
RETURN command, 14 aids, 37
RETURN key, 13 SPLIT, 47
reuse function, 14 spool file, 3
RLIST command, 58 spool files, 1, 10-11, 60
RT, 18 spooling, 19
RUNID, 64 stacking, 13
RUNNING, 17 STATUS command, 62
RXEDIT command, 63 stop bits, 8
storage, 3
-S- string, 34
SAS/GRAPH, 74 SUBMIT command, 2, 60
SAVE, 26, 39 Subset, 14
SCALE, 43 suggestions, 73
SCAN command, 67 switched line, 5
SCREEN, 48 synchronous, 6
SCRIPT, 1 SYSTEM AVAILABLE, 17
SCRIPT command, 52 S3270 Facility, 6
selective change, 47
SENDFILE command, 25, 55 -T-
SET ARBCHAR, 35 tabbing, 28
SET AUTOSAVE, 39 TABS, 29
SET CASE, 35 tape, 76
SET CMDLINE, 42 tape mounts, 59
SET COLPTR, 49 tapes, 60
SET CURLINE, 45 target, 31, 33
SET ESCAPE, 50 telephone numbers, 8
SET IMSG command, 56 TERMINAL command, 15
SET MSG command, 56 TERMINAL LINESIZE, 18
SET NULLS, 47 text formatting, 52
SET NUMBER, 33, 42, 45 TOP, 29, 49
SET PACK, 24, 40 TOTCPU, 11
SET PF, 44 TPRINT command, 51
SET POINT, 34 TRUNC, 28
SET PREFIX, 42 TYPE, 48
SET RECFM, 40
SET SCALE, 43 -U-
SET SCREEN, 48 UCC101, 73
SET SPAN, 35 UNPACK command, 24, 40
SET TABS, 29 UP, 29, 49
SET VARBLANK, 36 userid, 1
SET WRAP, 31
SETCON, 19 -V-
SETPRT command, 51 VARBLANK, 36
sharing files, 25 variable-length records, 24
simulator, 6 VIRTCPU, 11
SLEEP command, 62 virtual, 3
SORTF command, 22 virtual machine, 3
SPAN, 35 VM READ, 17
special forms, 51 VM/SP, 1
speed, 8 VT100 graphics terminal, 74
Index 88
CJS User's Guide
-W-
WRAP, 31
-X-
XEDIT, 21, 26-27
screen format, 41
-Z-
Zeta plotter, 74
-3-
3270 simulator, 6
3270-type terminal, 6
Index 89