|
Bryan,
I had a similar issue with CPYTOIMPF going from V6R1 to V7R1 back in 2013.
Below are the PMR notes.
"The CRTCLPGM is working correctly. The 7.1 PTF to add the ORDERBY parameter updated the CPYTOIMPF command definition (*CMD) object in library QSYS. When compiling a CL source member using the CRTCLPGM command and specifying (or defaulting to) TGTRLS(*CURRENT), the *CMD in library QSYS is used. However, when running CRTCLPGM with TGTRLS(*PRV) or TGTRLS(V6R1M0), CRTCLPGM will look first in library QSYSV6R1M0 to see if this in an IBM command that was shipped with IBM i 6.1 or an IBM licensed program that runs on IBM 6.1. The idea is to verify that the customer is not using function that does not exist on the 6.1 system that the CL is being compiled to run on. The CL compiler has no way to know if the target 6.1 system has the 6.1 PTF loaded that added the ORDERBY parameter to CPYTOIMPF. If the program were allowed to compile and the CL program was taken to a 6.1 system where the CPYTOIMPF command did not have an ORDERBY parameter, the CL program would fail at runtime with
CPF0001 for the CPYTOIMPF along with a diagnostic message that the ORDERBY parameter is not valid for CPYTOIMPF.
There is a work around if the customer knows that the 6.1 system where the CL program will be restored has the 6.1 PTF applied that added the ORDERBY parameter.
1) Rename the existing CPYTOIMPF command in QSYSV6R1M0 just in case it is needed later:
RNMOBJ OBJ(QSYSV6R1M0/CPYTOIMPF) OBJTYPE(*CMD) NEWOBJ(CPYTOIMPF2)
2) Copy the CPYTOIMPF command in library QSYS to library QSYSV6R1M0 :
CRTDUPOBJ OBJ(CPYTOIMPF) FROMLIB(QSYS) OBJTYPE(*CMD) TOLIB(QSYSV6R1M0)
Once this is done, any parameters valid for CPYTOIMPF command in 7.1 will be allowed when the command is used in CL source compiled for TGTRLS(V6R1M0). It will be up to the customer to not use any other parameters which will not be supported on their 6.1 system. "
Paul
-----Original Message-----
From: MIDRANGE-L [mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of Bryan Dietz
Sent: Monday, February 05, 2018 2:15 PM
To: Midrange- L
Subject: Problem compiling CLP to previous release
I ran across an interesting issue; created a simple CL on our v7.3 system to use DSPOBJD to an outfile and process the resulting records.
just a quick and dirty pgm.
I have to compile that program to v7r1m0 so I can run it on a few of our remaining v7.1 LPARs.
So when running on v7.1 I get a CPF0859 (File override caused I/O buffer size to be exceeded.) error.
I checked my compile options and everything looks right, so I open a PMR and am told that I(me, the end user) needs to copy the 7.2 version of the file in qsysv7r2m0 to the qsysv7r1m0 library.
I found out the file qadspobj changed between v7.2 and v7.3 the model file was only put into 7.2 previous release library.
Is it just me or does this seem like an object was missed being put in *ALL of the *previous release libraries?
Bryan
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list To post a message email: MIDRANGE-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please take a moment to review the archives at https://archive.midrange.com/midrange-l.
Please contact support@xxxxxxxxxxxx for any subscription related questions.
Help support midrange.com by shopping at amazon.com with our affiliate link: http://amzn.to/2dEadiD
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.