System Openness Includes (Option 13)

The ILE RPG header files contained in file QSYSINC/QRPGLESRC have been updated.

Two and four byte binary fields have been converted to two and four byte integer fields, respectively. For example:

Old Header:
     DQUSM0200         DS
     D*                                             Qdb Mbrd0200
     D QUSBRTN03               1      4B 0
     D*                                             Bytes Returned
     D QUSBAVL04               5      8B 0
     D*                                             Bytes Available
     D QUSDFILN00              9      18
     D*                                             Db File Name
New Header:
     DQUSM0200         DS
     D*                                             Qdb Mbrd0200
     D QUSBRTN03               1      4I 0
     D*                                             Bytes Returned
     D QUSBAVL04               5      8I 0
     D*                                             Bytes Available
     D QUSDFILN00              9      18
     D*                                             Db File Name
These changes might cause an incompatibility to existing code that use the affected headers.
  1. An RPG program might fail to compile in cases where RPG requires an exact type match.
    • A parameter that is passed by reference on a prototyped call.
    • A single key field in a fixed form search operation.
  2. A recompiled RPG program might behave differently.
    • If the program is using the number of digits in the subfield for some other calculation (the prior binary subfields would have 4 or 9 digits; the new integer fields would have 5 or 10).
    • The edited form of the subfields would have one more byte so it might overflow a character work field.
    • If the program is expecting numeric calculations to truncate the high-order digits (RPG has fixed form arithmetic operations ADD, SUB, MULT, DIV which default to truncating without error).