« Technology and Age | Main | Time to get iThusiastic! »

June 11, 2014


Dan Devoe

I am one who embraced the completely /free-form syntax.

For many years, I have been using the CODE editor - in XP Mode - for my RPG development. XP mode was required because Windows 7 64-bit didn't play well with the IBM Communications interface.

When IBM introduced the completely /free-form syntax, it would not be supported in CODE (let alone XP mode supported by Microsoft).

Fortunately, IBM was very wise in making sure that RDi 9 supported the completely /FREE-FORM syntax!

I just had to try it, and see for myself if the truly /free-form syntax worked properly in RDi, and if it would make my life easier.

Well - it DID work! And, I converted a few of my service programs to completely /FREE form - and absolutely could not go back to CODE from that point forward.

I'm proud to say that our company now owns an RDi license, and if we ever hire another programmer, we will purchase another.

However, saying that RPG is now complete /FREE form is a bit invalid - I specs are still required.

No worries... I created a source member for just I-specs, surrounded by /IF DEFINED directives, and copied that source member in. Works beautifully!

The majority of our code from our ISV has been around for quite some time, and is all RPG/400. For support reasons, we try to minimize the amount of changes to their code. However, I converted one of their order-entry programs that we had heavily modified from RPG/400 to RPG-IV, then spent a few days rewriting logic in completely /FREE form. It is presently being tested.

Negativity? You won't hear any rumbling from me. :-)


^I-specs are still required? Where? I can't think of anything offhand, that can't be done in the D-spec instead...

Dan Devoe

I-specs are still required? Where?

We use a few multi-format join logicals that have been provided by our ISV.

The I-specs are to determine (which record format got read, and to optionally rename some fields so they match between formats.

There aren't many of these, but they do exist in my shop.

So rather than clutter up the nicely-format /FREE code, all my I-Specs will be stored in one I-SPEC member, and the program I'm working on will contain
followed by

The I-SPECS member will have all the I-Specs used by any converted program, all surrounded by /IF DEFINE logic.

George Fusté

Thank you Jon and Susan for continuing to support the IBM i platform and RPG. You have become synonymous with modern RPG techniques and its applications.

Your commitment to educating the IBM RPG community is tireless and always inspiring. RPG is truly a business language and continues to support the largest industries in the world every day without issues.

I look forward to seeing you two again if you are in Florida in the near future. Keep up the good work!

Account Deleted

You mention a list of suprises in this blog. I've look everywhere to try to find it, but it isn't obvious to me. Where is it?

IBM Blogs

Hi Barry,

You'll find the list in the EXTRA article here:

Thanks for reading!

Ray Gillies-Jones

For a laugh, I wrote a Java to RPGLE converter. Java source in, RPGLE source out. It was an interesting exercise, and worked reasonably well. No idea of the practical uses of it though!

The comments to this entry are closed.