SUBSCRIBE | RENEW | HOME | CONTACT US | ABOUT US

 

Get a FREE trial to the Total Information Service, includes Insider Weekly and
iSeries 400 Experts Journal

A Publication of iSeries 400 Experts Total Information Service

RPG enhancements: Users, industry experts, and IBM offer their wish list

By Heather Ellwood
Monday, May 02nd, 2005

      The RPG language was invented in 1965, and during the 40 years since that time, IBM has released four official language definitions — each of which have included enhancements as hardware and operating systems have been released. Now IBM’s Toronto Lab is working on enhancing the language for V5R4, with a little help from iSeries users.

      “IBM owns the RPG language, so if users want changes, they can go to IBM. Most changes happen because of customer feedback, and sometimes we make changes when we think it is the right thing to do. Since IBM owns the language, the best way to make it better is to ask customers what they would like to see. Over the years, we have compiled a list of what customers would like to have added in the language. We put all of our customer suggestions in a database, and send a survey to customers and ask them to rank which enhancements they would like to see most. We use that database of suggestions to ask customers what is most important to them, and the most popular enhancements get implemented in the language and make it into the next release,” says George Farr, RPG development manager, IBM Toronto Lab, Markham, Canada.

      While these are not concrete plans, the following are the top 12 enhancements to the RPG language that iSeries users, and Farr would like to see in future releases:

      1. LEAVE and ITER with a condition/expression. In the current version of RPG, they have to be separately conditioned.

      2. EVALUATE Corresponding as a new opcode. This opcode could also be coined EVAL-Corresponding, EVAL-CORR, or EVAL-C. “This is invaluable when you need to copy a large number of fields from the database to the display file. It would be a great addition to the RPG language,” says Jon Paris, Partner400, Toronto, Canada.

      Note: This will be included in the next operating system release, according to Farr.

      3. XML support. “COBOL got this in V5R3 but the implementation is klutzy. The RPG implementation holds promise, but people shouldn’t expect too much in the early stages. If it is based on the COBOL version, it will be a Simple API for XML (SAX)-like parser with limited capability,” says Paris.

      Note: This will be included in the next operating system release, according to Farr.

      4. Type and Type Structure (LIKE and LIKEDS) support. This facility allows you to define your own data types in RPG.

      5. Full Null field support. “I hope the rules are easy to understand, otherwise this could be the source of more errors than any other single feature. It is sorely needed, though, as SQL-developed databases become more and more the norm,” says Paris.

      6. Procedure overloading support. According to Farr, multiple procedures with the same name will be supported, and will be able to distinguish them by procedure signature and the number and types of parameters. “I would rather IBM give us type-less parameters with full discriptor support (even if it is RPG only). Then we can write these kinds of interfaces ourselves. I’m not convinced this is worth the effort,” says Paris.

      7. 80+ columns/characters support in source code. There will be an option on the H-spec that will allow 100 columns. “I’ll only think that this is a good idea when the last RPG programmer abandons SEU! If you can’t easily see the extra columns, there doesn’t seem to be much of a point,” says Paris.

      8. %FIELDS support for more than UPDATE. “I can’t think of a really good use for this enhancement, because RPG only processes the fields it is using anyway. UPDATE made sense, though,” says Paris.

      9. Alias names support. “COBOL has had this for ages and SQL can use them. The days of 10 character field names are over and it will be nice to be able to use the longer alias names,” says Paris.

      10. Evaluate Overlay, or Eval(O), support. The operation extender, O, will be added to EVAL and EVALR. “When /Free was introduced, the flame wars ran for months over the non-support of MOVE in /Free. This attempts to replace part of that function, but in my opinion, it will simply annoy people when it fails to support all of the many other things that MOVE does (like convert numeric to character). If it is only going to overlay, forget it — %Subst is far more obvious. I’d rather see IBM use the money elsewhere,” says Paris.

      11. Disconnect from DDS support. The language will be able to decide which user interface (UI) to use — users will just execute UI (EXEUI).

      12. Tooling enhancements. These include modernization tools for programmers — for example, thread serialized and thread full support (for executing in parallel), and a special device to handle more than sequential for read, write, update, etc.

      “Special files have needed an upgrade for years. It needs to have a procedure interface option as well as handle all operation types, external descriptions, etc. Thread support is not widely used, even among Java programmers, and the current system seems to work well. If it is a cheap fix that doesn’t reduce the number of other enhancements, then fine, but not if it uses all of the [development] budget,” says Paris.

      The bottom line is that RPG is not dead and users need to move to the latest version of the language. “The best thing that we ever did to the [RPG] language was to add procedures. You have got to get modern and use procedures. People ask me all of the time if the language [RPG] is dead. The answer is no. We are enhancing it. You have got to get out of RPG III and into RPG IV. RPG III is dead. We are only enhancing RPG IV and RSE,” says Farr.

First Name:
Last Name:
Job Title:
E-mail Address:
In This Week's Issue
The top 10 System i stories of 2007
The top 10 System i market influencers in 2007
Insider Update...

In Last Week's Issue
Getting ready for V6R1: What you need to know about program conversion
Analyst pegs midrange server decline to shaky economy
Real IT strategies: Encrypting fields with RPG and SQL
Insider Update...



Current Issue
Enhancements to WDSC and RSE mean now is the time to switch
Add value to your System i with Enterprise Open-source solutions
Create data-driven Web sites with Visual Web Developer
Get to your database quickly with new programming interfaces from the System i Access for Linux Toolkit
Get committed, Part II: A closer look at commitment control and journal entries
Four steps to effective password change management in Lotus Domino