IBM i RPGLE FREE is finally fully free form

  • Home
  • /
  • Blog
  • /
  • IBM i RPGLE FREE is finally fully free form

February 28, 2017

IBM i RPGLE FREE is finally fully free form

By NickLitten

February 28, 2017

FREE, freeformat, ILE, RPG, RPG3, RPG400, RPGLE

Modern ILE RPG now (finally) supports “fully free form” RPG Source code

This means, we can write RPG code from column 1 to the end of the line — just like other languages. No more jumping to character 10 to get passed the old reserved (H,F,D,I,C,O) specification column.

You must code **FREE in column 1 of the first line of any source member that contains fully-free code. **FREE cannot be coded anywhere but the first line. After that line, the entire source member must be free-format.

If you need any fixed-form statements, I specs, you can put them in a /COPY file… or just write the code better 😉

In the following example, the code begins in column 1. The second DSPLY operation extends beyond column 90.
ctl-opt main(greeting);
dcl-proc greeting; 
 dsply 'Hello';
 dsply world!';

You can copy a fully-free copybook into “classic” source, and you can copy a classic copybook into fully-free source.

There is no limit on the length of your source code line. Obviously there is a limit on the record length for a source physical file, but there is no limit on the length of a line in an IFS file. IFS is the future and I predict we will be using IFS files for our source in code in the very near future. The /COPY directive will also allow any length for the copybook, and copybooks may be IFS files with a long path.

/FREE and /END-FREE directives are not allowed in RPG fully-free source code.

Fully-free RPG requires IBM i Release 7.3, Release 7.2 TR3, or Release 7.1 TR11. RDi Release 9.5 supports **FREE.

Neat RDi formatting with **FREE

Take your existing RPG code and add **FREE to line one

Rpg free form - add free in line 1

Then simply click FORMAT on the SOURCE menu (or press CTRRL|SHIFT|F)

Rpg free form - add free in line 1 format

and *BOOM* cleanly formatted source code:

Rpg **free

#NICE work IBM !

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}

Join the IBM i Community for FREE Presentations, Lessons, Hints and Tips