Professional Documents
Culture Documents
AS/400 provides interactive command prompting for any command supplied with the system or
created by the user. On the command entry screen notice the option F4 = Prompt at the bottom of
the screen. You can type the command name only, and press <F4>to see the prompt display for
the command. Usually, a command may require many parameters before it can be executed. The
prompt displays provide a convenient method of supplying that parameter information. For
example, type SNDMSG on any command line and press <F4>. The following prompt display is
shown:
Send Message (SNDMSG)
Type choices, press Enter.
Message text . . . . . . . . . . ________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________
To user profile . . . . . . . . .
__________
To execute the command, supply the required information for Message text and user profile and
press <Enter>. Most of the parameters used on commands have default values that are used if no
other value is specified. You may change the default values if you desire to do so.
If <F4>= Prompt is shown on the prompt display, you can press < F4>to request a list of
predefined values (such as *SYSOPR and *ALLACT in the above display) that are permitted in
the field where the cursor is currently positioned.
In relation to the SNDMSG command, you can use DSPMSG at any time to display messages in
your message queue.
allows the system to perform certain standard operations, such as authorization management, on
all objects types. The object types that we will be primarily concerned with in this manual are:
*LIB Libraries
*FILE Files
*PGM Compiled programs
*OUTQ Output queues
Libraries
Every object is contained in a library. A library is an object, of type *LIB, that contains a group
of objects. It is similar to the "root" or top-level directory on Unix, MS-DOS, and VAX/VMS.
However, unlike these systems, a library cannot "contain" other libraries (with the exception of
QSYS, the system master library, which "contains" all libraries on the system). An interesting
implication of the non-hierarchical nature of libraries is that two users cannot have libraries with
the same name. There are basically three general categories of libraries:
1. QSYS - the library that contains all other libraries,
2. System supplied libraries NOTE:all IBM-supplied library names begin with the letter "Q"
or "#"
3. User-created libraries.
Files
A file is an object, of type *FILE, that contains data in the form of a database, device data, or a
group of related records that are handled as a unit. In this manual, we are primarily concerned
with database files. There are two types of database files:
1. physical files
2. logical files.
A physical file contains actual data stored on the system. It has a fixed-length record format. In
this manual, we are primarily interested in two kinds of physical files:
1. data physical files
2. source physical files.
A data physical file (*FILE PF-DTA) contains data that cannot be compiled, such as an input file
to a program. In conventional terms, a data physical file is a data file, for example an employee
master file. A data physical file normally has a record format. This record format is defined using
Data Description Specifications (DDS is a language that is used to describe database files to the
system). This description is then compiled to produce a *FILE object with attribute PF-DTA.
A source physical file (*FILE PF-SRC) contains source statements, for example the source
statements of a Pascal or COBOL program. A source physical file has the attribute "PF-SRC". It
2
is usually created using the "Create Source Physical File" (CRTSRCPF) command (more
information about this command will be given later). A source physical file is actually a special
type of data physical file. The CRTSRCPF command creates a physical file with attributes
appropriate for source physical files. For example, the default record length is 92 (80 for the
source data field, 6 for the sequence number field, and 6 for the date field. Refer to the section on
the SEU editor for the meanings of these fields.)
The data records in a data physical file can be grouped into members. A data physical file may
contain one or more members. These members are not objects themselves but subsets of an
object. This implies that all members of an object share the same basic characteristics with the
other members in the object such as ownership and security. In a PF-SRC file, each member
contains source statements for a program or DDS source. Members have an attribute associated
with them, which in the case of PF-SRC members, determines how the various systems programs
(such as the editor and compilers) on the AS/400 treat the member. This attribute is specified
when creating the member, and allows compilation to be totally automatic. Once, for example, a
member has been specified as having an attribute of CBL (for COBOL program,) the AS/400
editor, SEU, will format the program as a COBOL program, and when PDM (Program
Development Manager) is given the instruction to compile the file, it "knows" that it should
invoke the COBOL compiler. An example of a PF-SRC file and its members is shown below (we
will explain how to get to this screen in the section on PDM):
Work with Members Using PDM
File . . . . . .
Library . . . .
SRCFILE___
YOURLIB___
Position to . . . . __________
Member
NAMEEMP
CLPROG
RPGPROG
EMPMAST
SCRNMBR
3=Copy
4=Delete
8=Display description
Type
LF
CLP
RPG
PF
DSPF
Text
Sample
Sample
Sample
Sample
Sample
5=Display
9=Save
6=Print
13=Change text ...
Parameters or command
===> ___________________________________________________________
F3=Exit
F9=Retrieve
F4=Prompt
F10=Command entry
F5=Refresh
F23=More options
F6=Create
F24=More keys
The name of the source physical file is SRCFILE, and it is contained in the library YOURLIB.
Although, in the above example, source members of different types are stored in the same source
3
physical file, you will probably want to store source programs of the same type in a separate
source physical file. For example, you may want to keep all your RPG source programs in a PFSRC file called, for example, "RPGSRC" and DDS source in a PF-SRC file called, for example,
"DDSSRC". You may also use the standard IBM-supplied names such as "QRPGSRC",
"QDDSSRC", and "QCLSRC" for the various PF-SRC files. However, you may choose to
include source members of different types belonging to the same application in the same PF-SRC
file, as in the above example.
In a data physical file (PF-DTA), the member(s) contains data for use by programs. Normally, a
PF-DTA file will only have one member (by default, the member's name is the same as the file
name). However, it is possible to include multiple members in a single PF-DTA file. For
example, you may want to group the records in a sales transactions file so that each member
contains data for each month. In this way, each month's data can be processed separately by
processing one member at a time. It is important to understand, at this point, the difference
between "source" and "data" in regards to data physical files. In the "Work with Members using
PDM" screen above, the "PF" member, "EMPMAST", contains DDS source that defines a
physical file. When this source member is compiled (using CRTPF or option 14 in the "Work
with Members using PDM" screen), it will produce a *FILE object with attribute PF-DTA. This
compiled object is the actual file that is used to hold data records.
A data logical file (*FILE LF-DTA) is a data file that contains no actual data, but provides a
different method of viewing the data of an accompyning data physical file(s) which it internally
references. It is similar to the concept of a "view" in SQL. A data logical file is described to the
system using DDS. When the DDS source is compiled, a *FILE object with the attribute LFDTA is produced.
Another *FILE object type that you may encounter in your programming courses is the device
file. A device file contains a description how data is to be presented to a program from a device
or vice versa. Two common types of device files are printer files (*FILE PRTF) and display files
(*FILE DSPF). A printer file describes the attributes that printed output will have, such as the
length and width of a printed page. A printer file can be created using the "Create Printer File"
(CRTPRTF) command. A display file describes what information is to be displayed and where it
is to be displayed on the screen of a display station. One way of defining and creating a display
file is with the Screen Design Aid (SDA) utility.
normally the same as that of your user profile. Refer to the section "Printing Procedure" in this
manual for more information on printing spooled files.
The relationships between the various objects that have been discussed in this section are as
follows:
QSYS (*LIB)
[special library]
|
| contains
|
Library (*LIB)
|
| contains
|
.------------------+----^-----------------.--------.
|
|
|
|
Programs (*PGM)
Outqueues (*OUTQ)
Files (*FILE) Other
[Executable]
|
|
objects
| contains
|
Spooled Files
|
[Output intended for Printer]
|
|
.----------------^--.
|
|
Physical
Data Logical
file
file
(PF)
(LF-DTA)
|
^ contains
.------^-----.
Member(s)
|
|
[Reorginized data]
Source
Data
Physical
Physical
File
File
(PF-SRC)
(PF-DTA)
|
|
contains |
| contains
|
|
Member(s)
Member(s)
[Program source] [Actual Data]
Creating a Library
A library has already been created for during user profile creation. The name of this library is
normally the same as that of your user profile. In this section, we will create another library and
use this library as an example throughout the manual. Note that you can use your default library,
i.e. the library that has the same name as that as your user profile, to store all your application
objects.
To create a library, type the CRTLIB ("Create Library") on a command line and press <F4>to
prompt on it. Type in the name of the library and enter a brief description for the library. Leave
the library type as *PROD (a production library is one that is used for normal processing).
Create Library (CRTLIB)
Type choices, press Enter.
Library . . . . . . . . . . . .
Library type . . . . . . . . . .
Text 'description' . . . . . . .
YOURLIB__
Name
*PROD____
*PROD, *TEST
Sample_Library__________________
F3=Exit
F4=Prompt
F5=Refresh
F13=How to use this display
F10=Additional parameters
F24=More keys
F12=Cancel
Press <Enter>. You should see a message at the bottom of the screen saying "Library ... created".
If you see the message "Library ... already exists", it means that some other user already has a
library by the same name. Note: All libraries are on the same "level" with only QSYS above
them. If you get this message, try another name for the library. Other commands that operate on
libraries are:
F4=Prompt
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
F5=Refresh
SRCFILE___
Name
YOURLIB___ Name, *CURLIB
92_______
Number
*NONE_____
Name, *NONE, *FILE
Sample_Source_File___________________
F10=Additional parameters
F12=Cancel
F24=More keys
Library Lists
You may have noticed in the previous screen that the "Library" field defaults to the value
*CURLIB, meaning the current library. The current library is tied closely to the concept of a
library list. Before we discuss what the current library is, we first explain what a library list is. A
library list is similar in concept to the "PATH" in Unix and MS-DOS. It specifies which libraries
are to be searched and the order in which they are searched when the system looks for an object.
A library list is identified by the value *LIBL. A default library list is automatically created by
OS/400 for each job started by a user. Your default library, that is the library that has the same
name as that as your user profile, is automatically included in your library list. You can display
your library list by typing DSPLIBL and press <Enter> on a command line. The following is the
library list for the user "JOHNDOE".
Display Library List
System:
MKTAS400
Library
QSYS
QHLPSYS
QUSRSYS
JOHNDOE
QTEMP
QGDDM
QGPL
QMSU
QPAS
MBNLQ
ONLINE
F3=Exit
Type
SYS
SYS
SYS
CUR
USR
USR
USR
USR
USR
USR
USR
F12=Cancel
Text
System Library
*IN USE
JOHN DOE's default library
GENERAL PURPOSE LIBRARY
MSU generated commands and programs
Common Library for MBNLQ ..
COLLECTION - created by SQL
F17=Top
F18=Bottom
Note that you may not have all the libraries in the above list. As you can see, a library list is
divided into three parts:
system portion
which consists of the libraries that are required to run system functions
current library
which by default, is the library that has the same name as your user profile (in this case,
the library "JOHNDOE"). The current library is the first user library that is searched
before the rest of the user libraries in the list.
user portion
which consists of libraries that holds user objects. Some user libraries, such as QTEMP,
QGPL, and QGDDM come with the system while others are locally supplied. In addition,
the user can create their own libraries and add them to their library list.
If a user does not specify a library name when requesting an operation on an object, the libraries
in the library list are searched for the object (starting with the system libraries, the current
library, and the user libraries). For example, assume that the user "JOHNDOE" has an executable
program (*PGM object) called "TESTPROG" in the library "YOURLIB". User "JOHNDOE"
wants to run the program (using the CALL command) and issues the command CALL TESTPROG.
A message will appear stating that the program is not found in the library list. This is because
"YOURLIB" is currently not in the library list. If, however, "TESTPROG" is qualified by
"YOURLIB" as CALL YOURLIB/TESTPROG then the program can be found and executed.
To add a library to the library list, type the "Add Library List Entry" (ADDLIBLE) command,
followed by the library name (or prompt on the command) ADDLIBLE YOURLIB.
If "JOHNDOE" now issues the the unqualified CALL command, the program can now be
located and executed since the library that contains the program is now in the library list. You
can edit your library list using the EDTLIBL command and remove a library list entry using the
RMVLIBLE command. "YOURLIB" can be made the current library by typing CHGCURLIB
YOURLIB.
Some commands automatically default to the current library (*CURLIB), such as the
CRTSRCPF command. Note, however, that both commands (ADDLIBLE and CHGCURLIB)
are only effective for a particular session. Next time, when "JOHNDOE" signs on, "YOURLIB"
will no longer be in their library list and hence, no longer the current library. In the section
"Steps in Developing a Program", we will create an "initial program" that will automatically run
these commands when a user signs on the system.
Starting PDM
PDM may either be started using the command STRPDM (for Start PDM,) which will produce a
menu of options for the level on which the user wishes to work (libraries, objects, or members,)
or using one of three commands which indicate the level at which the user would like to work:
8
.
.
.
.
.
.
.
.
F3=Exit F4=Prompt
F24=More keys
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
F5=Refresh
*PRV______
*ALL______
*ALL______
*ALL______
F12=Cancel
*PRV,
*PRV,
*PRV,
*PRV,
name, *CURLIB
name, *generic...
*ALL, *ALRTBL, *AUTL..
attribute, *generic...
The *PRV value on the "Library" field indicates that the default is to work on the library the user
last worked with. These may be replaced with the name of a specific library. The "Object" and
"Object type" options allow the user to limit which objects will be displayed. Type WRKOBJPDM
and prompt with <F4>.
Work with Objects Using PDM (WRKOBJPDM)
Type choices, press Enter.
Library . . . .
Object . . . . .
Object type . .
Object attribute
.
.
.
.
F3=Exit F4=Prompt
F24=More keys
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
F5=Refresh
.
.
.
.
YOURLIB___
*ALL______
*ALL______
*ALL______
F12=Cancel
*PRV,
*PRV,
*PRV,
*PRV,
name, *CURLIB
name, *generic*...
*ALL, *ALRTBL, *AUTL..
attribute, *generic...
The screen resulting from command WRKOBJPDM, with the library specified as YOURLIB,
and *ALL on the other options, is shown below.
Work with Objects Using PDM
Library . . . . .
YOURLIB___
Object
SRCFILE
Type
*FILE
Position to . . . . . .
__________
Position to type . . . . __________
4=Delete
9=Save
Attribute
PF-SRC
5=Display
10=Restore
7=Rename
11=Move ...
Text
Sample Source File
Bottom
Parameters or command
===> ________________________________________________________________
F3=Exit
F9=Retrieve
F4=Prompt
F10=Command entry
F5=Refresh
F23=More options
F6=Create
F24=More keys
Presently, there should be just one object in the library, the source physical file "SRCFILE" that
you have just created.
PDM Options
Options are displayed across the top of the screen (for a list of all the options available in PDM,
see Table 1 at the end of this section.) Each option is an action which may be performed on an
object by placing its number on the "Opt" line next to the object and pressing the < Enter> key.
This method of specifying actions on a form listing the objects available is consistent throughout
PDM.
There are two important special features which this method of specifying actions offers: First,
the options support the prompting facility, and second, multiple objects may be operated on in
succession. To use the prompting facility, simply press <F4> while an option number is on one
of the "Opt" lines. PDM will present the prompt screen for the command associated with that
option number. Multiple objects may be operated on sequentially by placing numbers on more
than one Opt line. For example, assume we have two source files in "YOURLIB". You can type
"5" (Display) against one and type "7" (Rename) against the other. Pressing <Enter> causes
PDM to process each option in turn.
If the item is of type *FILE, go to the WRKMBRPDM display for that file (there are
different types of WRKMBRPDM displays for source and data files.)
If the item is of type *OUTQ, go to the "Work With Output Queue" display, allowing the
user to work with spooled files.
10
If the item is of type *PGM, present a display allowing the user to call the program,
change its attributes, etc. (programs may also be called from the WRKOBJPDM screen
by using the 16 option.)
When this method of changing levels is used, pressing <Enter> or <F12> (cancel) with no
options on the screen returns to the previous level.
. . . . . .
SRCFILE___
Library . . . .
YOURLIB___
Position to
. . . . __________
3=Copy
4=Delete
8=Display description
Opt Member
Type
(No members in file)
5=Display
6=Print
9=Save 13=Change text ...
Text
Parameters or command
===> ________________________________________________________________
F3=Exit
F9=Retrieve
F4=Prompt
F10=Command entry
F5=Refresh
F23=More options
F6=Create
F24=More keys
Presently, there are no members in "SRCFILE". Let's create a member. To do that, press <F6>
(Create). This will automatically invoke the SEU editor. Enter the name of the new source
member and for its source type, enter "TXT" (i.e. the source member will contain only plain
text). Press <Enter> .
Start Source Entry Utility (STRSEU)
11
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
F3=Exit F4=Prompt
F24=More keys
F5=Refresh
F12=Cancel
You will now be inside the SEU editor. For now, press <F3> to quit and type "Y" in the
"Change/Create member" field to save the source member. Later on, in the section on SEU we
will use this source member. On return to the WRKMBRPDM screen, you will notice that
"SRCMBR" is now in "SRCFILE".
The "Work with Members using PDM" screen can be accessed directly using the
WRKMBRPDM command. Type this command and press <F4> to prompt on it. To work with
the member that we have just created, enter the names of the library and file as shown below. If
you have many members in your file, you can use the "Member" and/or "Member Type" fields to
narrow down the number of members to work with.
Work with Members Using PDM (WRKMBRPDM)
Type choices, press Enter.
File . . . . . . . . . . .
Library . . . . . . . .
Member . . . . . . . . . .
Member type . . . . . . .
F3=Exit
F4=Prompt
F24=More keys
.
.
.
.
.
.
.
.
F5=Refresh
.
.
.
.
SRCFILE___
YOURLIB___
*ALL______
*ALL______
F12=Cancel
*PRV,
*PRV,
*PRV,
*PRV,
name
name, *LIBL, *CURLIB
name, *generic...
type, *generic...
Table 1: Options in PDM (Some options may not be valid at some levels.)
2: Change
12
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
25:
Copy
Delete
Display
Print
Rename
Display Descrip.
Save
Restore
Move
Work With
Change Text
Compile
Copy File
Run
Change Using SDA
Change Using DFU
Find String
Duplicate an object
Remove an object from storage
Display the contents of an object
Copy a source member to an output queue
Change an object's name
Show summary information about an object
Save an object to offline storage
Retrieve an object from offline storage
Move an object to another library
Perform operations on the contents of an object
Change the text description line for an object
Compile a source physical file member
Copy a *FILE object (has special options)
Run an object of type *PGM
Change a screen design (in a PF-SRC) using SDA
Use DFU to change a PF-DTA member
Find a string of characters in an object
Help
Exit
Prompt
Refresh
Create
Retrieve
Command Entry
Display Toggle
Cancel
Repeat
Source Type Toggle
Sort
User Options
Subset
Change Defaults
Print List
More Options
More Keys
Command Structure
First, let's consider the command name. A command is made made up of two components:
1. a VERB and
13
2. a SUBJECT. The verb consists of three characters and is the "action" component of the
command. Some common verbs and their meanings are shown below:
o ADD - Add Item
o CHG - Change
o CPY - Copy
o CRT - Create
o DLT - Delete
o DSP - Display item
o END - Stop a program which was started with a STR
o GRT - Grant
o MOV - Move
o RMV - Remove item
o RST - Restore
o RTV - Retrieve
o RVK - Revoke
o SET - Set
o SND - Send
o STR - Start (a program or utility)
o WRK - Work with
The subject component of the command specifies the item that the verb acts on. Some examples
of verb/subject combinations are:
CL commands can be found in several ways. The command GO CMDxxx can be used to get a
menu of commands related to xxx (where xxx can be a verb or subject). Another way of finding
commands is to press <F4> on any command line. This will bring up the "Command Grouping
Menu" where each option represents a group of related commands. The first option SLTCMD
("Select Command by Name") can be used to obtain a list of commands using a wildcard
character (e.g. SLTCMD CR* will list all commands starting with CR).
Parameters
A CL command can have zero, one, or more parameters. A command may have some parameters
that are required and some that are optional. A system-defined default value (prefixed by "*") is
usually assigned to an optional parameter if the user does not specify a value for it.
So far in this manual, we have been using the <F4> prompt facility for specifying parameters.
Another way of specifying parameters is the free format or command line method. You may
want to use this method if you remember exactly what parameter information is needed for a
command. Using this method, parameters can be specified in:
14
1. keyword form,
2. positional form, or
3. a combination of both.
A parameter that is specified in keyword form will have a keyword followed immediately by a
value (or list of values). For example, WRKOBJPDM LIB(YOURLIB) OBJ(SRCFILE) There must
not be any blanks between the keyword and the left parenthesis. Parameters in keyword form can
be specified in any order.
In the positional form, parameters are specified without keywords. The parameter values must be
positionally matched with the keywords in the parameter set for that command. The above
example can be specified in positional form as follows WRKOBJPDM YOURLIB SRCFILE.
Positional parameters are often limited to the first three or four parameters. If you do not want to
specify a value for one of the parameters, the system-defined value, *N, can be entered in the
position of that parameter. For example, the following command will display all objects of type
*FILE in the library YOURLIB. WRKOBJPDM YOURLIB *N *FILE *N will map to the default
value for that parameter, which in this case is *ALL. Note that when using the WRKMBRPDM
command, the file name and library name fields are actually one parameter (a file name plus a
library qualifier). If the reference is to a file in a specific library, the file name must be qualified
with a slash, "/", character in both keyword and positional forms WRKMBRPDM YOURLIB/SRCFILE
SRCMBR WRKMBRPDM FILE(YOURLIB/SRCFILE) MBR(SRCMBR)
If only the file name is specified, as in the following statement WRKMBRPDM SRCFILE the library
qualifier will default to the library list (*LIBL).
A CL command can use a combination of both positional and keyword parameters, for example
WRKMBRPDM YOURLIB/SRCFILE MBRTYPE(TXT). Note that the "Member" parameter, which is in
between the second and third parameters in the parameter set, is omitted. One restriction of this
mixed form of specifying parameters is that positional parameters cannot follow keyword
parameters. For example, the following is invalid WRKOBJPDM LIB(YOURLIB) SRCFILE.
Another tool is the Source Entry Utility (SEU) that offers a full screen editor providing syntax
checking of source statements. PDM is one tool that may be used to access the SEU.
15
In this SEU tutorial, we will use the source member we created in the previous section.
Edit
SRCMBR
'''''''
'''''''
'''''''
'''''''
'''''''
'''''''
'''''''
****************** End of data ***********************************
F3=Exit
F10=Top
F4=Prompt
F11=Bottom
F5=Refresh
F24=More keys
If you press <Enter> without typing anything, the screen readjusts as shown:
Columns . . . .:
1 80
SEU==> _______________________________________________________
FMT **
Edit
SRCMBR
F3=Exit
F10=Top
F4=Prompt
F11=Bottom
F5=Refresh
F24=More keys
Type I (for insert) on the first line as shown and press <Enter> .
16
Columns . . . .:
80
Edit
SEU==> _______________________________________________________
FMT **
SRCMBR
Now, you may start typing in the desired text. Below, we show a sample TEXT document that
will be used in the next section for illustrating the use of various SEU line commands.
Columns . . . .:
80
Edit
SEU==> _________________________________________________________
SRCMBR
FMT **
Notice the sequence numbers of records at the extreme left. The sequence number field of a
record is used to specify the line commands. For more information on line commands see 'Using
SEU line commands'.
To save the current member and exit SEU follow the following procedure 'Exiting the Editor.'
. . . . . . .
17
Y=Yes, N=No
Member . . . . .
File . . . . . .
Library . . . .
Text . . . . . .
Resequence member
Start . . . . .
Increment . . .
Print member . . .
Return to editing .
Go to member list .
F3=Exit
.
.
.
.
.
.
.
.
.
.
F5=Refresh
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
SRCMBR____
Name
SRCFILE___
Name
YOURLIB___
Name
Description_for_the_member._____
Y
Y=Yes, N=No
0001.00___
0000.01 - 9999.99
01.00____
00.01 - 99.99
N
Y=Yes, N=No
N
Y=Yes, N=No
N
Y=Yes, N=No
F12=Cancel
If you wish to save the changes you have made, you may simply press < Enter> .
The default values supplied for most of the options above are self-explanatory. However, note
the following:
If you have decided not to quit the editor, press <F12> to cancel the exit display. This
returns you back to the editing mode.
The default value for 'Change/create member' is Y, if the member is modified, otherwise
N. Type N in this field only if you do not want to save changes made to your member.
The default value for 'Return to editing' option is N, if your member did not have any
syntax errors. However, if syntax errors do persist, the system supplies Y in this field and
returns back to the editing mode ( unless you explicitly type N and force it to exit ).
Use the command WRKMBRPDM as explained in the previous section, reach the 'Work
with members using PDM' display.
Use the tab keys to position the cursor at the desired member, and type option 2. The
screen for editing that member will show up.
For example, to edit the member SRCMBR created before, type WRKMBRPDM YOURLIB/SRCFILE
on any command line, and press < Enter> . From the "Work with members using PDM" display,
type option 2 in front of member SRCMBR and press <Enter> . The edit display for this member
is shown:
18
Columns . . . .:
71
Edit
YOURLIB/SRCFILE
F4=Prompt
F11=Bottom
F5=Refresh
F24=More keys
Inserting a line
To insert a line after a particular record, type I (insert) on the sequence number field of that
record, and press <Enter> .
*************** Beginning of data ********************************
I001.00
0002.00
0003.00
0004.00
0005.00
0006.00
0007.00
0008.00
0009.00
0010.00
THIS
IS
TEXT
DOCUMENT.
Second Block.
Text for second
Second Block.
block ...
F4=Prompt
F11=Bottom
F5=Refresh
F24=More keys
The screen adjusts as shown below. Type in the line to be inserted and press <Enter> .
Columns . . . .:
1 71
Edit YOURLIB/SRCFILE
SEU==> ________________________________________________________
19
SRCMBR
FMT CB
......-A+++B+++++++++++++++++++++++++++++++++++++++++++++++++++++ +
*************** Beginning of data ********************************
0001.00
THIS IS A TEXT DOCUMENT.
'''''''
PROGRAM-ID.
SAMPLE.
0002.00
0003.00
Begin First Block.
0004.00
Text for the first block ...
0005.00
End First Block.
0006.00
0007.00
Begin Second Block.
0008.00
Text for second block ...
0009.00
End Second Block.
0010.00
****************** End of data ***********************************
F3=Exit
F10=Top
F4=Prompt
F11=Bottom
F5=Refresh
F24=More keys
Copying a line
To copy the "Begin First Block" line to the end of the program, type C (copy) in the sequence
number field, and press Enter. Note the message on the top that indicates a pending Copy line
command.
Columns . . . .:
1 71
Edit YOURLIB/SRCFILE
SEU==> _________________________________________________________
SRCMBR
FMT CB
......-A+++B++++++++++++++++++++++++++++++++++++++++++++++++++++++
*************** Beginning of data ********************************
0001.00
THIS IS A TEXT DOCUMENT.
0001.01
It illustrates the use of SEU line commands.
0002.00
C
Begin First Block.
0004.00
Text for the first block ...
0005.00
End First Block.
0006.00
0007.00
Begin Second Block.
0008.00
Text for second block ...
0009.00
End Second Block.
0010.00
****************** End of data ***********************************
Type A (after) on the last line as shown, and press Enter. This results in the pending line to be
copied after the line you have indicated.
Columns . . . .:
1 71
Edit
YOURLIB/SRCFILE
SEU==> __________________________________________________________ SRCMBR
FMT CB
20
......-A+++B++++++++++++++++++++++++++++++++++++++++++++++++++++++
*************** Beginning of data********************************
0001.00
THIS IS A TEXT DOCUMENT.
0001.01
It illustrates the use of SEU line commands.
0002.00
C
Begin First Block.
0004.00
Text for the first block ...
0005.00
End First Block.
0006.00
0007.00
Begin Second Block.
0008.00
Text for second block ...
0009.00
End Second Block.
A010.00
****************** End of data ************************************
The program looks as shown below, after the copy. To move a single line, use the command M
(move) and follow the procedure as explained above for copy.
0001.00
0001.01
0002.00
0003.00
0004.00
0005.00
0006.00
0007.00
0008.00
0009.00
0010.00
0011.00
Second Block.
Text for second
Second Block.
block ...
Deleting a line
To delete a line, type D (delete) in front of it and press <Enter> . The line that was just copied
may be deleted as shown below:
0001.00
0001.01
0002.00
0003.00
0004.00
0005.00
0006.00
0007.00
0008.00
0009.00
Second Block.
Text for second
Second Block.
21
block ...
0010.00
D011.00
Block Move
To move a block, type MM at the beginning and the end of the block, and press <Enter> . Now,
the target for the move has to be specified. The Block Move is illustrated below; the first block
of text being moved after the second one.
0001.00
0001.01
0002.00
MM
0004.00
0005.00
MM
0007.00
0008.00
0009.00
0010.00
Second Block.
Text for second
Second Block.
block ...
Type A on the last line to move the block to the end of the program.
0001.00
0001.01
0002.00
MM
0004.00
0005.00
MM
0007.00
0008.00
0009.00
A010.00
Second Block.
Text for second
Second Block.
block ...
0001.00
0001.01
0002.00
22
0007.00
0008.00
0009.00
0010.00
0011.00
0012.00
0013.00
0014.00
Begin
End
Second Block.
Text for second
Second Block.
block ...
Block Copy
Enclose the block to be copied within CC commands, and specify the target. The block copy
resembles the block move explained above. Note below, that B is specified as the target, to copy
the block before the indicated line.
0001.00
0001.01
0002.00
CC
0008.00
0009.00
CC
0011.00
0012.00
0013.00
B
Second Block.
Text for second
Second Block.
block ...
Block Delete
To delete a block, enclose it within DD commands and press <Enter> . The block that was just
copied may be deleted as shown:
0001.00
0001.01
0002.00
0007.00
0008.00
0009.00
0010.00
0011.00
0012.00
0013.00
DD
0013.02
0013.03
Second Block.
Text for second
Second Block.
block ...
23
DD
0014.00
****************** End of data ***********************************
The source member looks as follows, after our experimentation with the above line commands:
0001.00
0001.01
0002.00
0007.00
0008.00
0009.00
0010.00
0011.00
0012.00
0013.00
0014.00
Second Block.
Text for second
Second Block.
block ...
To get a complete list of commands for SEU place the cursor on the sequence number list and
press the help key.
SEU Commands
SEU commands are entered in the "SEU==>" field at the top of the screen.
FIND
Search for an occurrence of a character string. If the string contains embedded blanks,
apostrophes, or quotation marks, it should be enclosed in quotation marks. Several direction
parameters are available: N (Next), P (Previous), F (First), L (Last), and A (All). The scope of
the search can be specified using search parameters: X (excluded records) and NX (non-excluded
records). The syntax of FIND is FIND string [N,P,A,F,L] [X,NX] [column parameter].
Examples:
F XYZ
F 'hello there'
F *ERR A find all syntax errors
F "'XYZ'"
Use the F16 "Repeat Find" key to find the next occurrence of a string.
CHANGE
24
Find all occurrences of a character string and replace it with another string. The syntax is CHANGE
fstring cstring [N,P,A,F,L] [X,NX] [column parameter]
TOP
Go to the first page of the work screen.
BOTTOM
Go to the last page of the work screen.
SAVE
Save changes and continue editing. SAVE [ [ [ library/ ] file ] member ]
FILE
Save changes and exit from edit session. FILE [ [ [ library/ ] file ] member ]
CANCEL
Cancel session and exit session.
SET
See the IBM SEU manual for more information.
25
Ln=Shift data n chars left Shift data in this record n character positions to the left without
losing data.
LL=Shift block 1 char to the left Shift data defined by the boundary between and
including the two LL line commands one character position to the left without losing
data.
LLn=Shift block n chars to the left Shift data defined by the boundary between and
including the LLn and LL line commands n character positions to the left.
M=Move a line Move a line to a specified target.
Mn=Move n lines Move the current line and the following n-1 lines to a specified target.
MM=Block Move Move all records between and including the boundaries defined by the
MM line commands to a specified target.
O=Overlay Overlay the current line with the first line defined by the move, copy, or copy
repeated line command.
On=Overlay n lines Overlay this line and the following n-1 lines with the first n lines
defined by the move, copy, or copy repeated line command.
OO=Block overlay Overlay all the records between and including the boundaries defined
by two OO line commands with the lines defined by the move, copy, or copy repeated
line command.
P=Display prompt Type P to display this line in a prompt.
R=Shift data 1 char right Shift data in the current record one character position to the
right without losing data.
Rn=Shift data n chars right Shift data in the current record n character positions to the
right without losing data.
RR=Block shift 1 char to the right Shift data defined by the boundary between and
including the two RR line commands one character position to the right without losing
data.
RRn=Block shift n chars to the right Shift data defined by the boundary between and
including the RRn and RR line commands n character positions to the right, without
losing data.
RP=Repeat line Repeat the current line once before the following line.
RPn=Repeat line n times Repeat the current line n times before the following line.
RPP=Block repeat Repeat all lines defined by the boundary between the two RPP line
commands.
RPPn=Block repeat Repeat all lines defined by the boundary between the two RPP line
commands n times.
SF=Show first record Show the first record of the exclude group.
SFn=Show first n records Show the first n records of the exclude group.
SL=Show last record Show the last record of the exclude group
SLn=Show last n records Show the last n records of the exclude group.
W=Display member from column 1 Display the member beginning in column 1.
Wn=Display member from column n Display the member beginning in column n.
X=Exclude Exclude the current record from the display.
Xn=Exclude plus Exclude the the current record and the next n-1 records.
XX=Block Exclude Exclude all lines between the boundaries formed by the two XX line
commands.
+ (plus sign)=Roll member forward 1 line Roll the member forward one line.
27
Once the PF-SRC file has been created, work with the file by typing:
WRKMBRPDM FILE(ALIBRARY/QCLSRC)
Then create a source member called TEST in QCLSRC by pressing <F6> . This will start the
SEU editor. Enter TEST for the name of the source member, CLP for the source type (to see
what source types are available, put the cursor on the "Source type" field and press <F4> ), and a
brief description of the source member. Once you have entered all the necessary information,
press <Enter> . You will enter a SEU editing session. Type in the following program:
0002.00
0003.00
0004.00
0005.00
0006.00
0007.00
You can use the SEU line command, IP (insert line and prompt), to help you in selecting a CL
command. Also, note that CL programs are "free format" in that components of CL statements
28
do not have to be placed in particular columns on the screen (some source types, such as RPG,
are "fixed-format"; the IP line command can help enormously in coding such programs).
A CL program begins with the PGM command, which is optional if the CL program does not
receive any parameters. (Aside: If a CL program has a parameter named &MYVAR, the PGM
statement is coded as: PGM PARM(&MYVAR). The ampersand symbol, "&", denotes that
&MYVAR is a variable. In this case, &MYVAR will be used to hold the parameter's value.
Moreover, the variable &MYVAR has to be declared using the DCL command.) For more
information, the reader is referred to the IBM "CL Programmer's Guide" or the online education
modules: "AS/400 Control Language Programming" in the "Tutorial Support System" course,
and the modules "Creating a Control Language Program" and "How to Use Error Handling
Facilities" in the "Facilities and Implementation" course.
The second statement declares a CL variable called &OLDCURLIB. This variable will be used
to save the name of the existing current library. The variable will be used to hold a character
string with a maximum length of 10. Note that SEU provides syntax checking for CL programs.
Remove the parameters of DCL so that the statement contains only "DCL", and press <Enter> .
SEU will highlight that statement, indicating that there is a syntax error. SEU will not let you
exit an editing session that has syntax errors unless you explicitly specify that you want to exit in
the exit screen. Put the parameters back on the DCL statement.
The RTVJOBA command, on the third statement, is used to retrieve the name of the job's
existing current library, saving it in the variable &OLDCURLIB. The reason for this step will be
explained shortly.
The CHGCURLIB command, on the fourth statement, is used to make YOURLIB the new
current library (where "YOURLIB" is any existing library that you have access to). Notice that
we have intentionally introduced an error in this statement. We have mistakenly prefixed
YOURLIB with "&", that is we really want CHGCURLIB CURLIB(YOURLIB) instead of
CHGCURLIB CURLIB(&YOURLIB).
A name with "&" as its prefix denotes that it is a CL variable. This is an error because if we
intended &YOURLIB to be a variable, it must be declared in a DCL statement. Note that SEU
cannot detect this kind of error. This error will be detected during compilation.
The ADDLIBLE command, on the fifth statement, adds the name of the former current library
(which we saved in the variable &OLDCURLIB in the RTVJOBA statement) to the library list.
This step is needed if we want this library to stay on the library list. This is because when the
CHGCURLIB command is executed, the "old" current library will not be retained on the library
list. Hence, the need to use RTVJOBA to save the name of that library, and to add it back on the
library list using ADDLIBLE. The last statement, ENDPGM, indicates the end of the CL
program. Now, exit and save the program as it is (i.e. with the error).
Compiling a Program
29
In the "Work with Members using PDM" screen, enter option 14 to compile the member that
contain the CL source program. Option 14, in this case, will invoke the CRTCLPGM (Create CL
Program) command. Option 14 will invoke a different "create program" command for a different
source type (e.g. if the source type is CBL, it will invoke the CRTCBLPGM command). If you
prompt on the option (ie. press <F4> when you use option 14), you will see the following screen:
Create CL
Type choices, press Enter.
Program . . . . . . . . . . . .
Library . . . . . . . . . . .
Source file . . . . . . . . . .
Library . . . . . . . . . . .
Source member . . . . . . . . .
Generation severity level . . .
Text 'description' . . . . . . .
Program (CRTCLPGM)
> TEST
>
ALIBRARY
> QCLSRC
>
ALIBRARY
> TEST
29
*SRCMBRTXT
Name,
Name,
Name
Name,
Name,
0-29
*PGMID
*CURLIB
*LIBL, *CURLIB
*PGM
Additional Parameters
Replace program
. . . . . . . . > *YES
*NO, *YES
Bottom
F3=Exit
F4=Prompt
F5=Refresh
F13=How to use this display
F10=Additional parameters
F24=More keys
F12=Cancel
The "Program" field specifies the name of the *PGM object that will be created if the
compilation is successful. This name defaults to name of the source member. The "Library" field
specifies the library that will contain the *PGM object. The default is the library that contains the
source member. You can change these default values. Unless you want to rename the *PGM
object or put it in another library, accept the defaults.
On pressing <Enter> , you will see a message at the bottom of the screen saying that the
compilation job has been submitted to QBATCH, which is the job queue for batch jobs. If there
are no compilation errors, you will receive a message saying that the job completed normally.
Since there is an error in the above program, a message will return saying that the job has ended
abnormally, meaning there are compilation errors. Press <Enter>to continue.
30
200300400500* CPD0727 40
600700-
PGM
DCL
RTVJOBA
CHGCURLIB
Variable '&YOURLIB
ADDLIBLE
ENDPGM
* *
E N D
O F
S O U R C E
* * * *
*
5738SS1 V2R1M1
920306
Control Language
YOURLIB/TEST
Cross Reference
Declared Variables
Name
Defined
&OLDCURLIB
300
* CPD0791 00
Type
*CHAR
Length
10
References
400
600
E N D
O F
C R O S S
R E F E R E N C E
*
5738SS1 V2R1M1
920306
Control Language
YOURLIB/TEST
Message Summary
Total
99
2
Severity
0-9 10-19
1
20-29
30-39
40-49
50-59
60-69 70-79
0
80-89
0
900
Program TEST not created in library YOURLIB. Maximum error severity 40.
There are two errors in the listing (errors are marked with "*" in column 1): the first with a
severity of 40 and the second with severity of 0. The second error is only an information
message; it is not the cause of the compilation failure. The meaning of first error is evident; it is
the cause of the failure. You can use the DSPMSGD (Display Message Description) command to
get more information about a compilation error. For example, to get more details about the error
CPD0727 DSPMSGD RANGE(CPD0727) MSGF(QCPFMSG) where QCPFMSG is the system message
file and CPD0727 is the message ID. Let's go back to the source member and fix the problem.
Using SEU, edit the source member to remove the ampersand, "&", from YOURLIB. The
program should compile normally after this change. To make the situation more interesting, let's
introduce another type of error. In the ADDLIBLE statement, specify some library name that you
do not own or one that you are not authorized to use. In our example, we specify a nonexistent
library called DOGNAP, that is ADDLIBLE DOGNAP. The rest of the source remain the same as
before (except for removing the ampersand character). Compile the source member (you will
probably be asked if you want to delete the existing *PGM object. Respond with a "Y"). The
program should compile normally. The *PGM object will be created in the library that contains
your source file unless you specified otherwise.
Running a Program
Use the WRKOBJPDM command to work with the library that contain the *PGM object that
was created. Type 16 against the *PGM object to run/execute it. Alternatively, you can run the
program by using the CALL command (in fact, option 16 invokes the CALL command). If the
library that contains the *PGM object is in your library list, type CALL TEST on a command line.
If the library is not in your library list, you can still run the program by qualifying it with the
library name CALL ALIBRARY/TEST The example program used here does not take any input
parameters. But if you created a program that requires an input parameter(s), you can pass the
parameter value(s) by prompting on either the option 16 or the CALL command. If your program
takes more than one input parameter, type '+' on the "Parameters" field and press <Enter> . This
will bring another screen that allows you to enter multiple parameters. You can also us pass
parameters using the command line method. For example, CALL MYPROG PARM(parameter1
parameter2 ...)
F3=Exit
F12=Cancel
To find out the cause of the error, place the cursor on the message id (in this case CPF2110) and
press <F1>. You see a screen similar to the one below. The message text, in this case, indicated
32
clearly what the problem is, i.e. the library DOGNAP was not found. Sometimes you can obtain
additional messages by pressing <F10> to display messages in the job log.
Additional Message Information
Message ID .
Message type
Date sent . .
From program
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
:
:
:
:
CPA0701
INQUIRY
07/20/92
QCLXERR
Severity . . . . . .: 99
Time sent . . . . .: 14:00:05
Instruction . . . .: 0000
To program . . . . . . :
*EXT
Instruction . . . .: 0000
Message . . . . :
CPF2110 received by TEST at 600. (C D I R)
Cause . . . . . :
Control language (CL) program TEST inlibrary YOURLIB
detected an error at statement number 600. Message text for CPF2110 is:
Library DOGNAP not found.
Recovery . . . :
This inquiry message can be avoided bychanging the
program. Monitor for the error (MONMSG command) and perform error
recovery within the program. To continue, choose a reply value.
Possible choices for replying to message . . . . . . . . . . . . . . . :
C -- Cancel the CL program.
D -- Dump the CL program variables and cancel the CL program.
I -- Ignore the failing command.
More...
Press Enter to continue.
F3=Exit
F12=Cancel
Again, the DSPMSGD ("Display Message Description") command can be used to obtain more
information about the error. For example, DSPMSGD RANGE(CPF2110) MSGF(QCPFMSG) where
QCPFMSG is the system message file and CPF2110 is the message ID.
Press <Enter> to cancel the program. Go back to the source member, fix the error, and
recompile. The next time you run the program, it should run without any problems. Type
DSPLIBL to check whether the library has been added and whether it has been made the current
library.
33
using the option 14, press < F4>to prompt on it. Specify your default library as the library where
the *PGM object is to be stored.
Object authority is used to control access to an object including the ability to see an object
description, control read and write access to an object, or control an object's existence.
*OBJMGT
provides the authority to specify the security (grant/revoke object authority), move or
rename the object, and add members to database file.
*OBJEXIST
provides the authority to control the object existence and ownership. The user with this
authority can delete, save, and transfer ownership of the object.
*OBJOPR
provides the authority to look at the description of an object and use the object as
determined by the data authority that the user has to the object.
Data Authorities
Data authority is the authority to access data contained in an object, for example records in a
database file. This includes the ability to view, update, add, or delete records.
*READ
provides the authority to get the contents or an entry in an object or to run a program.
*ADD
provides the authority to add entries to an object.
*UPD
provides the authority to change the entries in an object.
*DLT
provides the authority to remove entries from an object.
Combinations of Object and Data Authorities
34
These are keywords, each representing predefined combination of object and data authorities.
They reduce the time required to assign specific authorities to users.
*ALL
allows the user to perform all authorized operations (object and data) on the object.
*CHANGE
provides *OBJOPR authority and all data authority.
*USE
provides *OBJOPR authority and data read authority.
*EXCLUDE
authority prevents the user from accessing the object even if *PUBLIC is authorized.
In addition to these, users can create customized combinations of object and data authorities.
Name
Name, *LIBL, *CURLIB
*ALRTBL, *AUTL, *CFGL...
To see the detail screen as shown below, press <F11>. Note that the owner of "YOURLIB" has
*ALL authority on the object.
Edit Object Authority
Object . . . . . . . :
Library
. . . . . :
YOURLIB
Object type
QSYS
Owner
. . . . :
. . . . . . . :
*LIB
JOHNDOE
35
. . . . . . . . . . . .:
*NONE
Object
User
JOHNDOE
*PUBLIC
Authority
*ALL
*EXCLUDE
F3=Exit
F5=Refresh
F11=Nondisplay detail
----Object-----
----------Data-----------
Opr
X
_
Read
X
_
Mgt
X
_
Exist
X
_
Add
X
_
Update Delete
X
X
_
_
Press <F6> to add a user to the list of users authorized to this object. Type in the name of the
user and *USE for the object authority. Press <Enter> to return to the previous screen. Notice
that *USE gives the user *OBJOPR and *READ authorities on "YOURLIB". (Note: If you want
to edit a specific authority, type "X" in the position relating to that authority to grant authority or
a space to delete that authority.)
Next, we need to allow the user access to the file "SRCFILE". Use EDTOBJAUT to edit the
authority on the file "SRCFILE". Type EDTOBJAUT OBJ(YOURLIB/SRCFILE) OBJTYPE(*FILE)
or use the prompt to fill in the parameters. Press <F6> to add the user to the authorization list
with *USE authority. This will allow them to do perform various operations on "SRCFILE"
including copying members from the file. To allow them to copy the entire file (i.e.
"SRCFILE"), *OBJMGT must be granted. To do that, type "X" under "Mgt" in the detail screen
for that user. Note that the object authority changes from *USE to USER DEF (meaning a
customized authority).
36
Name
Name, *LIBL, *CURLIB
Character value
Address
. . . . . . . . . . . > MKTAS400__
+ for more values
_
Member . . . . . . . . . . . . . > SNDMBR____
Character value
Name, *FIRST
Additional Parameters
To file type . . . . . . . . . .
*FROMFILE_
*FROMFILE, *DATA
VM/MVS class . . . . . . . . . .
Send priority . . . . . . . . .
F3=Exit F4=Prompt
F24=More keys
F5=Refresh
A
*NORMAL__
F12=Cancel
A, B, C, D, E, F, G, H, I
*NORMAL, *HIGH
F13=How to use this display
The receiver will have to run the "Work with Network Files" (WRKNETF) command to inspect
their network files.
Work with Network Files (WRKNETF)
User . . . . . . . . . . . . :
User ID/Address . . . . . . :
RCV_______
RCV_______
MKTAS400
F3=Exit
F4=Prompt
F12=Cancel
F5=Refresh
F9=Retrieve
F11=Display type/records
Type 1 in the "Opt" blank in front of the network file to receive and press <F4>to prompt. The
following screen will show up.
Receive Network File (RCVNETF)
Type choices, press Enter.
From file . . . . . . . .
To data base file . . . .
Library . . . . . . . .
Member to be received . .
To member . . . . . . . .
.
.
.
.
.
.
.
.
.
.
F3=Exit
F4=Prompt
F5=Refresh
F13=How to use this display
F10=Additional parameters
F24=More keys
37
F12=Cancel
Fill in the "To data base file", "Library", and "To member" blanks with the appropriate receiving
file, library and member names and press <Enter>. Note that the receiving file must already exist
before trying to receive members.
Printing Procedure
When programs on the AS/400 produce output intended to be printed the material does not go
directly to the printer. Instead the output is bundled together with other output in an object called
an "output queue" (*OUTQ). These sub objects are called "spooled files." To send these spooled
files to a printer, first you must work with your output queue; then, change the attributes of the
desired spooled file, specifying the correct print device name.
There are several ways by which spooled files are generated. Here are some:
From the WRKMBRPDM display, option 6 in front of the desired member will generate
a spooled file that is your program member.
Pressing the Print Screen key (<Shift><Print Screen>on the PS/2 running PC-Support or
<Ctrl>p on the ASCII connections) will generate a spooled file of the current display.
Note that if you do a print screen, you will have to press the <Reset>key to clear the
message at the bottom of the screen in order to continue your session.
The system automatically generates spooled files in some cases like presenting job log,
information on processed records for a database file and abnormal job end conditions.
Width/Paper
132 Col. 11"
132 Col. 11"
132/80 8.5"
Printer Type
Line Printer
Line Printer
Dot Matrix
38
Location
Morris Hall
MSU ACC
MSU ACC Lab Rooms
If "Save file" is changed from "*NO" to "*YES" the spooled file will not be deleted after the file
has been printed.
Typing 3 in the option field of spooled file in the WRKSPLF screen will keep the spooled file
from printing if placed on a printer writer and change the status to *HLD.
Typing 4 in the option field of spooled file in the WRKSPLF screen will delete the spooled file
from your output queue. Spooled files should be deleted as soon as they are not needed to reduce
clutter in your output queue.
Typing 5 in the option field of spooled file in the WRKSPLF screen will allow you to view your
spooled file.
Typing 6 in the option field of spooled file in the WRKSPLF screen will will release a file that is
held to become available to print and will change its status to *RDY.
If you printed to VAXPRTS2, your printouts can be picked up in the ACC printer area at any
time. VAXPRTS2 is a printer that is connected to VAX1. The printer will never say it is started
although it actually is. Normally you will not be authorized to print to writer PRT01. This printer
is the system printer.
40