Linoma's RPG Toolbox will modernize your RPG source code with the most up-to-date syntax and style available for your IBM i release.
There are four types of conversions that can be performed through the RPG Toolbox:
- Convert RPG III and RPG/400 source code to modernized RPG IV syntax.
- Update existing RPG IV source code to take advantage of the most modern syntax available for your IBM i release.
- Convert RPG IV fixed-format Calculation specifications to the free-form syntax.
- NEW! Optionally convert H, F, D and P specifications to the totally free-form syntax.
The conversions can be performed from IBM's RDi development environment, PDM or from SEU. The flexibility of the RPG Toolbox allows you to convert entire source members or just blocks of source code within a member.
RPG Modernization Features
The extensive modernization features in RPG Toolbox are listed below in summarized format. Most of these features can be switched on/off during a conversion, allowing you to customize the modernization process.
- Redefine data structure fields; list fields in relative position order, convert from/to positions to field lengths, add OVERLAY keywords and indent sub-fields.
- Move Calculation-defined fields and lengths to the Definition specs.
- Move *LIKE defined fields from the Calculation specs to the Definition specs.
- Move *ENTRY parameters from the Calculation specs into the Definition specs.
- Create data structures from KLIST fields and change file I/O operations to use the %KDS (search arguments in data structure) BIF.
- Convert ADD, SUB, Z-ADD, Z-SUB, MULT and DIV operations to EVALs or free form.
- Convert MOVE and MOVEL operations to EVALs or free form.
- Optionally convert MOVE(L) of *BLANKs or *ZEROs to CLEAR operations.
- Convert MOVEA (move array) operations.
- Convert CAT operations to EVALs or free form.
- Convert SETON, SETOF and COMP operations to EVALs or free form.
- Convert the constants of '1' to *ON and '0' to *OFF in indicator operations.
Built-in functions (BIFs)
- Convert traditional operations to their corresponding BIFs. For example, SUBST becomes %SUBST.
- Insert file I/O BIFs, such as %FOUND and %EOF, under file operations.
- Move IFxx, DOxxx, WHxx, ANDxx and ORxx expressions to extended factor 2.
- Convert eligible GOTO operations.
- Convert DO operations to FOR operations.
- Qualify END operations. For example, an END under an IF becomes an ENDIF
- Convert most conditioning indicators (left hand) to IF operations.
- Document the beginning and ending of IF, DO, DOW, DOU, SELECT, CAS and FOR structures.
CALL and CALLB Operations
- Convert CALL and CALLB operations to CALLP operations.
- Create prototypes for new CALLP operations.
- Convert CASxx operations to SELECT/WHEN or IF/ELSE operations.
- Convert subroutines to sub-procedures.
- Reformat fixed-format C specifications into free format style.
- Optionally convert H, F, D and P specifications into free format style (available in version 5.0).
- Add semicolon delimiters to the end of free format operations.
- Convert asterisk (*) comment designators to slashes (//) comment designators.
- Indent nested logic.
- Compress expressions to fit into the minimum number of source lines needed.
- Remove specification types from comment lines.
- Highlight comment lines.
- Convert asterisk (*) comment designators to slashes (//) comment designators (available in V5R1 of OS/400).
- Remove comment designators ( * or // ) from blank comment lines.
- Convert source logic to lower, upper or mixed case.
- Convert spec types to lower or upper case.
- Convert in-line source comments to either lower or upper case.
- Convert right-hand source comments to either lower or upper case.
- Generate a summary report of converted source member(s), with any exception messages.
- Set the source date on modified lines to the current date or to zeros.