Académique Documents
Professionnel Documents
Culture Documents
Press the <Tab>key. Type your password. The password will not be displayed. Press the <Enter>key. If for some reason you can not longer type, press the <Reset>key. On the Microterms or PC-VT this would be the <Esc>key then R. On PC Support/400 this would be the left <Ctrl>key. If this is the first time you signed on continue with the Changing your password section of this manual.
you type on this screen will be displayed to ensure that no one views your password as you type it.
Press <Tab>or <Field Exit>. For the "New Password" field, type the password you would like to use when you sign on to the computer. It must not exceed 10 characters, it must begin with a alphabetic character and the remaining characters may be any combination of alphabetic, numeric characters. Note: Try not to make it too difficult, you will need to know it to sign on the AS/400 again. Press <Tab>or <Field Exit> At the "New Password (to verify)" field, type in your new password for a second time to make sure you have entered it correctly. If you have entered it incorrectly you will get an error message and your initial password will still be `xx' followed by the last four digits of your social security number. Press <Enter> Upon completion, the following message will be displayed: Password changed successfully Read the following screens, pressing <Enter>to exit each one, until you reach the AS/400 Main Menu screen. Later on when you want to change your password, type CHGPWD on the command line and go through the same steps.
STRSCHIDX
The start search index command is used when you would like to get help on a specific or general topic. To use the index search facility type STRSCHIDX and hit <Return>. Type your subject topic, or topics on the bottom subject line. When you hit <Return>again your topic will be searched for and the topics found will be displayed on the screen above the topic line. To display the information you are looking for type 5 in the option field by the topic line press <Return>. To get out of the index search facility press <F3>until exited.
CD-ROM Manuals
converted by Web2PDFConvert.com
If you are attached to the AS/400 using PC Support/400 you have the ability to look at a hypertext version of a subset of the complete AS/400 manual set. To start the hypertext book reader type the command MANUALS at any AS/400 prompt. This guide is laid out like a library. The library contains bookshelves. These bookshelves contain books. For example our library contains a bookshelf name Languages. We select the bookshelf by using the arrow keys to place the highlighted cursor over it and press <Enter>. On this bookshelf there are several books on languages. One of the books is titled "COBOL/400 Reference". Once again we use the arrows and cursor to select the item. Now that we have the book it opens up a "Table of Contents" for the book. By using this search and select procedure you can look through the book like a book you'd check out at the library.
More Help
There are three ways to get help on the READ/DOS book reader (AS/400 command MANUALS): Start the book reader and select the bookshelf entitled BookManager READ/DOS. Press <F1>anywhere you're in question about your current options. Press <Alt>h (or <F10>h) and select the appropriate help selection for your current problem.
F3=Exit F4=Prompt F5=Refresh F10=Additional parameters F12=cancel F13=How to use this display F24=More keys
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.
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 "#"
converted by Web2PDFConvert.com
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 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 PFSRC 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 . . . . . . SRCFILE___ Library . . . . YOURLIB___ Type options, press Enter. 2=Edit 7=Rename Opt __ __ __ __ __ 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 ...
Position to . . . . __________
DDS Source for a Logical File Control Language Source Program RPG Source Program DDS Source for a Physical File DDS Source for a Display File
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 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-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
converted by Web2PDFConvert.com
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 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 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.
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)
converted by Web2PDFConvert.com
Type choices, press Enter. Library . . . . . . . . . . . . Library type . . . . . . . . . . Text 'description' . . . . . . . F3=Exit F4=Prompt F5=Refresh F13=How to use this display YOURLIB__ Name *PROD____ *PROD, *TEST Sample_Library__________________ F10=Additional parameters F12=Cancel F24=More keys
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: DSPLIB (Display Library) DLTLIB (Delete Library) WRKLIB (Work with Library).
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 Type options, press Enter. 5=Display objects in library Opt __ __ __ __ __ __ __ __ __ __ __ Library QSYS QHLPSYS QUSRSYS JOHNDOE QTEMP QGDDM QGPL QMSU QPAS MBNLQ ONLINE Type SYS SYS SYS CUR USR USR USR USR USR USR USR 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
F3=Exit
F12=Cancel
F17=Top
F18=Bottom
converted by Web2PDFConvert.com
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: WRKLIBPDM -- Work with libraries using PDM WRKOBJPDM -- Work with objects using PDM WRKMBRPDM -- Work with file members using PDM
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display F24=More keys
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 . . . . . . . . . . . . YOURLIB___ *PRV, name, *CURLIB
converted by Web2PDFConvert.com
*ALL______ *PRV, name, *generic*... *ALL______ *PRV, *ALL, *ALRTBL, *AUTL.. *ALL______ *PRV, attribute, *generic...
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display F24=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 Library . . . . . YOURLIB___ Position to . . . . . . __________ Position to type . . . . __________ 4=Delete 9=Save Attribute PF-SRC 5=Display 10=Restore 7=Rename 11=Move ...
Type options, press Enter. 2=Change 3=Copy 8=Display description Opt Object __ SRCFILE Type *FILE
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.
converted by Web2PDFConvert.com
Type options, press Enter. 2=Edit 7=Rename 3=Copy 4=Delete 8=Display description Text 5=Display 6=Print 9=Save 13=Change text ...
===> ________________________________________________________________ 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) Type choices, press Enter. Source file . . . Library . . . . Source member . . Source type . . . Text 'description' . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . > SRCFILE___ Name, *PRV . > YOURLIB___ Name, *LIBL, *CURLIB, *PRV . SRCMBR____ Name, *PRV, *SELECT . TXT_______ Name, *SAME, BAS, BASP, C... . Sample_Source_Member____________________ Bottom F3=Exit F4=Prompt F24=More keys F5=Refresh F12=Cancel F13=How to use this display
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 . . . . . . . . . . . . SRCFILE___ YOURLIB___ *ALL______ *ALL______ *PRV, *PRV, *PRV, *PRV, name name, *LIBL, *CURLIB name, *generic... type, *generic...
F5=Refresh
Table 1: Options in PDM (Some options may not be valid at some levels.)
2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: Change Copy Delete Display Print Rename Display Descrip. Save Restore Move Work With Change Text Compile Copy File Modify an object or edit a source member 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)
converted by Web2PDFConvert.com
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
Command Structure
First, let's consider the command name. A command is made made up of two components: 1. a VERB and 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: ADD - Add Item CHG - Change CPY - Copy CRT - Create DLT - Delete DSP - Display item END - Stop a program which was started with a STR GRT - Grant MOV - Move RMV - Remove item RST - Restore RTV - Retrieve RVK - Revoke SET - Set SND - Send STR - Start (a program or utility) 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 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.
converted by Web2PDFConvert.com
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: 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 SRCMBRWRKMBRPDM 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 .
FMT ** ...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5...+... 6 ...+. *************** Beginning of data ******************************** ''''''' ''''''' ''''''' ''''''' ''''''' ''''''' ''''''' ****************** End of data *********************************** F3=Exit F10=Top F4=Prompt F11=Bottom F5=Refresh F24=More keys
converted by Web2PDFConvert.com
If you press <Enter> without typing anything, the screen readjusts as shown:
Columns . . . .: 1 80 SEU==> _______________________________________________________ Edit SRCMBR
FMT ** ...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5...+... 6 ...+. *************** Beginning of data ********************************* ****************** End of data ************************************
F3=Exit F10=Top
F4=Prompt F11=Bottom
Type I (for insert) on the first line as shown and press <Enter> .
Columns . . . .: 1 80 Edit SRCMBR
SEU==> _______________________________________________________
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 that will be used in the next section for illustrating the use of various SEU line commands.
Columns . . . .: 1 80 Edit SRCMBR
SEU==> _________________________________________________________
FMT ** ...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5...+... 6 ...+. *************** Beginning of data ********************************* 0001.00 THIS IS A TEXT DOCUMENT. 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 ************************************
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.'
F5=Refresh
F12=Cancel
converted by Web2PDFConvert.com
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 ).
and then you decide to cancel it, use <F5> 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. 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:
Columns . . . .:
1 71
Edit
YOURLIB/SRCFILE
SEU==> _________________________________________________________ SRCMBR FMT CB ......-A+++B++++++++++++++++++++++++++++++++++++++++++++++++++++++ *************** Beginning of data ******************************** 0001.00 THIS IS A TEXT DOCUMENT. 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
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 F3=Exit F10=Top THIS IS A TEXT DOCUMENT. Begin First Block. Text for the first block ... End First Block. Begin Second Block. Text for second block ... End Second Block. ****************** End of data *********************************** 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==> ________________________________________________________ SRCMBR FMT CB
converted by Web2PDFConvert.com
......-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 ......-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.
*************** Beginning of data ******************************** THIS IS A TEXT DOCUMENT. It illustrates the use of SEU line commands. Begin First Block. Text for the first block ... End First Block. Begin Second Block. Text for second block ... End Second Block. Begin First Block.
0001.00 0001.01 0002.00 0003.00 0004.00 0005.00 0006.00 0007.00 0008.00 0009.00 0010.00 0011.00
converted by Web2PDFConvert.com
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:
*************** Beginning of data***************************** THIS IS A TEXT DOCUMENT. It illustrates the use of SEU line commands. Begin First Block. Text for the first block ... End First Block. Begin Second Block. Text for second block ... End Second Block. Begin First Block. ****************** End of data ***********************************
0001.00 0001.01 0002.00 0003.00 0004.00 0005.00 0006.00 0007.00 0008.00 0009.00 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.
*************** Beginning of data ******************************** THIS IS A TEXT DOCUMENT. It illustrates the use of SEU line commands. Begin First Block. Text for the first block ... End First Block. Begin Second Block. Text for second block ... End Second Block. ****************** End of data ***********************************
Type A on the last line to move the block to the end of the program.
*************** Beginning of data ******************************** THIS IS A TEXT DOCUMENT. It illustrates the use of SEU line commands. Begin First Block. Text for the first block ... End First Block. Begin Second Block. Text for second block ... End Second Block. ****************** End of data ***********************************
0001.00 0001.01 0002.00 0007.00 0008.00 0009.00 0010.00 0011.00 0012.00 0013.00 0014.00
Block Copy
converted by Web2PDFConvert.com
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.
*************** Beginning of data ******************************** THIS IS A TEXT DOCUMENT. It illustrates the use of SEU line commands. Begin Second Block. Text for second block ... End Second Block. Begin First Block. Text for the first block ... End First Block. ****************** End of data ***********************************
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:
*************** Beginning of data ******************************** THIS IS A TEXT DOCUMENT. It illustrates the use of SEU line commands. Begin Second Block. Text for second block ... End Second Block. Begin First Block. Text for the first block ... End First Block. Begin Second Block. Text for second block ... End Second Block. ****************** End of data ***********************************
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 DD 0014.00
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.00 0007.00 Begin Second Block. 0008.00 Text for second block ... 0009.00 End Second Block. 0010.00 0011.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 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'"
converted by Web2PDFConvert.com
Use the F16 "Repeat Find" key to find the next occurrence of a string.
CHANGE
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.
B=Before Move or copy records before this record. Bn=Before with repeat n times Move or copy records before this record and repeat these records 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. 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. +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.
Once the PF-SRC file has been created, work with the file by typing:
converted by Web2PDFConvert.com
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:
*************** Beginning of data ******************************** PGM DCL VAR(&OLDCURLIB) TYPE(*CHAR) LEN(10) RTVJOBA CURLIB(&OLDCURLIB) CHGCURLIB CURLIB(&YOURLIB) /* intentional error */ ADDLIBLE LIB(&OLDCURLIB) ENDPGM ****************** End of data ***********************************
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 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
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 F3=Exit F4=Prompt F5=Refresh F13=How to use this display *NO, *YES Bottom F10=Additional parameters F24=More keys F12=Cancel
converted by Web2PDFConvert.com
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.
VAR(&OLDCURLIB) TYPE(*CHAR) LEN(10) CURLIB(&OLDCURLIB) CURLIB(&YOURLIB) ' is referred to but not declared. LIB(&OLDCURLIB) * * * E N D O F S O U R C E * * * * *
YOURLIB/TEST
* CPD0791 00 No labels used in program. * * * * * 5738SS1 V2R1M1 920306 E N D O F C R O S S Control Language R E F E R E N C E YOURLIB/TEST *
Total 2
Message Summary Severity 0-9 10-19 20-29 30-39 40-49 50-59 60-69 70-79 80-89 90-99 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 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.
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
converted by Web2PDFConvert.com
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 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 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) 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.
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 object authorities 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.
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
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.
To see the detail screen as shown below, press <F11>. Note that the owner of "YOURLIB" has *ALL authority on the object.
converted by Web2PDFConvert.com
Edit Object Authority Object . . . . . . . : Library . . . . . : YOURLIB QSYS Object type . . . . : *LIB Owner . . . . . . . : JOHNDOE
Type changes to current authorities, press Enter. Object secured by authorization list . . . . . . . . . . . .: *NONE Object User JOHNDOE *PUBLIC ----Object----- ----------Data-----------
Authority Opr Mgt Exist Read Add Update Delete *ALL X X X X X X X *EXCLUDE _ _ _ _ _ _ _ F6=Add new users F12=Cancel F10=Grant with reference object F17=Top F18=Bottom
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).
Additional Parameters To file type . . . . . . . . . . *FROMFILE_ *FROMFILE, *DATA VM/MVS class . . . . . . . . . . Send priority . . . . . . . . . A *NORMAL__ A, B, C, D, E, F, G, H, I *NORMAL, *HIGH
F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display F24=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 . . . . . . . . . . . . : User ID/Address . . . . . . : Type options, press Enter. 1=Receive network file 3=Submit job 5=Display physical file member 4=Delete network file RCV_______ RCV_______ MKTAS400
converted by Web2PDFConvert.com
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 . . . . . . . . . . . . . . . . . . . > 'SNDFILE'__ Character value . *FROMFILE__ Name, *FROMFILE . *LIBL____ Name, *LIBL, *CURLIB . > 'SNDMBR'__ Character value, *ONLY . *FROMMBR____ Name, *FROMMBR, *FIRST F10=Additional parameters F12=Cancel F24=More keys
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
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 <F21>and change the assistance level from "basic" to intermediate". This will gives you more features on the screen. Try pressing the <F10>or <F11>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 WRKWTR command to find out which printers are available), you will move your spooled file from your output queue to a printer writer. The printer writer names at MSU are:
Printer Name PRT01 VAXPRTS2 PS/2 printers Width/Paper 132 Col. 11" 132 Col. 11" 132/80 8.5" Printer Type Line Printer Line Printer Dot Matrix 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.
converted by Web2PDFConvert.com
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.
Common Problems
Note that the command keys used in this section are those of the PS/2 running PC Support.
converted by Web2PDFConvert.com
compilation, your storage can be used up very quickly. When you have exceeded (or nearly exceeded) your storage quota and you try to start, for example, SEU, you may get an error message "Error found on SEU command". To deal with this problem, you must clear the *PGM objects from library QRPLOBJ. To do this type WRKOBJPDM QRPLOBJ. You may get an authority problem do to the fact that you do not own all of the object in that library. The command will clear your objects out regaurdless of the error.
The Source type for a data file must be specified as PF, this type denotes aPhysical File. For example, to create a data file called TESTDATA in the source file SRCFILE in library YOURLIB, fill in the fields as shown:
Start Source Entry Utility (STRSEU) Type choices, press Enter. Source file . . . Library . . . . Source member . . Source type . . . Option . . . . . . Text 'description' . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SRCFILE___ Name, *PRV YOURLIB___ Name, *LIBL, *CURLIB, *PRV TESTDATA__ Name, *PRV, *SELECT PF________ Name, *SAME, BAS, BASP, C... *BLANK____ *BLANK, ' ', 2, 5, 6 Your_description_for_the_member_...______
The Edit display shows up. It is convenient to use the prompt facility for defining the DDS source. The prompter helps you to supply the source information in the correct format. Press <F4> to invoke the prompter and <F12>to cancel it. When the prompter is invoked, the screen looks as shown:
Find . . . _____________________________________________________ TESTDATA
FMT PF .....A..........T.Name++++++RLen++TDpB......Functions++++++++++++++++++ *************** Beginning of data ************************************* 0001.00 ****************** End of data **************************************** Prompt type . . . Name Type _ Name _____ PF Ref _ Sequence number . . . 0001.00 Length ______ Data Type _ Decimal Positions ___ Use _
Functions ___________________________ F3=Exit F11=Bottom F4=Prompt F12=Cancel F5=Refresh F24=More keys F10=Top
An explanation of the different fields shown above follows: The fields marked with * are not commonly used, so for normal applications you
converted by Web2PDFConvert.com
Leave the field blank to indicate a field name. R Type R in column 17 to indicate a record format name. K Type K in column 17 to indicate a key field name. Name Type a record format, field, or key field name in this position. The maximum length allowed is 10 characters, beginning in column 19. Reference (*) Type R in this field to use the reference function to copy attributes of a previously defined named field to the field you are now defining. Length Type a value to indicate the number of characters in a character field or the number of digits in a numeric field. For example, for Character type the range is 1-32766, for Packed decimal the range is 1-31 digits and so on. Data_Type Choose one of the following: A for character data. P for packed decimal data. S for zoned decimal data. B for zoned binary data. F for floating point data. H for hexadecimal data. Decimal_Positions Type a value from 0 through 31 to indicate the number of decimal positions to the right of the decimal point within a packed decimal, a zoned decimal, a floating point, or a binary field. Use (*) Type B or leave the field blank to indicate a field used for both input and output. Functions (*) Type in keyword entries valid for defining physical files in positions 45 through 80 of this field. The DDS source for TESTDATA is shown below. RECFMT1 is the record format name. There are two fields in the data file, FIELD1 and FIELD2. FIELD1 is of character data type with length 10, and FIELD2 is a packed decimal of length 5 with 2 decimal positions. The last line of the member declares FIELD1 to be the key field.
Find . . . __________________________________________________________ TST1 FMT PF .....A..........T.Name++++++RLen++TDpB......Functions++++++++++++++++++ *************** Beginning of data ************************************* 0000.01 0001.00 R RECFMT1 0002.00 FIELD1 10A 0003.00 FIELD2 5P 2 0004.00 K FIELD1 0005.00 ****************** End of data **************************************** F3=Exit F10=Top F4=Prompt F11=Bottom F5=Refresh F24=More keys
Press <F3>and hit <Enter>to save the member TESTDATA. For more details about exiting SEU refer to the section 'How to exit SEU'. The member TESTDATA that was just created contains only the definition of the data file and hence our the next step is to actually create the file. This can be done by compiling the member we have just created. From the 'Work with members using PDM' display, position the cursor at member TESTDATA, and choose option 14 (compile). If the compilation is successful, the file TESTDATA will be created in YOURLIB. Otherwise, look into your spooled file (WRKSPLF) and identify the problem.
converted by Web2PDFConvert.com
Library . . . . . . . . . . . Member . . . . . . . . . . . . .
F5=Refresh
F12=Cancel
Supply the values for the data base file to be loaded and the library it is contained in, and press <Enter>. For example, to populate our file TESTDATA we would fill in the values as shown:
Update Data with Temp Program (UPDDTA) Type choices, press Enter. Data base file . . . . . . . . . Library . . . . . . . . . . . Member . . . . . . . . . . . . . TESTDATA__ YOURLIB__ *FIRST____ Name Name, *LIBL, *CURLIB Name, *FIRST Bottom F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display
Enter the values for different fields and press Enter>. To stop the process of loading the data file, press <F3>and press < Enter>.
This section will only cover those aspects of screen design not related to interfacing with applications. For information on this area, see the manual for the language of the application source.
Starting SDA
The first steps in creating a set of screens for a program are the same as those for creating a program source member. A source physical file must be created (or one already in existence may be used) and a member must be created in the PF-SRC to hold the screens. To create the screen design member, issue the command STRSDA (for STaRt SDA) from a command line. A menu of options will appear which allow you to create a screen, create a menu, or test a design. Choosing the first option brings the following screen:
Design Screens Type choices, press Enter. Design option . . . . . . _ 1=Select file keywords 2=Select record keywords 3=Select subfile keywords 4=Select subfile control keywords 5=Define screen image (fields) 6=Save DDS source, create object Name, F4 for Record list Name Name Name, *LIBL, *CURLIB Name, F4 for Member list DSPF, Blank for default
Record . . . . . . . Additional records . (to be displayed on Source file . . . . . Library . . . . . . Member . . . . . . . Source type . . . . . F3=Exit F4=Prompt
. . . . Work . . . . . . . .
F12=Cancel
Since no screen design exists yet, it is necessary to first create one using the "5" option on the "Design option line". Also, a source file must be provided, and a member specified. If the member does not yet exist, it will be created. Finally, a record name must be given. Since each member can have several records, a single screen design member could contain any number of screens, with each one given a distinct record name. Once the information is entered, the screen should look like this:
Design Screens Type choices, press Enter. Design option . . . . . . 5 1=Select file keywords 2=Select record keywords
converted by Web2PDFConvert.com
Record . . . . . . Additional records (to be displayed on Work Screen) Source file . . . . Library . . . . . Member . . . . . . Source type . . . . F3=Exit F4=Prompt
. . . . . . . . . . . . . . . . . .
3=Select subfile keywords 4=Select subfile control keywords 5=Define screen image (fields) 6=Save DDS source, create object Name, F4 for Record list Name Name Name, *LIBL, *CURLIB Name, F4 for Member list DSPF, Blank for default
F12=Cancel
The "SOURCE TYPE" field may be left blank. It will default to the proper type for SDA.
These options will start SDA on a screen named SCREEN1 in the member SCRNMBR of file SRCFILE in library YOURLIB. Pressing <Enter> will bring up the main SDA display. This is simply a blank "pasteboard" on which you may place text and fields.
You can use the following function keys on the Work Screen:
F1=Help Press <F1> to show the same information as the help key. <F1> is active on all displays but does not appear in the function key area. F3=Exit Press <F3> to have the Design Screens display appear. F4=Prompt Press <F4> to have the Work with Fields display appear. F6=Condition Press <F6> to have the Condition Work Screen display appear. F10=Database Press <F10> to have the Select Data Base Files display appear. F11=Switch Press <F11>to display a list of selected database fields on the bottom row of the Work Screen. Press <F11>to switch back and forth between the list of selected data base fields and the list of not selected database fields. F12=Cancel Press <F12>to save your work and continue to the Design Screens display. F14=Ruler Press <F14>to place a vertical and horizontal ruler on the Work Screen where you position the cursor. The ruler does not interfere with your data. Press <F14>to remove the ruler. Defining fields on the ruler may cause unpredictable results. F15=Subfile Prompt Press <F15>to Display a prompt on the bottom row of the Work Screen that allows you to change the subfile line (SFLLIN) and subfile page (SFLPAG) sizes that were in effect for the current record being defined. F17=Print Press <F17> to Print the current contents of the Work Screen.
Adding Fields
To add a user-defined field, type + followed by I (input), O (output), or B (both) for alphabetic fields, or followed by 3 (input), 6 (output), or 9 (both) for numeric fields and press Enter. To add a floating point field, add a numeric field followed by E (single-precision) or D (doubleprecision) and press Enter. You can use uppercase or lowercase letters. You indicate the length of a field by the number of characters following +, or by the length specified in brackets after the first character. The following examples illustrate user-defined fields: +BBB or +b(3) Three-character, alphabetic, both (input and output) field. +66.66 or +6(4,2) Four-character, numeric, input field with two decimal positions (set by an edit word). +3.33E or +3(3,2)e Single-precision, input, floating-point field with three significant digits and two decimal positions. +99.999d or +9(5,3)D Double-precision, both (input and output), floating-point field with five significant digits and three decimal positions.
Adding Constants
converted by Web2PDFConvert.com
To add a new constant or change an existing constant: Type a constant. A blank character ends the constant. Type constants with single quotation marks to define separate constants for each character string (word) that is followed by a blank. Surround a character string with single quotation marks to define a single constant. Surround several constants with single quotation marks to redefine them as one constant. Use a double quotation mark to end one constant and start a new constant while taking up only one position. To add a MSGCON (MeSsaGe CONstant) field, type + followed by M. To work with a MSGCON field, type ? in front of the field. When you press Enter, the Define Message Constant display appears. Press < F12>to return to the Work Screen. To add system date or time fields, type *DATE or *TIME. Use the at sign (@) in pairs to delimit a DBCS (Double Byte Character Set) constant. SDA will replace each pair with a shift in and a shift out pair when you press <Enter>. You can then type DBCS data between the delimiters. You cannot use a DBCS insert key on
&n Places field. Does not add column heading. &nL Places field. Adds a column heading to the left of the field. &nR Places field. Adds a column heading to the right of the field. &nC Places field. Adds a column above the field. Left-aligns column heading for an alphabetic field and right-aligns column heading for a numeric fields. &nP Places the column heading only.
&P
You can carry out the above operations by typing * in the position preceding the field (the attribute byte of the field), pressing < Enter>, and working with the field keyword displays that appear.
converted by Web2PDFConvert.com
Reposition fields on the Work Screen by typing one of the following and pressing <Enter>: -, = Type - in the position preceding the field (the attribute byte of the field) and type = where you want the field to appear. -, == Type - in the position preceding the field (the attribute byte of the field) and type == where you want a copy of the field to appear. -, -, == Type - in any position preceding the field, type - in any position after the last field, and type == where you want a copy of the group of fields to appear. <<<, >>> Type <<< in the position preceding the field (the attribute byte of the field), or type >>> after the field (over the first attribute byte), to shift the field left or right as far as the signs extend.
Removing Fields
Remove fields from the Work Screen by typing one of the following and pressing <Enter>DO NOT use the <Delete>key to delete items on the work screen: Blanks Type a blank in the position preceding the field (the attribute byte of the field), and over the entire field. D Type D in the position preceding the field (the attribute byte of the field).
Additional Features
Extended field definition
Type * in the position preceding the field (the attribute byte of the field) to add field-level attributes and keywords.
Display field length and description
Type ? in the position preceding the field to display field length and text or column heading description on the last row of the Work Screen. You can rename the field by changing the name on the last row.
Display MSGCON field definition
Type ? in the position preceding the field to show the Define Message Constant display. You can change the message number, file, and library.
Date and time keywords
Type *DATE or *TIME to define special constants on the display where the system date and time will be automatically substituted.
. . . . . . . . . . . . . .
If create fails, display listing . . Replace existing file . . . . . . . Create file if DDS message severity (GENLVL) is less than . . . . . . Submit create job in batch . . . . . . Job description . . . . . . . . . . Library . . . . . . . . . . . . . F3=Exit F12=Cancel
. . . . . .
Y 20 Y QBATCH____ QGPL______
These options will compile all the screen records in member SCRNMBR of file SRCFILE in library YOURLIB to a *FILE object called SCRNFIL in YOURLIB. That file may then be used by user programs. It may be advantageous to test screen designs before using them with programs. This can be accomplished using the "Test Display Files" option from the initial SDA menu. The screen test program will request the name of a screen and display file (created using the compilation procedure above,) followed by a prompt screen for values for the output fields. SDA displays the screen with the values supplied.
Additional Parameters Compiler options . . . . . . . . *DEBUG____ *LIST, *NOLIST, *CHECK... + for more values *SOURCE___ Language level . . . . . . . . . *EXTENDED__ *EXTENDED, *ANSI83, *SYSTEM String temporary threshold . . . 2046____ 256-32767 F3=Exit F4=Prompt F24=More keys F5=Refresh F12=Cancel F13=How to use this display
The above example is from a Pascal source member. However, other languages will have similar prompt displays.
Placing the *DEBUG and *SOURCE options on the "Compiler options" lines will cause the compiler to produce a source listing and place it in the output queue and will include debugging information in the output program. Pressing <Enter>once all options are entered will submit the compilation. After the member has been compiled (assuming there are no errors in compilation,) the source listing should be printed and used with the next steps.
where TEST is the program in library YOURLIB, that you intend to debug.
10 statement numbers where the breakpoint should occur. For example, ' addbkp stmt(10 20 30) ' will set the breakpoints at statements 10, 20 and 30. The program breaks before processing a statement specified as a breakpoint.
You will notice that the program stops execution when the breakpoint is reached. From the 'Display Break Point' screen, you can check the values of the program variables as explained below: Press <F10>(command entry) on the 'Display Breakpoint' screen. This will take you to the command entry screen. Display the program variables with DSPPGMVAR command:
===> dsppgmvar VARNAME
where VARNAME is the variable name you intend to display. Using the above command, you can check for as many variables as you want to from the command entry screen. To exit the command entry press <F3>. Control is transferred back to the breakpoint. Press <Enter>to resume execution of the program. The program will stop at the next breakpoint if any, or will terminate.
4. You should next set the modem speed to 9600. This may be done with menu option 7, Select Modem Speed. 5. Next set the data bits to 8 and the stop bits to 2. This may be done with menu option P, Select Data/Parity Bits. 6. Finally, save the changes you have made to the SETUP so that you will not have to repeat this setup the next time you use PC-VT. This may be done by pressing the S key. 7. You may use the <ESC>key to exit the setup mode and return to the emulator mode from which you may access the port selector.
converted by Web2PDFConvert.com
<F2> <F3> <F4> <F5> <F6> <F7> <F8> <F9> <F10> <F11> <F12> <F13> <F14> <F15> <F16> <F17> <F18> <F19> <F20> <F21> <F22> <F23> <F24> <DEL> <Shift><Insert> <Enter> <Backspace> <Right Ctrl> <Home> <Insert> <Page up> <Page down> <Shift><Pt Scn> <Tab> <Shift><Tab> <ESC> <Alt><F7> <Left Ctrl> <Alt><Pt Scn>
<ESC>2 <ESC>3 <ESC>4 <ESC>5 <ESC>6 <ESC>7 <ESC>8 <ESC>9 <ESC>0 <ESC><ESC>+ <ESC>! or <ESC><SHIFT>1 <ESC>@ or <ESC><SHIFT>2 <ESC># or <ESC><SHIFT>3 <ESC>$ or <ESC><SHIFT>4 <ESC>% or <ESC><SHIFT>5 <ESC>+ or <ESC><SHIFT>6 <ESC>& or <ESC><SHIFT>7 <ESC>* or <ESC><SHIFT>8 <ESC>( or <ESC><SHIFT>9 <ESC>) or <ESC><SHIFT>0 <ESC>_ or <ESC><SHIFT><ESC>= or <ESC><SHIFT>= <DEL> <CTRL>d <RETURN> <ESC>i <LINEFEED> or <CTRL>j <ESC>H <ESC><DEL> <ESC>u <ESC>d <CTRL>p <TAB> <ESC><TAB> <ESC>a or <CTRL>a <ESC>(grave accent) <ESC><CTRL>w <ESC><CTRL>a <ESC>r or <CTRL>r <ESC>s
Switch View Exit Prompt Refresh Screen Roll Down Roll Up Get Previous Cmd Move to top List Toggle Cancel User support Main menu Scroll left Scroll right Scrl Option Scrl Menu Delete character Duplicate Send screen Field exit Insert mode Print Screen Next field Previous field Attention Ins. Special Char Indicator Toggle Refresh screen Reset term. err. System Request
Getting Started
1. From any command line type ==>STREDU <Enter>STREDU is an abbreviation for Start Education. 2. Select 5, Select course <Enter> 3. There are several courses in online education but the most useful ones in terms of using the AS/400 are: Tutorial Support System Facilities and Implementation Application Design and Development Tools Type 1 to select the desired course <Enter>. To display a description about a course select 8 in front of that particular course. 4. Select 4 to select an audience path for the course <Enter>. You can select all modules or one of the listed categories. The COMS 175--Command Language audience path is customized for the CS175 class. Type 1 to select one of them <Enter>. 5. Next, you can either select 1 to start the first module in the selected audience path of the course or 3 to select any module < Enter>within the selected course. 6. Follow the directions and read each screen carefully. 7. To exit in the middle of a module press <F3> where this option is available. This will give you a choice of exiting the module, exiting and setting a bookmark, exiting and marking it complete or go to a topic/subtropic menu for the module. At the end of most modules, there is a quiz. This can consist of questions from the module or examples that you walk through, or a combination of both. For the CS175 class, when you are finished with the quiz, obtain a screen print of the screen that tells you how many you answered correctly on the first try. If you forget to get a screen print, you need to go through the quiz again to get to that screen. To Obtain a Screen Print Press the <SHIFT>and PRINT SCREEN key (towards the upper right hand corner of your keyboard) at the same time. When the screen has been captured you will see a message at the bottom of your screen, which tells you that it has been sent to the default printer device.
converted by Web2PDFConvert.com
Press the <Reset>(at the bottom left hand corner of the keyboard), to clear this message and continue your session. Exit online education by pressing a series of <F3>keys until you have reached a command line. To check your screen print type WRKSPLF (work with your spool files). Your most recent screen print will be located at the bottom of the list and it will be titled QSYSPRT. To assign it to a printer, type a 2, change, and press <Enter>. This will change the status from not assigned to a printer, to assigned to a printer. At the Printer to use prompt, type the name of the printer you would like to send your printout to and press <Enter>. To see a list of all started printers, press <F4>on this line. This will give you a list of all started printers and from here you can select one by typing a 1 on the line before the desired printer. Press <Enter> to select this printer. You will return to the screen where you pressed <F4>. Press <Enter>again to accept this printer. For more information on printing, see the section "Printing Procedure" in this manual.
Reader's Comments
Use this form to tell us what you think about this manual. If you have found errors in it, or if you want to express your opinion about it (such as organization, subject matter, appearance) or make suggestions for improvement, this is the form to use. Be sure to print your name and address below if you would like a reply. After you have completed this form send it in the campus mail to:
AS/400 Staff Computer Services Box 45
converted by Web2PDFConvert.com
Today's Date: Your Name: Your Phone No.: Your Address: Your Comments:
Version 2.06 Copyright Minnesota State University, Mankato 1992,1995 Last modified: Thu Sep 18 00:28:14 CDT 2003 Jeffrey Hundstad
converted by Web2PDFConvert.com