Problem solve Get help with specific problems with your technologies, process and projects.

Nine skills every RPG programmer should have

Want to learn new technologies but don't know where to begin? Try simply expanding your current skills.

We all know technology moves at an amazing pace. Do you get the feeling you are being left behind? Are you becoming confused with all the "new" terminology such as Java, object-oriented, IFS, RPG IV, ILE, SQL, Navigator, Code/400, RSE, WebSphere this and WebSphere that? You know you want to move forward, but you don't know where to begin.

Why not begin with what you have on your system? Why not begin with simply expanding your current skills? Here are nine skills that every RPG programmer should have.

1. iSeries Navigator (Operations Navigator)
Do not be put off by the word "Operator." iSeries Navigator is the GUI interface for OS/400. Many of the new system functions are only being implemented in Navigator, i.e. there are no corresponding green screen commands.

Your main interest will be in the File Systems and Databases options, but feel free to explore Basic Operations or any of the other options that take your fancy.

2. The Integrated File System (IFS)
Did you know that the iSeries supports other file systems apart from QSYS? There is a PC-type file system, a Unix-style file system, QDLS (shared folders) and even the equivalent of Network Neighborhood!

These other file systems will become more important as you start to explore the new functionality of the system. How about being able to maintain a HTML document in an RPG program or (as of V5R2) storing your RPG sources in directories in the root file system as opposed to source physical files?

3. DB2/400
Get up to date with triggers and referential constraints. They will be at the core of new development, especially if the database is going be accessed from other platforms or from the Web. But to discover some of the newer features (column constraints, user-defined functions, etc.), you will have to become familiar with SQL. Read on.

4. Databases function in iSeries Navigator
DDS is dead! It will always exist on iSeries, but the only enhancements that might ever be made to it will be for print files. It will never be enhanced for database or display files. The Databases function in iSeries Navigator is the new GUI interface for maintaining your database and a fairly nifty way to ease yourself into the Data Definition Language of SQL. This is where you learn about Tables, Indexes and Views as opposed to Physical and Logical Files. It is also where you get to play with the new database features.

While you are there, have a look at Database Navigator. It allows you to create a diagram of your database, showing all of the relationships. Think of it as a pictorial version of DSPFD and DSPDBR.

5. SQL
Having played around with the DDL, you now need to start looking seriously at SQL. SQL is playing a bigger role in both the definition and manipulation of the database. It is now more common to see embedded SQL being used as opposed to OPNQRYF. Have a look at the Run SQL Scripts feature of the Database function in iSeries Navigator.

6. Code/400
Would you like to increase your productivity by 20% or more? Then you should be using either Code/400 or Remote System Explorer (RSE). Basically, they are the PC-based replacements for SEU, SDA, RLU and PDM. In addition, they offer a range of new features, such as a verifier that runs on the PC, online help to the relevant language reference manual and much more.

If you are still working in RPG III -– shame! There is no reason to be still programming in RPG III -- and I mean NONE! RPG IV has now been around for nine years, and it has had more enhancements per release then RPG III had in its 15-year existence. Get up to speed with RPG IV.

8. Subprocedures
When you start using RPG IV, you will soon come across subprocedures. They are the biggest change to RPG ever. Think of it as the ability to execute a subroutine in another program.

Subprocedures lead you into true modularization and a whole new way of writing applications. They are the also the lead in to Integrated Language Environment (ILE).

9. Integrated Language Environment (ILE)
This is what opens the system to brand-new possibilities. It provides a new means of structuring applications and allowing us to use the language best suited to the task without an enormous performance overhead.

ILE opens the door to a lot of the new system APIs. This is where you can come to grips with CGI, sockets, access to the IFS and more.

And then …
After that you can start on the road to learning HTML, Javascript, CGI, Visualage RPG, Java, WebSphere this and WebSphere that.

About the author: Paul Tuohy is CEO of ComCon, an iSeries consulting company. He is the author of Re-Engineering RPG Legacy Applications and is one of the quoted industry experts in the IBM Redbook "Who Knew You Could Do That With RPG IV?"

Look for Paul's upcoming webcast on -- "RPG skills for the new millennium."


  • Managing system performance using iSeries Navigator
    Do you have an iSeries not performing well? Are you trying to get your arms around iSeries Navigator so you can fix whatever is ailing it? Sue Townsend, a senior software engineer at IBM, answers some of your questions here.
  • Understanding and taking advantage of the IFS
    It's an old story, but if you are involved in any way with your iSeries' administration duties, you will want to be sure you understand your system's Integrated File System (IFS). Understanding what it is and how it works will allow you to take full advantage of the IFS. You also need to have a fairly comprehensive understanding of the IFS to perform routine saves and restores.
  • RPG trigger examples
    Check out these resources to get examples of triggers using RPG 400 or RPG IV.

Dig Deeper on RPG iSeries programming