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
Two more behaviours brought in line with IBM i, each found or confirmed
by running programs on a real IBM i (PUB400).
- READ of a program-described file sets on the record identifying
indicator of the record type it identified and turns no other one
off; a READ at end of file changes none. rpgc used to turn off every
other record type's indicator first. This was the cause of the last
two unexplained differences on IBM i.
- MOVE or MOVEL of a character whose EBCDIC digit portion is above 9
('.', '+', '*', '<' and others) into a number is a decimal data error
(status 907) that ends the program unless MONITOR handles it, and the
result field is unchanged. rpgc used to set %STATUS, move zeros, and
carry on.
Upgrading: a program that reads several record types with READ and
relied on rpgc turning the other indicators off must now set them off
itself before each READ, as on IBM i:
C EVAL *IN01 = *OFF
C EVAL *IN02 = *OFF
C READ CUSTFILE
A program that tested %STATUS after such a MOVE now ends at the MOVE;
put it in a MONITOR group.
The IBM i conformance runs log in to PUB400 once per run, retrying when
the machine closes a new connection, and carry on when another job's
output queue survives the library clear.
452 OpenRPG tests, 45 dspfc tests and 31 interactive display-file tests
pass.