FAQ for the public AS/400

On this page you will find answers to frequently asked questions (Current as of september 19th, 2012)

01.) Why do i need to change my password at first sign on?
At creation time of your account, you will be given a special password which should be changed immediately. So you can use a password which will be easier for you to remember. Second, it might be possible that someone read the mail with your user data. To change your password later (recommended every 30 days) simply enter CHGPWD and press Enter.

02.) Where do i store my objects?
OS/400 organizes all data in "objects". These objects usually can be stored in so called "libraries". Imagine these libraries as directories on your PC (but without a subdirectory structure). Every user or usergroup on my systems has one or more of these libraries. On my systems, the name of these libraries is usually created by the name of the owning user profile followed by a number. If your user name is JOE, your libraries will be called JOE1, JOE2 etc.
Every time you need to enter a library name in a command, when calling a program or copying data, you can specify the name of one of your libraries, or you can use one of the following special library names:

  • *LIBL - The system will scan the library list of the current job until the first object with the given name has been found. The system does the scan in the order the libraries are stored in the library list. Every job can have its own library list (imagine this as a search order like the PATH variable on your PC). To view this list, use DSPLIBL, to edit the library list, use EDTLIBL (a changed library list will not be saved if you log off!).
  • *CURLIB Usually, a job has a current library (as on your PC, a current or working directory). On my systems, i give every user at sign on a current library, in most cases it is the first of your own library (JOE1 for example). So if you access an object by using *CURLIB as the library name, the system scans library JOE1 (in our example) for the object. If not found, the system reports an error, even if the object exists in an other of your libraries, JOE2 for example.
    You can change the current library using CHGCURLIB (until you log off). To view the current library, use DSPLIBL and scan for an entry with "CUR" in the column "type".

03.) Any limitations in connectivity?

The free IBM AS400 server is intended for individuals to start learning; so it is limited to two connections per IP address. The server is up and running 24*7, so you should be able to work any time. Two times a week a save will be run which might reduce performance.

04.) May i chose my user name without limitations?
Yes, as long as this name isn't already used. On my systems, the maximum length for a user name is 9 characters, and the name must start with a character. You also can use numbers in your user name, but i do not recommend this. Why?
As i wrote in FAQ02, when creating your user profile, i also will create some libraries for you. The name of these libraries is composed of your user name followed by a number. So when you chose JOE4FUN as user name, you will get libraries named JOE4FUN1, JOE4FUN2 etc. That is not quite perfect. But if you want to be named JOE123 on my systems, you should keep in mind that your libraries will be called JOE1231 and JOE1232. It's up to you :-)

05.) [PDM] Sometimes I can not create a program by using option 14?
When creating a new user profile, some defaults from IBM will be copied into your profile. These defaults are not perfect for my needs, but i can't automatically change these. So you need to do some steps after your first login:
After signing on, start the development manager, if you want to use it for programming. Enter STRPDM (then press enter key, i won't state this but assume you know this key :) In the following menu, use option 2 and press the enter key twice. You should see a list of objects in your first library. Then press the function key F18 (use shift+F6 on your PC keyboard). A new screen named "change defaults" should appear. Here please do the following:
Check the field "compile in batch", enter "Y" here. Then check the field "run in batch", it should contain "N". The first parameter is for running all compile jobs as a batch job, which will be faster than in interactive mode and other users aren't much affected. When the compile is done, you will receive a message if it was successfull. If you don't see a message after compiling, use the command DSPMSG to display your messages.
Last but not least: Be sure to fill the field "Job description" with your user name, and the library field below with "*LIBL". So your own job description will be used and noone can affect your compile runs.

06.) [PDM] I can't change my user defined options!
When using PDM, one can use special alphanumeric options beside the numeric options like 14 (compile) etc. I already defined some of these, but you might want to have some own options. Usually, you can change these options by pressing the F16 key (Shift+F4).
These user defined options normally are stored in a file QAUOOPT in library QGPL, accessible by all users. As i want to avoid some users changeing the options of other users, i defined this file as readonly for all users. You need to copy this options file into your own library for being able to change these options. To copy this file, enter:

You will see a screen with the entry for this file. Copy it by entering option 3 left of the objects name, then press Enter. In the following screen enter the name of your first library (e.g. JOE1) into field "To Library". Take care for "duplicate data", it must contain "*YES", else your copied file will be empty, and some nice user options are missing.
After having copied this file, you need to change your PDM defaults by pressing F16 (Shift-F6). Here, change "Job description" to the name of your user profile (e.g. JOE), then change the "library" entry below of "Option file" to the name of your library you copied QAUOOPT into (e.g. JOE1). Then press enter. Done!

07.) Which 5250 Terminal Client can be used?
In general, you can use every Telnet-client using a connection to port 23 (default) or 992 (SSL), so you might start with telnet.exe from your command line in windows or an appropriate program on unix. But you should chose a program supporting the 5250-protocol which IBM invented for working on their midrange servers. This 5250 is a protocol like VT100 defining special byte sequences for extended keys and display attributes. For example you might not be able to use the function keys 13 to 24.
You also can use the RDp or WDSc client software.
If you - for any reason - are forced to use a non-5250-compliant telnet-program, after signon enter the command DSPVTMAP which will show you the key sequences to use for the special keys on the AS400. For example, when using telnet.exe you need to press ^D or ^B (Ctrl-D and Ctrl-B) for paging.
Read this list about some programs:

  • IBM Client Access (Windows) - This is more than just a simple terminal emulation program. Client Access also contains a lot of programs for administering an iSeries and for accessing data by SQL using the ODBC interface. This program is not for free, so please dont ask me for sending a copy. If you have a license for client access to access your business machines, feel free to use it for accessing my systems.
  • IBM Client Access (Linux) - After a long time, IBM made available a part of the Client Access functionality to the linux community. This program is mainly a terminal emulation known from the old thin-client boxes model 100 or 300, plus some routines for data access. If your linux system is not configured for the en-us (english us) language, you might run into problems, but for linux users it might be a nice alternative.
    Link: http://www-1.ibm.com/servers/eserver/iseries/access/linux/index.html
  • Mocha TN5250 - This is the terminal emulation program i prefer. It is small, fast and does what i want. The cost is 25USD for a single user, but you can test this program for free. We are not afiliated with Mochasoft, but it is worth the money.
    Link: www.mochasoft.dk
  • TN5250JThis is a nice open source java based 55250 emulator. Recommended!
    Link: http://www.symtrax.com/en/products/telnet/question.asp
  • TN5250 - A project on sourceforge.com; it delivers a free 5250-emulator based on java, running on a lot of unix/linux-ports and windows. This one isn't tested by me, but report any comments :)
    Link: http://tn5250j.sourceforge.net/

08.) How can i upload my source members?
If you have text files containing source members on your PC or want to transfer source members from an other AS/400 system, you may try the following steps:

  • Check the line length! Usually a member in a source file on the AS/400 has 80 columns for your data. This number is defined when using the command CRTSRCPF in the parameter RCDLEN (record length). If you enter 92 here (like most users do), you will end up with 80 columns for your source code. The additional twelve colums will be used for the line numbers on the left (6 columns) and the edit date on the right (6 columns).
    To find out the maximum length for members in an existing source file, use the command DSPFD (display file description), e.g.:

    In the following display you'll see a lot of information on this file. Please page down twice and search for an entry named "Maximum record length". This is the number we're looking for. If it is 92, you will have 80 columns for the data, if it's 112, you'll have 100 columns for data.
    Why do i write so many text about this? One note: if you have a text file on your pc with 90 columns of data and comments, and you transfer this to a source member with a maximum of 80 comlumns, the system will simply drop the mostright 10 columns :-)
  • I will describe the transfer using the command FTP.EXE in the command line window (Windows). If you use a different ftp program, you possibly don't need to type as much, but need to use your mouse :)
  • Let's assume your text files containing some source are located in the c:\temp directory of your harddrive, named prog1.txt and prog2.txt. Your library on my AS/400 is called MYLIB1
  • Use the following commands:
    command purpose
    C: changes current drive to C:
    cd \temp changes current directory to your temp directory
    ftp pub1.rzkh.de start a ftp connection to my system.
    (sign on)  
    cd /QSYS.LIB/MYLIB1.LIB changes the current directory on my AS/400 to your library MYLIB1
    Notice the leading slash (/) to reach the IFS-main path, then enter the library file system by entering QSYS.LIB, and then you can reach your own library. Also notice this special format with the extension! If your ftp program sends a message about "name format", this is what you see in the extensions. The AS/400 system only knows object types in the QSYS-Filesystem, so the type is to be stated using extensions.
    cd QRPGLESRC.FILE changes directory into your source file QRPGLESRC within your library.
    ascii set transfer mode to ASCII (not binary!)
    ls Shows the contents of the current directory (which is your source file for RPG, QRPGLESRC).
    (OS/400 shows all objects like directories)
    put prog1.txt prog1.mbr Copies the file PROG1.TXT from your pc into the source member (.mbr = Member) PROG1
    mput *.txt *.mbr
    to transfer multiply files.PROMPT is used to deactivate the confirmation of every single file to transfer. MPUT means "multiple put".
    QUIT sign off
That's all. Before compiling, use PDM to check your files and set the correct type for every member.
If you want to fransfer members from the AS/400 to your pc, you will use the same commands, except for PUT which needs to be replaced by GET.

09.) How can i use encrypted transfer (SSL)?
That is an easy one! Simply use a telnet software which is SSL capable. You can use Client Access (if you have a copy), but then you might need to have a certificate of my server - please ask for that. A more easy way is to use a program like mochasoft (www.mochasoft.dk) where you simply can select SSL in the advanced connection settings. If i remember right, a freeware java-based program named tn5250j is also SSL-capable.

10.) How can i transfer objects / programs to this AS/400?
If you want to transfer source files, have a look at FAQ08. If you want to transfer binary objects like programs or whole libraries (please regard your memory limit) you must use a savefile. Create the save file on the source system and do a binary FTP transfer to our machine. The method of transfer is likely similar to the method of FAQ08, but you must use the BIN command before you start the transfer. Also, use one of your libraries as the target. And: the name of the object you transfer should have the extension .SAVF so the AS400 will directly remember the object type "save file". An example: you have some objects saved with SAVOBJ in a savefile called MYSAVF. You transferred that save file to your PC, and its name is MYSAVF.savf; then do the following FTP commands:
(use your favourite FTP client or use DOS box in Windows)
ftp:   (signon)
ftp:   cd /qsys.lib/yourlib2.lib (your library name is YOURLIB2)
ftp:   bin
ftp:   put mysavf.savf mysavf.savf (enter the name twice as the second parameter is the name on the AS400 side thus automatically creating the save file)
ftp:   quit
Now you end up having an object MYSAVF of type *SAVF in your library YOURLIB2. Then use the command RESTOBJ here to restore the contents to a temporary library. Note: the usual OS/400-command RSTOBJ does not work for security reasons. So i wrote a special program. This one is not 100% working, if you encounter problems, contact us at support400@rzkh.de

11.) My library does not contain QLBLSRC, is the COBOL compiler not available?
Sure the COBOL compiler is available. It is just my program to create the user profiles which did not create the source physical file named QLBLSRC for you...
Simply create it by using the following command:
CRTSRCPF FILE(library/QLBLSRC) TEXT('My cobol sources')
By the way - the name of the source physical file where you store your sorce members is not important. You can store source members in any file created with the command above. It was just that anyone used the names of the example files delivered by IBM named QLBLSRC, QCLSRC etc...

12.) My trial period expires, how can i continue working?
There is no trial period on this public AS/400 - you can access this free system for an unlimited time. Maybe this message is shown by your 5250-emulator software as it is a shareware program and needs to be registered after a certain time (if i remember correctly, mochasoft uses this technique). Please ask your software vendor about this, or have a look for a free TN5250-emulator program.

13.) Cannot connect / no signon screen
The public system is running 24 hours a day. One exception: we are running some maintenance procedures. As this website also is running on the public AS/400 you can assume we're doing maincenance if the website is down :-)
If you cannot connect, please do the following:

  • open a DOS-Command-Window
  • the above command should resolve the system name to the addres and there should be answers to the PING request
  • the above command should display a simple signon mask. If these tests fail, please check your local network! The ports for TELNET (23) and PING/ICMP should be open at your site, here they are opened. Maybe there is a local firewall at your site, contact your network administrator.
You also should check if you have set up a display or device name in your terminal emulator program. If you leave the appropriate field empty, the AS/400 should always display a signon screen. If you have any name entered, the cause for not receiving a singon display might be:
  • The device name is already in use by an other user
  • The device has been disabled (e.g. for too much faulty signon attemts)
In these cases please use an other display name or leave it empty.

14.) I have problems in compiling when using @ and signs.
This system used the CCSID (character code set id) of 273 for long times as it has been primary used by german speaking people. When changing to international users, the CCSID has been set to 37 to reflect the international character sets. But existing files (esp. source files) still run with CCSID(273). When you enter sources containing the @ sign it might be converted to and your compile will fail.
Solution: use the following command to chang your source file to CCSID 37, recheck your members and recompile:

  • CHGPF FILE(yourlib/yourfile) CCSID(37)
  • yourlib reflects your library name, yourfile reflects the name of your source file like QRPGLESRC.
    If this will not help, please open a ticket.

    15.) Need access to Synon or other development tools like PHP, MySQL
    At this moment, we cannot offer Synon as the softvare vendor asks for a license fee of about 40.000-60.000 US-Dollars, this is too much. Maybe you have a contact with them and can try to convince them for giving an educational license. Tools like PHP and MySQL are available in the developer packages on V5R4 and V6R1 systems.