Warning: preg_match_all(): Compilation failed: quantifier does not follow a repeatable item at offset 11 in /home/nicklit/www/www/wp-content/plugins/seo-by-rank-math/includes/frontend/paper/class-singular.php on line 193
Feb 28

Modern ILE RPG now (finally) supports “fully-free” 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 is finally fully free form 1

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

RPG **FREE is finally fully free form 2

and *BOOM* cleanly formatted source code:


#NICE work IBM !

(0 votes) 0/10

About the Author

IBM i Software Developer, Digital Dad, AS400 Anarchist, RPG Modernizer, Alpha Nerd and Passionate Eater of Cheese and Biscuits. Nick Litten Dot Com is a mixture of blog posts that can be sometimes serious, frequently playful and probably down-right pointless all in the space of a day. Enjoy your stay, feel free to comment and in the words of the most interesting man in the world: Stay thirsty my friend.