Compiling

  1. If you specify CVTOPT(*NONE) in OPM RPG, all externally described fields that are of a type or with attributes not supported by RPG will be ignored. If you specify CVTOPT(*NONE) in ILE RPG, all externally described fields will be brought into the program with the same type as specified in the external description.
  2. In RPG IV there is no dependency between DATEDIT and DECEDIT in the control specification.
  3. Regarding the ILE RPG create commands (CRTBNDRPG and CRTRPGMOD):
  4. In a compiler listing, line numbers start at 1 and increment by 1 for each line of source or generated specifications, when the default OPTION(*NOSRCSTMT) is specified. If OPTION(*SRCSTMT) is specified, sequence numbers are printed instead of line numbers. Source IDs are numeric, that is, there are no more AA000100 line numbers for /COPY members or expanded DDS.
  5. RPG IV requires that all compiler directives appear before compile-time data, including /TITLE. When RPG IV encounters a /TITLE directive, it will treat it as data. (RPG III treats /TITLE specifications as compiler directives anywhere in the source.)

    The Conversion Aid will remove any /TITLE specifications it encounters in compile-time data.

  6. ILE RPG is more rigorous in detecting field overlap in data structures. For some calculation operations involving overlapping operands, ILE RPG issues a message while the OPM compiler does not.
  7. In ILE RPG the word NOT cannot be used as a variable name. NOT is a special word that is used as an operator in expressions.
  8. At compile time, the source is read using the CCSID of the main source file, while for OPM RPG, the source is read using the CCSID of the job.


[ Top of Page | Previous Page | Next Page | Contents | Index ]