Difference between revisions of "Free Form Definitions"
DaveLClarkI (talk | contribs) (→Free-Form Definitions) |
DaveLClarkI (talk | contribs) |
||
Line 44: | Line 44: | ||
DCL-C deleted 'D'; | DCL-C deleted 'D'; | ||
</source > | </source > | ||
+ | |||
+ | ==Fully Free-Form coding== | ||
+ | Another one of the new features of ILE RPG, introduced in 7.2, is a fully free-form coding format. The program source must start with **FREE and this removes all of the prior column restrictions for RPG source. | ||
+ | [*] All free-form statements can start in column 1 | ||
+ | [*] Column 5 is no longer reserved for fixed-form specification characters, compiler directives, or comments | ||
+ | [*] All comments must start with slash-slash, instead of an asterisk, and can be used practically anywhere/anytime | ||
+ | [*] The entire record length may be used for statement content—not just comments | ||
+ | [*] Column 80 is no longer the restricted right margin for statement content | ||
+ | [*] Record lengths greater than 100 characters are supported | ||
==Links== | ==Links== |
Revision as of 20:05, 27 December 2018
One of the major new features of ILE RPG, introduced in 7.1, is free form definition specifications.
Contents
Features
- Removes the column restrictions on definitions.
- Can be interspersed with standard, fixed form, definitions.
- /free and /end-free no longer required.
Requirements
- IBM i 7.1 or higher.
- 7.1 PTF 5770WDS SI51094.
- If using SQLRPGLE, 7.1 PTF Group SF99701 level 26 or higher.
Free-Form Definitions
The following are the new free-form definition statements to take the place of the indicated fixed-format specifications.
CTL-OPT . . equates to H-specs DCL-F . . . equates to F-specs DCL-C . . . equates to D-spec constants DCL-S . . . equates to D-spec stand-alone fields DCL-DS . . . equates to D-spec data structures END-DS . . . to terminate most DCL-DS statements DCL-PI . . . equates to D-spec procedure interface definitions END-PI . . . to terminate procedure interface definitions DCL-PR . . . equates to D-spec procedure prototype definitions END-PR . . . to terminate procedure prototype definitions DCL-PROC . . equates to P-spec begin statements END-PROC . . equates to P-spec end statements
Examples
<source lang="rpg">
D* fixed-form declarations D string S 50A VARYING D date S D DATFMT(*MDY) D obj S O CLASS(*JAVA:'MyClass') D ptr S * PROCPTR // free-form declarations DCL-S string VARCHAR(50); DCL-S date DATE(*MDY); DCL-S obj OBJECT(*JAVA:'MyClass'); DCL-S ptr POINTER(*PROC); // constants DCL-C max_count 200; DCL-C deleted 'D';
</source >
Fully Free-Form coding
Another one of the new features of ILE RPG, introduced in 7.2, is a fully free-form coding format. The program source must start with **FREE and this removes all of the prior column restrictions for RPG source. [*] All free-form statements can start in column 1 [*] Column 5 is no longer reserved for fixed-form specification characters, compiler directives, or comments [*] All comments must start with slash-slash, instead of an asterisk, and can be used practically anywhere/anytime [*] The entire record length may be used for statement content—not just comments [*] Column 80 is no longer the restricted right margin for statement content [*] Record lengths greater than 100 characters are supported
Links
Dawn May: Free format RPG and TR7
This article is a stub. You can help by editing it.