More As400 Info(1)

Embed Size (px)

Citation preview

  • 8/16/2019 More As400 Info(1)

    1/40

    1

    Using the Prompt Facility

    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 ofthe screen. You can type the command name only, and press 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. Forexample, type SNDMSG on any command line and press . The following prompt display is

    shown:

    Send Message (SNDMSG)

    Type choices, press Enter.

    Message text . . . . . . . . . . ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

    To user profile . . . . . . . . . __________ Name , *SYSOPR, *ALLACT...

    F3=Exit F4=Prompt F5=Refresh F10=Additional parameters F12=cancelF13=How to use this display F24=More keys

    To execute the command, supply the required information for Message text and user profile and

     press . Most of the parameters used on commands have default values that are used if noother value is specified. You may change the default values if you desire to do so.

    If = 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.

    Organization of OS/400 Objects

    Objects

    On the AS/400, everything that can be stored or retrieved is stored in an object. Examples of

    objects are libraries, files, executable programs, queues, and more. Objects share some common

    attributes such as name, type, size, description, date created, and owner. The concept of an object

  • 8/16/2019 More As400 Info(1)

    2/40

    2

    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 ofQSYS, 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 files2.  logical files.

    A physical file contains actual data stored on the system. It has a fixed-length record format. Inthis 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 fileto 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 thesystem). 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

  • 8/16/2019 More As400 Info(1)

    3/40

    3

    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 attributesappropriate 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 anobject. 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 (ProgramDevelopment 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 (wewill explain how to get to this screen in the section on PDM):

    Work with Members Using PDM

    File . . . . . . SRCFILE___Library . . . . YOURLIB___ Position to . . . . __________

    Type options, press Enter.

    2=Edit 3=Copy 4=Delete 5=Display 6=Print7=Rename 8=Display description 9=Save 13=Change text ...

    Opt Member Type Text__ NAMEEMP LF Sample DDS Source for a Logical File__ CLPROG CLP Sample Control Language Source Program__ RPGPROG RPG Sample RPG Source Program__ EMPMAST PF Sample DDS Source for a Physical File__ SCRNMBR DSPF Sample DDS Source for a Display File

    Parameters or command===> ___________________________________________________________

    F3=Exit F4=Prompt F5=Refresh F6=CreateF9=Retrieve F10=Command entry F23=More options 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

    http://krypton.mnsu.edu/~aq5097xt/web/as400/intref.html#CRTSRCPFhttp://krypton.mnsu.edu/~aq5097xt/web/as400/intref.html#CRTSRCPFhttp://krypton.mnsu.edu/~aq5097xt/web/as400/intref.html#CRTSRCPFhttp://krypton.mnsu.edu/~aq5097xt/web/as400/intref.html#CRTSRCPF

  • 8/16/2019 More As400 Info(1)

    4/40

    4

     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 PF-

    SRC 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-SRCfile, as in the above example.

    In a data physical file (PF-DTA), the member(s) contains data for use by programs. Normally, aPF-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 "Workwith 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 thesystem using DDS. When the DDS source is compiled, a *FILE object with the attribute LF-

    DTA 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 deviceor 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 itis 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.

    Other Object Types

    A program object (*PGM) is a compiled program. The attribute for a *PGM object indicates the

    language the program was written in. For instance, when a COBOL source program is compiled,it produces an object with a type of *PGM with the attribute CBL.

    An important object type on the AS/400 is the output queue (*OUTQ). On the AS/400, wheneversomething is printed, the output goes to an output queue and it stays there as a spooled file. A

    spooled files, like a member, is not an object itself but a subset of an object. The spooled file

    stays in the output queue until it is directed to a printer or removed. An output queue has already

     been created for you with the creation of your user profile. The name of the output queue is

  • 8/16/2019 More As400 Info(1)

    5/40

    5

    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 Logicalfile file(PF) (LF-DTA)| ^ contains

    .------^-----. Member(s)

    | | [Reorginized data]Source DataPhysical PhysicalFile File

    (PF-SRC) (PF-DTA)| |

    contains | | contains| |

    Member(s) Member(s)[Program source] [Actual Data]

    Creating a LibraryA 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 anduse 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.

  • 8/16/2019 More As400 Info(1)

    6/40

    6

    To create a library, type the CRTLIB ("Create Library") on a command line and press 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 . . . . . . . . . . . . YOURLIB__ NameLibrary type . . . . . . . . . . *PROD____ *PROD, *TESTText 'description' . . . . . . . Sample_Library__________________

    F3=Exit F4=Prompt F5=Refresh F10=Additional parameters F12=CancelF13=How to use this display F24=More keys

    Press . 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 alibrary 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:

      DSPLIB (Display Library)

      DLTLIB (Delete Library)

      WRKLIB (Work with Library).

    Creating a Source Physical File Now, let's create a source physical file in the library that we have just created. To create a source physical file, type CRTSRCPF and press to prompt on it. Supply the names for the source

    file and the library that will hold it. Below, we show the display for creating a source file called"SRCFILE" in the library "YOURLIB". Press < Enter> and you should see the message "File ...

    created in library ..." at the bottom of your screen.

    Create Source Physical File (CRTSRCPF)

    Type choices, press Enter.

    File . . . . . . . . . . . . . . SRCFILE___ NameLibrary . . . . . . . . . . . YOURLIB___ Name, *CURLIB

    Record length . . . . . . . . . 92_______ NumberMember, if desired . . . . . . . *NONE_____ Name, *NONE, *FILEText 'description' . . . . . . . Sample_Source_File___________________

    F3=Exit F4=Prompt F5=Refresh F10=Additional parameters F12=Cancel

  • 8/16/2019 More As400 Info(1)

    7/40

    7

    F13=How to use this display 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. Alibrary 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 byOS/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 on a command line. The following is the

    library list for the user "JOHNDOE".

    Display Library List

    System: MKTAS400

    Type options, press Enter.

    5=Display objects in library

    Opt Library Type Text__ QSYS SYS System Library__ QHLPSYS SYS__ QUSRSYS SYS *IN USE

    __ JOHNDOE CUR JOHN DOE's default library__ QTEMP USR__ QGDDM USR__ QGPL USR GENERAL PURPOSE LIBRARY__ QMSU USR MSU generated commands and programs__ QPAS USR__ MBNLQ USR Common Library for MBNLQ ..__ ONLINE USR COLLECTION - created by SQL

    F3=Exit F12=Cancel 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 functionscurrent library

  • 8/16/2019 More As400 Info(1)

    8/40

    8

    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 librariesin 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 belocated 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.

    Using the Program Development Manager (PDM)

    The Program Development Manager (PDM) is a set of utilities under OS/400 designed to

    simplify the creation and development of software. It automates file and member creation,

    editing, compilation and program execution, and allows the programmer to manage their

    environment from a set of standard menus.

    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/16/2019 More As400 Info(1)

    9/40

    9

      WRKLIBPDM -- Work with libraries using PDM

      WRKOBJPDM -- Work with objects using PDM

      WRKMBRPDM -- Work with file members using PDM

    Work with Objects

    One of the most commonly used commands to start PDM is WRKOBJPDM. This allows the user

    to work with objects inside a library. Type WRKOBJPDM and press to prompt on it.

    Work with Objects Using PDM (WRKOBJPDM)

    Type choices, press Enter.

    Library . . . . . . . . . . . . *PRV______ *PRV, name, *CURLIBObject . . . . . . . . . . . . . *ALL______ *PRV, name, *generic...Object type . . . . . . . . . . *ALL______ *PRV, *ALL, *ALRTBL, *AUTL..Object attribute . . . . . . . . *ALL______ *PRV, attribute, *generic...

    F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this displayF24=More keys

    The *PRV value on the "Library" field indicates that the default is to work on the library the userlast 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 .

    Work with Objects Using PDM (WRKOBJPDM)

    Type choices, press Enter.

    Library . . . . . . . . . . . . YOURLIB___ *PRV, name, *CURLIBObject . . . . . . . . . . . . . *ALL______ *PRV, name, *generic*...Object type . . . . . . . . . . *ALL______ *PRV, *ALL, *ALRTBL, *AUTL..Object attribute . . . . . . . . *ALL______ *PRV, attribute, *generic...

    F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this displayF24=More keys

    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

  • 8/16/2019 More As400 Info(1)

    10/40

    10

    Library . . . . . YOURLIB___ Position to . . . . . . __________Position to type . . . . __________

    Type options, press Enter.2=Change 3=Copy 4=Delete 5=Display 7=Rename8=Display description 9=Save 10=Restore 11=Move ...

    Opt Object Type Attribute Text__ SRCFILE *FILE PF-SRC Sample Source File

    Bottom

    Parameters or command===> ________________________________________________________________

    F3=Exit F4=Prompt F5=Refresh F6=CreateF9=Retrieve F10=Command entry F23=More options F24=More keys

    Presently, there should be just one object in the library, the source physical file "SRCFILE" thatyou 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 while an option number is on one

    of the "Opt" lines. PDM will present the prompt screen for the command associated with thatoption 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 causes

    PDM to process each option in turn.

    More on PDM levels

    Moving down levels in PDM is accomplished using the "12" (Work With...) option. At theWRKOBJPDM screen, the action of this option depends on the file type. Placing a 12 on the line

    next to an item on this display will:

      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 theuser to work with spooled files.

  • 8/16/2019 More As400 Info(1)

    11/40

    11

      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 or (cancel) with no

    options on the screen returns to the previous level.

    Work with Members

    The WRKMBRPDM display is the bottom level of PDM. When working with a source physical

    file at this level, option 2 runs the STRSEU command to begin editing a member and 14 calls the

    compiler for a program of that type (if specific compiler options are needed, for instance the

    *DEBUG option to include debugging information in the program, remember that the promptingfacility may be invoked on any PDM option.) When working with a physical data file, the

    "2=change" option is no longer valid. However, the "18" option may be invoked to modify the

    file using DFU (Data File Utility).

    Type "12" against "SRCFILE" to work with it. The following "Work with Members using PDM"

    screen appears:

    Work with Members Using PDM

    File . . . . . . SRCFILE___Library . . . . YOURLIB___ Position to . . . . __________

    Type options, press Enter.

    2=Edit 3=Copy 4=Delete 5=Display 6=Print

    7=Rename 8=Display description 9=Save 13=Change text ...

    Opt Member Type Text(No members in file)

    Parameters or command

    ===> ________________________________________________________________

    F3=Exit F4=Prompt F5=Refresh F6=CreateF9=Retrieve F10=Command entry F23=More options F24=More keys

    Presently, there are no members in "SRCFILE". Let's create a member. To do that, press (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 .

    Start Source Entry Utility (STRSEU)

  • 8/16/2019 More As400 Info(1)

    12/40

    12

    Type choices, press Enter.

    Source file . . . . . . . . . . > SRCFILE___ Name, *PRVLibrary . . . . . . . . . . . > YOURLIB___ Name, *LIBL, *CURLIB, *PRV

    Source member . . . . . . . . . SRCMBR____ Name, *PRV, *SELECTSource type . . . . . . . . . . TXT_______ Name, *SAME, BAS, BASP, C...Text 'description' . . . . . . . Sample_Source_Member____________________

    Bottom

    F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this displayF24=More keys

    You will now be inside the SEU editor. For now, press to quit and type "Y" in the

    "Change/Create member" field to save the source member. Later on, in the section on SEU wewill 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 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. Ifyou 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 . . . . . . . . . . . . . . SRCFILE___ *PRV, name

    Library . . . . . . . . . . . YOURLIB___ *PRV, name, *LIBL, *CURLIBMember . . . . . . . . . . . . . *ALL______ *PRV, name, *generic...Member type . . . . . . . . . . *ALL______ *PRV, type, *generic...

    F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this displayF24=More keys

    Work with Libraries

    Briefly, the WRKLIBPDM command lets you work with a library or libraries. You will probablyuse this command least among the three PDM commands. You can work with the contents of alibrary by typing 12 against it. This will bring up the "Work with Objects using PDM" screen for

    that library.

    Table 1: Options in PDM (Some options may not be valid at some levels.)

    2: Change Modify an object or edit a source member

  • 8/16/2019 More As400 Info(1)

    13/40

    13

    3: Copy Duplicate an object4: Delete Remove an object from storage5: Display Display the contents of an object6: Print Copy a source member to an output queue7: Rename Change an object's name8: Display Descrip. Show summary information about an object9: Save Save an object to offline storage10: Restore Retrieve an object from offline storage11: Move Move an object to another library12: Work With Perform operations on the contents of an object13: Change Text Change the text description line for an object14: Compile Compile a source physical file member15: Copy File Copy a *FILE object (has special options)16: Run Run an object of type *PGM17: Change Using SDA Change a screen design (in a PF-SRC) using SDA18: Change Using DFU Use DFU to change a PF-DTA member25: Find String Find a string of characters in an object

    Table 2: Function Keys in PDM

    F1: Help Obtain help on an area of PDMF3: Exit Exit PDM or current operationF4: Prompt Display prompt screen for options on screenF5: Refresh Redraw the screen with updated informationF6: Create Create a library, file, or memberF9: Retrieve Recall a previous command to the command lineF10: Command Entry Display an OS/400 command entry screenF11: Display Toggle Switch to/from brief display modeF12: Cancel Cancel an operationF13: Repeat Copy an option number to all linesF14: Source Type Toggle Switch between date and type display in PF-SRCF15: Sort Change member list sort criteriaF16: User Options Specify user-defined commands to PDM

    F17: Subset Limit the list on the screen to certain typesF18: Change Defaults Change PDM user settingsF21: Print List Print the object list on the screenF23: More Options Display more PDM option numbers, if availableF24: More Keys Display more function keys, if available

    Control Language Command Syntax

    The purpose of this section is to provide a more formal presentation of CL commands. As youwould probably know by now, a CL command is a way of of invoking functions and calling

    system services. A CL command is made up of two parts: (1) a command name and (2)

     parameters.

    Command Structure

    First, let's consider the command name. A command is made made up of two components:

    1.  a VERB and

  • 8/16/2019 More As400 Info(1)

    14/40

    14

    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 Itemo

     

    CHG - Change

    o  CPY - Copy

    CRT - Createo  DLT - Deleteo  DSP - Display item

    o  END - Stop a program which was started with a STRo

      GRT - Granto  MOV - Move

    o  RMV - Remove itemo

      RST - Restoreo

      RTV - Retrieveo  RVK - Revoke

    o  SET - Set

    SND - Sendo  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:

      CRTSRCPF - Create Source Physical File

      WRKOBJPDM - Work with Objects Using PDM

      STRPDM - Start PDM

      ADDLIBLE - Add Library List Entry

    CL commands can be found in several ways. The command GO CMDxxx can be used to get amenu of commands related to xxx (where xxx can be a verb or subject). Another way of finding

    commands is to press 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 "*") isusually 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 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:

  • 8/16/2019 More As400 Info(1)

    15/40

    15

    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 mustnot 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 defaultvalue for that parameter, which in this case is *ALL. Note that when using the WRKMBRPDMcommand, 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/SRCFILESRCMBR 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.

    Using the SEU Editor

    Introduction

    The IBM AS/400 provides an integrated set of Application Development Tools (ADT) to design,

    develop and maintain applications. One such tool is the Programming Development Manager

    (PDM) that offers the following:

      Integrated application development environment.

      List-oriented selection of items for development or maintenance.

      Extendable interface to tools through user-defined options.

    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.

  • 8/16/2019 More As400 Info(1)

    16/40

    16

    In this SEU tutorial, we will use the source member we created in the previous section.

    Starting the Editor

    Type STRPDM (Start Program Development Manager) on any command line, and press .

    The PDM menu is displayed. Choose option 3 to Work with members. The "Work withmembers" screen shows up. You can also reach this screen by typing WRKMBRPDM (Work withmembers using PDM) on any command line and pressing . In either case, supply the

    necessary source file (SRCFILE) and library (YOURLIB) information and press Enter.

    Type 2 on the "Opt" line to edit the source member "SRCMBR".

    Press . You are now in the full-screen EDIT mode.

    Columns . . . .: 1 80 EditSEU==>_______________________________________________________ SRCMBR

    FMT ** ...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5...+... 6 ...+.

    *************** Beginning of data ********************************'''''''''''''''''''''''''''''''''''''''''''''''''

    ****************** End of data ***********************************

    F3=Exit F4=Prompt F5=Refresh

    F10=Top F11=Bottom F24=More keys

    If you press without typing anything, the screen readjusts as shown:

    Columns . . . .: 1 80 EditSEU==> _______________________________________________________ SRCMBR

    FMT ** ...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5...+... 6 ...+.

    *************** Beginning of data *************************************************** End of data ************************************

    F3=Exit F4=Prompt F5=RefreshF10=Top F11=Bottom F24=More keys

    Type I (for insert) on the first line as shown and press .

  • 8/16/2019 More As400 Info(1)

    17/40

    17

    Columns . . . .: 1 80 Edit

    SEU==> _______________________________________________________ SRCMBR

    FMT ** ...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5...+... 6 ...+. I

    *************** Beginning of data *************************************************** End of data ************************************

     Now, you may start typing in the desired text. Below, we show a sample TEXT document thatwill be used in the next section for illustrating the use of various SEU line commands.

    Columns . . . .: 1 80 Edit

    SEU==> _________________________________________________________ SRCMBR

    FMT ** ...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5...+... 6 ...+.*************** Beginning of data *********************************

    0001.00 THIS IS A TEXT DOCUMENT.0002.000003.00 Begin First Block.0004.00 Text for the first block ...0005.00 End First Block.0006.000007.00 Begin Second Block.0008.00 Text for second block ...0009.00 End Second Block.0010.00

    ****************** End of data ************************************

     Notice the sequence numbers of records at the extreme left. The sequence number field of arecord 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.'

    Exiting the Editor

    To exit SEU press . The exit display shows up:

    Exit

    Type choices, press Enter.

    Change/create member . . . . . . . Y Y=Yes, N=No

  • 8/16/2019 More As400 Info(1)

    18/40

    18

    Member . . . . . . . . . . . . . SRCMBR____ NameFile . . . . . . . . . . . . . . SRCFILE___ Name

    Library . . . . . . . . . . . . YOURLIB___ NameText . . . . . . . . . . . . . . Description_for_the_member._____Resequence member . . . . . . . . Y Y=Yes, N=No

    Start . . . . . . . . . . . . . 0001.00___ 0000.01 - 9999.99Increment . . . . . . . . . . . 01.00____ 00.01 - 99.99

    Print member . . . . . . . . . . . N Y=Yes, N=NoReturn to editing . . . . . . . . . N Y=Yes, N=NoGo to member list . . . . . . . . . N Y=Yes, N=No

    F3=Exit F5=Refresh 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 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 anysyntax 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 ).

    Using Line Commands

    SEU supports various line commands that guide us in editing an existing member. For example,command C is used to copy lines, command M for moving lines and so on. The SEU line

    commands are entered over the digits that make up the sequence number of a record. In the

    following discussion, a sample TEXT document is used to illustrate the use of the variouscommands. Note: If you type a line command, and then you decide to cancel it, use to

    refresh the screen. 

    To edit a member that has already been created,

      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. Thescreen 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 . The edit display for this member

    is shown:

  • 8/16/2019 More As400 Info(1)

    19/40

    19

    Columns . . . .: 1 71 Edit YOURLIB/SRCFILE

    SEU==> _________________________________________________________ SRCMBRFMT CB

    ......-A+++B++++++++++++++++++++++++++++++++++++++++++++++++++++++*************** Beginning of data ********************************

    0001.00 THIS IS A TEXT DOCUMENT.0002.000003.00 Begin First Block.0004.00 Text for the first block ...0005.00 End First Block.0006.000007.00 Begin Second Block.0008.00 Text for second block ...0009.00 End Second Block.0010.00

    ****************** End of data ***********************************

    F3=Exit F4=Prompt F5=RefreshF10=Top F11=Bottom F24=More keys

    Inserting a line

    To insert a line after a particular record, type I (insert) on the sequence number field of thatrecord, and press .

    *************** Beginning of data ********************************

    I001.00 THIS IS A TEXT DOCUMENT.0002.000003.00 Begin First Block.0004.00 Text for the first block ...0005.00 End First Block.0006.000007.00 Begin Second Block.0008.00 Text for second block ...0009.00 End Second Block.0010.00

    ****************** End of data ***********************************

    F3=Exit F4=Prompt F5=Refresh

    F10=Top F11=Bottom F24=More keys

    The screen adjusts as shown below. Type in the line to be inserted and press .

    Columns . . . .: 1 71 Edit YOURLIB/SRCFILESEU==> ________________________________________________________ SRCMBR

  • 8/16/2019 More As400 Info(1)

    20/40

    20

    FMT CB......-A+++B+++++++++++++++++++++++++++++++++++++++++++++++++++++ +

    *************** Beginning of data ********************************0001.00 THIS IS A TEXT DOCUMENT.''''''' PROGRAM-ID. SAMPLE.0002.000003.00 Begin First Block.0004.00 Text for the first block ...0005.00 End First Block.0006.000007.00 Begin Second Block.0008.00 Text for second block ...0009.00 End Second Block.0010.00

    ****************** End of data ***********************************

    F3=Exit F4=Prompt F5=RefreshF10=Top F11=Bottom F24=More keys

    Copying a line

    To copy the "Begin First Block" line to the end of the program, type C (copy) in the sequencenumber field, and press Enter. Note the message on the top that indicates a pending Copy linecommand.

    Columns . . . .: 1 71 Edit YOURLIB/SRCFILESEU==> _________________________________________________________ SRCMBRFMT CB......-A+++B++++++++++++++++++++++++++++++++++++++++++++++++++++++

    *************** Beginning of data ********************************0001.00 THIS IS A TEXT DOCUMENT.0001.01 It illustrates the use of SEU line commands.0002.00C Begin First Block.0004.00 Text for the first block ...0005.00 End First Block.0006.000007.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/SRCFILESEU==> __________________________________________________________ SRCMBRFMT CB

  • 8/16/2019 More As400 Info(1)

    21/40

    21

    ......-A+++B++++++++++++++++++++++++++++++++++++++++++++++++++++++*************** Beginning of data********************************

    0001.00 THIS IS A TEXT DOCUMENT.0001.01 It illustrates the use of SEU line commands.0002.00C Begin First Block.0004.00 Text for the first block ...0005.00 End First Block.0006.000007.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.

    *************** Beginning of data ********************************0001.00 THIS IS A TEXT DOCUMENT.0001.01 It illustrates the use of SEU line commands.0002.000003.00 Begin First Block.0004.00 Text for the first block ...0005.00 End First Block.0006.000007.00 Begin Second Block.0008.00 Text for second block ...0009.00 End Second Block.0010.00

    0011.00 Begin First Block.****************** End of data ***********************************

    Deleting a line

    To delete a line, type D (delete) in front of it and press . The line that was just copied

    may be deleted as shown below:

    *************** Beginning of data*****************************0001.00 THIS IS A TEXT DOCUMENT.

    0001.01 It illustrates the use of SEU line commands.0002.000003.00 Begin First Block.0004.00 Text for the first block ...0005.00 End First Block.0006.000007.00 Begin Second Block.0008.00 Text for second block ...0009.00 End Second Block.

  • 8/16/2019 More As400 Info(1)

    22/40

    22

    0010.00D011.00 Begin First Block.

    ****************** End of data ***********************************

    Block Move

    To move a block, type MM at the beginning and the end of the block, and press . 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.

    *************** Beginning of data ********************************0001.00 THIS IS A TEXT DOCUMENT.0001.01 It illustrates the use of SEU line commands.0002.00MM Begin First Block.0004.00 Text for the first block ...

    0005.00 End First Block.MM0007.00 Begin Second Block.0008.00 Text for second block ...0009.00 End Second Block.0010.00

    ****************** End of data ***********************************

    Type A on the last line to move the block to the end of the program.

    *************** Beginning of data ********************************0001.00 THIS IS A TEXT DOCUMENT.0001.01 It illustrates the use of SEU line commands.0002.00MM Begin First Block.0004.00 Text for the first block ...0005.00 End First Block.MM0007.00 Begin Second Block.0008.00 Text for second block ...0009.00 End Second Block.A010.00

    ****************** End of data ***********************************

    Here is the member after the move:

    *************** Beginning of data ********************************0001.00 THIS IS A TEXT DOCUMENT.0001.01 It illustrates the use of SEU line commands.0002.00

  • 8/16/2019 More As400 Info(1)

    23/40

    23

    0007.00 Begin Second Block.0008.00 Text for second block ...0009.00 End Second Block.0010.000011.00 Begin First Block.0012.00 Text for the first block ...0013.00 End First Block.0014.00

    ****************** End of data ***********************************

    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 copythe block before the indicated line.

    *************** Beginning of data ********************************0001.00 THIS IS A TEXT DOCUMENT.0001.01 It illustrates the use of SEU line commands.0002.00CC Begin Second Block.0008.00 Text for second block ...0009.00 End Second Block.CC0011.00 Begin First Block.0012.00 Text for the first block ...0013.00 End First Block.B

    ****************** End of data ***********************************

    Block Delete

    To delete a block, enclose it within DD commands and press . The block that was justcopied may be deleted as shown:

    *************** Beginning of data ********************************0001.00 THIS IS A TEXT DOCUMENT.0001.01 It illustrates the use of SEU line commands.0002.00

    0007.00 Begin Second Block.0008.00 Text for second block ...0009.00 End Second Block.0010.000011.00 Begin First Block.0012.00 Text for the first block ...0013.00 End First Block.DD Begin Second Block.0013.02 Text for second block ...0013.03 End Second Block.

  • 8/16/2019 More As400 Info(1)

    24/40

    24

    DD0014.00

    ****************** End of data ***********************************

    The source member looks as follows, after our experimentation with the above line commands:

    *************** Beginning of data ********************************0001.00 THIS IS A TEXT DOCUMENT.0001.01 It illustrates the use of SEU line commands.0002.000007.00 Begin Second Block.0008.00 Text for second block ...0009.00 End Second Block.0010.000011.00 Begin First Block.0012.00 Text for the first block ...0013.00 End First Block.

    0014.00****************** End of data ***********************************

    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 ofthe 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

  • 8/16/2019 More As400 Info(1)

    25/40

    25

    Find all occurrences of a character string and replace it with another string. The syntax is CHANGEfstring 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.

    Function Keys in SEU

    When a member is being edited, the Edit display supports a diverse set of function keys that

    allow you to perform specific tasks.

    ______________________________________________________________________________Key Name Function______________________________________________________________________________F1 Help Press the help key for details about the display.F3 Exit End the current task, returns to previous entrypoint.

    F4 Prompt Provides assistance for the options selectedin the list or a command on a command line.PDM will fill in the default values.

    F5 Refresh Refresh the current display. Rebuilds display andshows it again.

    F10 Cursor Moves the cursor from the data area to the SEUcommand line, and from the SEU command line tothe data area.

    F11 Previous Record Places the previous record in the prompt.

  • 8/16/2019 More As400 Info(1)

    26/40

    26

    F13 Change Session Go to the Change Session Defaults Defaultsdisplay.

    F14 Find/Change Options Go the Find/Change Options display.F15 Browse/Copy Options Go the Browse/Copy Options display.F16 Repeat Find Perform find or repeat current find.F17 Repeat Change Perform change or repeat current change

    function.F18 DBCS Conversion Perform DBCS conversion.F19 Left View the info. to the left of the current display.F20 Right View the info. to the right of the current display.F23 Select Prompt Go to the Select Prompt display. SEU returns

    to the EDIT Session and displays the promptafter you make a selection.

    F24 More keys View the other function keys available for thecurrent display.

    Summary of Line Commands

    The Sequence_number field displays the sequence number of the record and is used for entering

    SEU line commands. To use a line command, type the command over the digits that make up thesequence number.

    The following is a list of all the valid commands:

      A=After Move or copy records after this record.

      An=After with repeat n times Move or copy records after this record and repeat these

    records n times.

      B=Before Move or copy records before this record.

      Bn=Before with repeat n times Move or copy records before this record and repeat theserecords n times.

     

    C=Copy Line Copy this line to a specified target.  Cn=Copy n lines Copy this line plus the next n-1 lines to the specified target.

      CC=Block Copy Copy all lines between the boundaries formed by the two CC commands

      CR=Copy records and retain command Copy this record to the specified targets and keep

    this command on the display.

      CRn=Copy n records and retain command. Copy n records to the specified targets and

    keep this command on the display.

      CCR=Copy block records and retain command Copy the block of records defined by a

     pair of CCR commands to the specified targets and keep this command on the display.

      D=Delete Delete the current line.

      Dn=Delete n lines Delete the current line and the next n-1 lines.

     

    DD=Block Delete Delete all lines between the two DD boundaries.  F=Display format line

      Display a format line.

      I=Insert a line Insert a blank line after the current record.

      In=Insert n lines Insert n blank lines after this record.

      IP=Insert line and prompt Insert a blank line and display the line in a prompt.

      L=Shift data 1 char left Shift data in this record one character position to the left without

    losing data.

  • 8/16/2019 More As400 Info(1)

    27/40

    27

      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 andincluding 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 andincluding 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 theMM 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 linesdefined 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 repeatedline 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 andincluding 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, withoutlosing 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 linecommands 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.

  • 8/16/2019 More As400 Info(1)

    28/40

    28

      +n=Roll member forward n lines Roll the member forward n lines.

      - (minus sign)=Roll member backward 1 line Roll the member backward one line.

      -n=Roll member backward n lines Roll the member backward n lines.

      n=Absolute Positioning Position the line identified by the sequence number(n) as the first

    record on the display.

    Steps in Developing a Program

    In this section, we are going to use a simple Control Language (CL) program to illustrate the

    steps in developing, compiling, and running a program on the AS/400. We will also demonstratehow to find compilation errors when they occur, and how to obtain information about certain

    compilation and runtime errors. The intention here is not to teach CL programming.

    The CL program is very simple; all it does is make the library that you have created (in my case,

    YOURLIB) the current library while retaining the existing current library on the library list.

    First, let's create a source physical (PF-SRC) file called QCLSRC (the IBM-supplied name for a

    CL source physical file). The command line form of issuing CL commands will be used in thissection (you may want to use the prompt facility to assist you if you are not familiar with

    the commands). The following creates a PF-SRC file in the library ALIBRARY. ALIBRARY

    represents the library that has the same name as your user profile or your other library, that is theone you created in an earlier section.

    CRTSRCPF FILE(ALIBRARY/QCLSRC) 

    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 . This will start the

    SEU editor. Enter TEST for the name of the source member, CLP for the source type (to seewhat source types are available, put the cursor on the "Source type" field and press ), and a

     brief description of the source member. Once you have entered all the necessary information,

     press . You will enter a SEU editing session. Type in the following program:

    *************** Beginning of data ********************************0002.00 PGM0003.00 DCL VAR(&OLDCURLIB) TYPE(*CHAR) LEN(10)0004.00 RTVJOBA CURLIB(&OLDCURLIB)

    0005.00 CHGCURLIB CURLIB(&YOURLIB) /* intentional error */0006.00 ADDLIBLE LIB(&OLDCURLIB)0007.00 ENDPGM

    ****************** End of data ***********************************

    You can use the SEU line command, IP (insert line and prompt), to help you in selecting a CLcommand. Also, note that CL programs are "free format" in that components of CL statements

  • 8/16/2019 More As400 Info(1)

    29/40

    29

    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 educationmodules: "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 .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 inthe 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'sexisting 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 prefixedYOURLIB 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 weintended &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 librarylist. 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

  • 8/16/2019 More As400 Info(1)

    30/40

    30

    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 differentsource type (e.g. if the source type is CBL, it will invoke the CRTCBLPGM command). If you

     prompt on the option (ie. press when you use option 14), you will see the following screen:

    Create CL Program (CRTCLPGM)Type choices, press Enter.Program . . . . . . . . . . . . > TEST Name, *PGMID

    Library . . . . . . . . . . . > ALIBRARY Name, *CURLIBSource file . . . . . . . . . . > QCLSRC Name

    Library . . . . . . . . . . . > ALIBRARY Name, *LIBL, *CURLIBSource member . . . . . . . . . > TEST Name, *PGMGeneration severity level . . . 29 0-29Text 'description' . . . . . . . *SRCMBRTXT

    Additional Parameters

    Replace program . . . . . . . . > *YES *NO, *YESBottom

    F3=Exit F4=Prompt F5=Refresh F10=Additional parameters F12=CancelF13=How to use this display F24=More keys

    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" fieldspecifies 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 , 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 thereare 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 to continue.

    Finding Compilation Errors

    To find out the cause of the compilation error, type WRKSPLF to see what's in your output

    queue. There should be a spooled file with the same name as your source member (the compilerlisting) and a job log (QPJOBLOG). Type 5 against QPJOBLOG to display it. There should be a

    message stating that the program was not created because of compilation error. The message will

    refer you to the compiler listing of the program. Press to exit this display. Type 5 todisplay the contents of the compiler listing of the program. A segment of that listing is presented

    here:

  • 8/16/2019 More As400 Info(1)

    31/40

    31

    200- PGM300- DCL VAR(&OLDCURLIB) TYPE(*CHAR) LEN(10)400- RTVJOBA CURLIB(&OLDCURLIB)500- CHGCURLIB CURLIB(&YOURLIB)

    * CPD0727 40 Variable '&YOURLIB ' is referred to but not declared.600- ADDLIBLE LIB(&OLDCURLIB)700- ENDPGM

    * * * * * E N D O F S O U R C E * * * **

    5738SS1 V2R1M1 920306 Control Language YOURLIB/TEST

    Cross ReferenceDeclared VariablesName Defined Type Length References&OLDCURLIB 300 *CHAR 10 400 600

    * CPD0791 00 No labels used in program.

    * * * * * 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 SummarySeverity

    Total 0-9 10-19 20-29 30-39 40-49 50-59 60-69 70-79 80-89 90-99

    2 1 0 0 0 1 0 0 0 0 0

    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 informationmessage; it is not the cause of the compilation failure. The meaning of first error is evident; it isthe 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 messagefile and CPD0727 is the message ID. Let's go back to the source member and fix the problem.

    Using SEU to Find Compilation Errors

    You may want to use SEU to view your compiler listing instead of the way discussed above,

    especially if the compiler listing is too lengthy to scan by eye. SEU provides special support for

    locating compilation errors. To view a spooled file while you are in SEU, press (Browse/Copy). Enter 2 in the selection field. Place the cursor on the "Browse/copy spool file"

    field and press . Select the appropriate spool file. On return to the editing session, you

    should see a split screen with the member you are editing on top and the spooled file on the bottom. To find compilation errors, in the bottom screen type FIND *ERR on the SEU command

    line (or simply, F *ERR). An advantage of using SEU for this purpose is that you can see both

    the source member and the compiler listing on the same screen, and make the corrections to thesource member on the spot.

  • 8/16/2019 More As400 Info(1)

    32/40

    32

    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 youdo 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 thelibrary 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 programtakes more than one input parameter, type '+' on the "Parameters" field and press . 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(parameter1parameter2 ...) 

    Diagnosing Runtime Errors

    In any case, when you run the program, you will get a runtime or object error message similar tothe one below:

    Display Program Messages

    Job 287471/T03/DSP02 started on 07/20/92 at 13:48:44 in subsystem QINTER

    CPF2110 received by TEST at 600. (C D I R)

    Type reply, press Enter.

    Reply . . . ________________________________________________________

    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 . You see a screen similar to the one below. The message text, in this case, indicated

  • 8/16/2019 More As400 Info(1)

    33/40

    33

    clearly what the problem is, i.e. the library DOGNAP was not found. Sometimes you can obtain

    additional messages by pressing to display messages in the job log.

    Additional Message Information

    Message ID . . . . . . : CPA0701 Severity . . . . . .: 99Message type . . . . . : INQUIRYDate sent . . . . . . . : 07/20/92 Time sent . . . . .: 14:00:05From program . . . . . : QCLXERR Instruction . . . .: 0000

    To program . . . . . . : *EXT Instruction . . . .: 0000Message . . . . : 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 errorrecovery 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 F10=Display messages in job log 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) whereQCPFMSG is the system message file and CPF2110 is the message ID.

    Press 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. TypeDSPLIBL to check whether the library has been added and whether it has been made the current

    library.

    Creating an Initial Program

    An initial program is similar to the AUTOEXEC.BAT file in MS-DOS. It is executed when the

    user logs on. The initial program has to reside in your default library (i.e. the library with thesame name as your user profile) and it has to be named INITIALPGM. For instance, you can

    make the above CL program your initial program. Rename the source member to INITIALPGM

    and recompile it. If you created the source member in a another library, when you recompile it

  • 8/16/2019 More As400 Info(1)

    34/40

    34

    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.

    Understanding Object Authorities

    Introduction

    To maintain security of data and/or program objects the AS/400 offers a variety of options

    available to limit access to object. These authorities must be set to secure object to the level of

    security required. Likewise, if objects are to be shared or used between users, the objectauthorities must be relaxed correctly to maintain object integrity. This section is designed to help

    users maintain correct authorities and to understand the authorities on the objects that they own.

    Authorities and their meanings

    Object Authorities

    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 asdetermined 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

  • 8/16/2019 More As400 Info(1)

    35/40

    35

    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.

    Changing authorities with EDTOBJAUT

    We use an example here to illustrate the use of some of the types of authorities discussed above.In this example, we want to allow a certain user to copy a member from the file "SRCFILE"

    which is stored in the library "YOURLIB". First of all, we need to allow the user to have accessto the library "YOURLIB". To do that, we use the "Edit Object Authority", EDTOBJAUT,

    command to edit the authority on "YOURLIB". (Note that your default library, i.e. the library

    that has the same name as your user profile, is normally owned by your security officer so youcannot change its authorities). Type EDTOBJAUT on a command line and press . Fill in

    the blanks for object, library, and object type (*LIB) and press .

    Edit Object Authority (EDTOBJAUT)

    Type choices, press Enter.Object . . . . . . . . . . . . . > YOURLIB Name

    Library . . . . . . . . . . . *LIBL Name, *LIBL, *CURLIBObject type . . . . . . . . . . > *LIB *ALRTBL, *AUTL, *CFGL...

    To see the detail screen as shown below, press . Note that the owner of "YOURLIB" has

    *ALL authority on the object.

    Edit Object Authority

    Object . . . . . . . : YOURLIB Object type . . . . : *LIB

    Library . . . . . : QSYS Owner . . . . . . . : JOHNDOE

    Type changes to current authorities, press Enter.

    Object secured by authorization list . . . . . . . . . . . .: *NONE

  • 8/16/2019 More As400 Info(1)

    36/40

    36

    Object ----Object----- ----------Data-----------

    User Authority Opr Mgt Exist Read Add Update DeleteJOHNDOE *ALL X X X X X X X*PUBLIC *EXCLUDE _ _ _ _ _ _ _

    F3=Exit F5=Refresh F6=Add new users F10=Grant with reference objectF11=Nondisplay detail F12=Cancel F17=Top F18=Bottom

    Press to add a user to the list of users authorized to this object. Type in the name of theuser and *USE for the object authority. Press to return to the previous screen. Notice

    that *USE gives the user *OBJOPR and *READ authorities on "YOURLIB". (Note: If you wantto 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 to add the user to the authorization listwith *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 screenfor that user. Note that the object authority changes from *USE to USER DEF (meaning a

    customized authority).

    Changing Authorities with GRTOBJAUT and RVKOBJAUT

    To use GRTOBJAUT and RVKOBJAUT type the command and prompt . Fill in the library

    name, object name, object type along with the user you are granting authorities and therespective authority being granted. At any time press for more help.

    Sending and Receiving Network Files

    Users can send and receive network files to and from each other. The "Send Network File"

    (SNDNETF) command can be used to send a member of a physical database file (PF-DTA orPF-SRC) to another user. In the example shown below, the member "SNDMBR" of the physical

    database file "SNDFILE" (which is contained in the library "SNDLIB") is to be sent to the user

    "RCV". "MKTAS400" is the address of the AS/400 at Minnesota State University, Mankato.

    When the network file arrives at its destination, a message is sent to both the sender and receiver.

    Send Network File (SNDNETF)

    Type choices, press Enter.File . . . . . . . . . . . . . . > SNDFILE___ Name

    Library . . . . . . . . . . . > SNDLIB____ Name, *LIBL, *CURLIBUser ID: _

    User ID . . . . . . . . . . . > RCV_______ Character value

  • 8/16/2019 More As400 Info(1)

    37/40

    37

    Address . . . . . . . . . . . > MKTAS400__ Character value+ for more values _

    Member . . . . . . . . . . . . . > SNDMBR____ Name, *FIRST

    Additional ParametersTo file type . . . . . . . . . . *FROMFILE_ *FROMFILE, *DATA

    VM/MVS class . . . . . . . . . . A A, B, C, D, E, F, G, H, ISend priority . . . . . . . . . *NORMAL__ *NORMAL, *HIGH

    F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this displayF24=More keys

    The receiver will have to run the "Work with Network Files" (WRKNETF) command to inspect

    their network files.

    Work with Network Files (WRKNETF)

    User . . . . . . . . . . . . : RCV_______User ID/Address . . . . . . : RCV_______ MKTAS400

    Type options, press Enter.

    1=Receive network file 3=Submit job 4=Delete network file5=Display physical file member

    File -------From-----------Arrival----Opt File Member Number User ID Address Date Time__ SNDFILE SNDMBR 1 SENDER MKTAS400 08/26/92 16:37

    F3=Exit F4=Prompt F5=Refresh F9=Retrieve F11=Display type/recordsF12=Cancel

    Type 1 in the "Opt" blank in front of the network file to receive and press to prompt. The

    following screen will show up.

    Receive Network File (RCVNETF)

    Type choices, press Enter.From file . . . . . . . . . . . > 'SNDFILE'__ Character valueTo data base file . . . . . . . *FROMFILE__ Name, *FROMFILE

    Library . . . . . . . . . . . *LIBL____ Name, *LIBL, *CURLIBMember to be received . . . . . > 'SNDMBR'__ Character value, *ONLYTo member . . . . . . . . . . . *FROMMBR____ Name, *FROMMBR, *FIRST

    F3=Exit F4=Prompt F5=Refresh F10=Additional parameters F12=CancelF13=How to use this display F24=More keys

  • 8/16/2019 More As400 Info(1)

    38/40

    38

    Fill in the "To data base file", "Library", and "To member" blanks with the appropriate receiving

    file, library and member names and press . 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 thedesired 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 (on the PS/2 running PC-Support orp 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 key to clear themessage 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.

    Moving a Spooled File to a Writer

    To get a physical copy of a spooled file on your output queue, two facts must be true. First, thespooled file must be placed on a started writer and second, the spooled file must have a status of

    released. To work with your spooled files on your output queue type WRKSPLF and press .This screen allows you to do many things with your spooled files.

     Note: If this is the first time that you are using the WRKSPLF command, you should change the"assistance level" for this screen. To do this press and change the assistance level from

    "basic" to intermediate". This will gives you more features on the screen. Try pressing the

    or keys to obtain different views of your spooled files. 

    Typing 2 in the option field of spooled file in the WRKSPLF screen will change the spooled

    file's attributes. The attributes that you will be interested in are the "Print device" and "Save file".

    By changing the attribute "Print device" from "*OUTQ" to a valid printer (use the WRKWTRcommand to find out which printers are available), you will move your spooled file from youroutput queue to a printer writer. The printer writer names at MSU are:

    Printer Name Width/Paper Printer Type LocationPRT01 132 Col. 11" Line Printer Morris HallVAXPRTS2 132 Col. 11" Line Printer MSU ACCPS/2 printers 132/80 8.5" Dot Matrix MSU ACC Lab Rooms

  • 8/16/2019 More As400 Info(1)

    39/40

    39

    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 yourspooled 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 anytime. VAXPRTS2 is a printer that is connected to VAX1. The printer will never say it is startedalthough it actually is. Normally you will not be authorized to print to writer PRT01. This printer

    is the system printer.

    Printing to a PS/2 Printer

    To see which PS/2 printers are available for printing from the AS/400, type WRKWTR ("Work withWriters"). The name of the printer is: "PC0" (i.e. "P" + "C" + zero) + the number of the PS/2 to

    which the printer is connected + "S2" (e.g. PC0614S2). Make sure that the printer you want to print to has been started. For the printer to be started, the PS/2 workstation that is connected to

    the printer must be signed on to the AS/400. Also, make sure that the printer is ready for printing. Press on the computer that is attached to the printer to display the status of

    the printer; make sure it says "Ready". If not, select the "stop" option and then select "start". Alsomake sure the printer's status is "ONLINE".

    Step by Step Printing Example

    Type WRKSPLF { or OQ } Press .

    This will allow you to work with your spooled files.Use the key or to move to the desired spool file.

    This will move us to the correct spool file option field.

    Type 5 in the option field.This will mark the spool file for displaying.

    Press .

    This will display the spool file.

    Press .This will bring you back to the work with spool file screen.

    Press 2 .

    This will permit you to change the spool file attributes.

  • 8/16/2019 More As400 Info(1)

    40/40

    Type in the name of the printer .

    This will move the file to the printer writer.

    Press the key.This will refresh the screen to show you the current status of your spooled files.

    If the STS (status) is RDY or WTR the printer will print your spooled file. If the status is HLD

    then release it by typing a 6 in the option field of the spool