Free Form Definitions

From MidrangeWiki
Revision as of 15:57, 31 May 2016 by DaveLClarkI (talk | contribs)
Jump to: navigation, search

One of the major new features of ILE RPG, introduced in 7.1, is free form definition specifications.

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 Statements

  • CTL-OPT takes the place of H-specs.
  • DCL-F takes the place of F-specs
  • DCL-C takes the place of D-spec constants
  • DCL-S takes the place of D-spec stand-alone fields
  • DCL-DS takes the place of D-spec data structures
  • END-DS is a new statement to terminate most DCL-DS statements
  • DCL-PI takes the place of D-spec procedure interface definitions
  • END-PI is a new statement to terminate procedure interface definitions
  • DCL-PR takes the place of D-spec procedure prototype definitions
  • END-PR is a new statement to procedure prototype definitions
  • DCL-PROC takes the place of P-spec begin statements
  • END-PROC takes the place of 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 >

Links

Dawn May: Free format RPG and TR7


This article is a stub. You can help by editing it.