On using the 2E 8.7 environment, noticing that null fields are behaving in a way that raises concerns for the given null fields being dropped. Behaviour observed in 8.7 is not what was experienced in prior 7.x releases
Release: 8.7 and above
CA 2E
In 2004, post 2E r8.1, it was identified that in previous releases, returned null output parameters from called functions were incorrectly being generated as moves into result fields. This was resolved by making the necessary changes to prevent the generation of null output parameters on Factor 1 of PARM opcode.
Prior to the changes, the returned null parameters from called external functions were incorrectly being generated as moves into local fields, e.g.:
C CALL 'CCC4XFR' 90
C PARM *BLANK W0RTN 7
C PARM PBRC
C YL0009 PARM *BLANK WQ0001 1
C YN0001 PARM *BLANK WQ0002 25
After the changes, it was ensured that null output parameters aren't generated and copied to real fields. The equivalent generation is as follows:
C CALL 'CCC4XFR' 90
C PARM *BLANK W0RTN 7
C PARM PBRC
C YL0009 PARM *BLANK WQ0001 1
C PARM *BLANK WQ0002 25
This matches the generation occurring and is working as expected.
We do not foresee any issues due to this, at r8.7, including the potential of a null field being dropped.