On 16-Nov-2015 11:13 -0600, Thomas Garvey wrote:
I've got a CL program that creates and uses the outfile from a
However, the program is created on a v5r4 partition and must run on
a v5r3 partition.
The outfiles created by the DSPOBJD command are different on these
two OS levels.
There are 6 more fields on the v5r4 version than the v5r3.
The problem is that when the program runs on the v5r3 partition it
hard halts with
CPF0859 (File override caused I/O buffer size to be exceeded).
"The compile-time file was overridden with a run-time file with a
maximum record length smaller than the maximum record length of the
So, my question is, what can I do with this?
Are there different outfile descriptions available on the v5r4
partition I should use to compile my CL program on the v5r4
Thanks for suggestions.
As already noted, the alternate Record Format (RCDFMT) exists in the previous-release CL library, due to having been changed in the current release. The easiest resolution is IMO:
Do not library-qualify the FILE specified on the Declare File (DCLF), thus allowing the specification to default to *LIBL [or explicitly specify *LIBL]. Then when the Create CL Program (CRTCLPGM) command is used to compile the CLP using the TGTRLS(V5R3M0) Target Release specification, the compiler having implicitly effected the CHGSYSLIBL QSYSV5R3M0 as a precursor to that compile, the effect will be to have the program compiled inclusive of the Record Format from the v5r3 copy of the model file instead of the newer-release copy of the model file from QSYS; e.g. from a compiled listing, note the library-name as qualifier shown as output for the DCLF coded without the library-qualified name:
100- dclf FILE(QADSPOBJ)
QUALIFIED FILE NAME - QSYSV5R3M0/QADSPOBJ
RECORD FORMAT NAME - QLIDOBJD