Skip to content

v0.9.49

Choose a tag to compare

@github-actions github-actions released this 21 Oct 18:14
· 47 commits to main since this release
MOVE and MOVEL now behave as they do on IBM i. Each difference was
found by running the test programs on a real IBM i (PUB400), and each
fix was checked there.

- A negative number moved into a character field carries its sign in
  the zone of the last digit, as a zoned number does: -12345 moves as
  1234N, and a last digit of 0 as '}'. The sign used to be dropped.
- A character field moved into a number takes the digit portion of each
  character's EBCDIC (CCSID 37) code, so 'A1 ' moves as 110 with no
  error; a D zone in the rightmost character (J-R, '}') makes the result
  negative. Letters used to be status 907.
- A MOVE that cannot make a valid date, time or timestamp (status 112),
  or puts a date outside the result field's format range (114), now ends
  the program unless MONITOR handles it. It used to set %STATUS and
  continue.

Upgrading: a program that checked %STATUS after a failed date MOVE now
ends at the MOVE instead. Put the MOVE in a MONITOR group and test
%STATUS in ON-ERROR. MOVE has no (E) extender, on IBM i or here.

450 OpenRPG tests, 45 dspfc tests and 31 interactive display-file tests
pass.