You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
More fixed-format and indicator support, and several rules brought in
line with IBM i. Every change was checked against a real IBM i (PUB400).
- Data structures: a LIKEDS or LIKE subfield can have DIM, written before
or after it. %SIZE of a data structure is its length in bytes (it was
the C++ object's size), and CLEAR takes a subfield or an element.
- BASED data structures, free and fixed format, with LEN. The indicators
are now held as IBM i holds them, '1' and '0', so a data structure based
on %ADDR(*IN) gives them names. A pointer's INZ(%ADDR(x)) or INZ(*NULL)
is no longer dropped.
- The *IN array: *IN(i), *IN = value, CLEAR *IN and %LOOKUP over *IN.
- SETON and SETOFF in fixed-format calculations.
- An indicator the program refers to but never sets is an error
(RNF7030), as on IBM i; so is a fixed-format factor 1, factor 2 or
result field that is not left-adjusted (RNF0262).
- The RPG cycle: a program whose calculations end with LR off runs them
again, as IBM i does.
- A called program that returns with a halt indicator on is status 231 in
its caller, and rpgc's own halt-indicator message carries RNX0233.
The IBM i execution run now builds the programs the tests call, so the
CALL tests are compared too: 225 tests give the same output on IBM i.
CTL-OPT USRPRF and VALIDATE are not planned; they are accepted and ignored.