|
The order by parameter was added mid-release with PTFs, it was not part of
base V6R1.
In the previous release libraries, IBM only lays down the base commands
because they cannot guarantee what PTF levels the previous target release
system will have on it. Thus they have no choice but to provide the base
command to ensure compatibility with systems that do not have those
PTF's/code enhancements in place
This has nothing to do with whether or not you perm-applied your previous
release PTF's, the perm-apply recommendation is primarily for recovery
action in the event of a disaster recovery.
IBM's workaround is to copy the V7R1 version of CPYTOIMPF to the
QSYSV6R1M0, replacing the current version.
This has been completed, CPYTOIMPF target release *PRV compiles are now
working.
"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. "
-----Original Message-----
From: midrange-l-bounces@xxxxxxxxxxxx [mailto:
midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of John McKee
Sent: Friday, December 27, 2013 11:45 AM
To: Midrange Systems Technical Discussion
Subject: Re: V7R1 CL compile failing for CPYTOIMPF when specifying
Targetrelease *PRV
I wonder if the enabling PTF had been permanently applied, Also,
couldn't the PTF save file be restored to an alternate library and then
the components copied to the QSYSV6R1M0 library?
John McKee
On Fri, Dec 27, 2013 at 10:34 AM, Steinmetz, Paul <PSteinmetz@xxxxxxxxxx
wrote:
On my V7R1 LPAR, I prompted QSYSV6R1M0/CPYTOIMPF, the order byparameter.
parameter is NOT there.
It was there prior to upgrading to V7R1 only 1 month ago, Nov 2013.
Is it correct to say that when upgrading an OS release, PTFs that give
the new/additional parameters are deleted as part of the OS upgrade,
thus the previous release (V6R1) commands will "appear" as a base
command without the PTF added functionality.
-----Original Message-----
From: midrange-l-bounces@xxxxxxxxxxxx [mailto:
midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of Schadd Gray
Sent: Friday, December 27, 2013 9:14 AM
To: Midrange Systems Technical Discussion
Subject: Re: V7R1 CL compile failing for CPYTOIMPF when specifying
Targetrelease *PRV
Paul,
I believe when you compile *PRV the compiler looks at the command in
the
QSYSV6R1M0 library. If you did not apply the PTF SI44866 prior to
upgrading to V7R1, the command in that library will not reflect the
new parameter.
Thank you,
Schadd Gray
Damon Technologies, Inc.
www.damontech.com
-----Original Message-----
From: Steinmetz, Paul
Sent: Thursday, December 26, 2013 9:26 PM
To: 'Midrange Systems Technical Discussion'
Subject: RE: V7R1 CL compile failing for CPYTOIMPF when specifying
Targetrelease *PRV
Mark,
I found IBM doc N1015157, CPYTOIMPF and Record Order, states that the
order by was added by PTFs for both V7R1 and V6R1.
The latest V7R1 PTF is SI50479.
Does this mean if IBM changes functionality with additional
parameters, via PTFs, Target Release *PRV will not work.
SQL does not guarantee the order in which records are returned unless
an ORDER BY clause is specified. The CPYTOIMPF command uses SQL under
the covers (with no ORDER BY). Therefore, the order of the records in
the destination file was not guaranteed. This is still true for
release V5R4 and prior releases.
At V6R1 and V7R1, the CPYTOIMPF has been enhanced by PTFs with a new
option
ORDERBY:
CPYTOIMPF ORDERBY(*NONE)
CPYTOIMPF ORDERBY(*ARRIVAL)
CPYTOIMPF ORDERBY(Col1, Col2)
This enhancement needs to apply those PTFs, or their superseding PTFs:
R610: SI44866 (APAR: SE48718)
R710: SI44871 (APAR: SE49612)
Extract from the cover letters of those two PTFs:
CPYTOIMPF will allow the user to add a new parameter, Order By which
will order the records being exported. The Order By parameter will
support any valid SQL order by clause and the records will be exported
into the to file in the order requested by the parameter. This fix
includes a new version of the CPYTOIMPF command which includes the new
-----Original Message-----.
From: midrange-l-bounces@xxxxxxxxxxxx
[mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of Mark S Waterbury
Sent: Thursday, December 26, 2013 10:14 PM
To: Midrange Systems Technical Discussion
Subject: Re: V7R1 CL compile failing for CPYTOIMPF when specifying
Target release *PRV
Paul:
The CPYTOIMPF command did not have an "ORDERBY" parameter at V6R1 or
before that. That was added at V7R1, and perhaps even not added until
one of the "Technical Refresh" levels after V7R1 was released (because
when I prompt CPYTOIMPF at V7R1 and press F10=Additional parameters,
and put the cursor in the "ORDERBY" field and press F1=Help, it says
"Help not available.").
So, your CL program will not compile with TGTRLS(*PRV) unless you omit
the "ORDERBY(*ARRIVAL)" specification.
Cheers,
Mark S. Waterbury
On 12/26/2013 7:29 PM, Steinmetz, Paul wrote:
V7R1 CL compile failing for CPYTOIMPF when specifying Target release .
.STMFAUT(*INDIR)
. . . . . . *PRV
Compiles fine if Target release current.
Any known issues with Target release *PRV.
2300- CPYTOIMPF FROMFILE(*LIBL/ME5PHY01)
TOSTMF(&IFSFILE) +
2400 MBROPT(*REPLACE) FROMCCSID(37) +
2500 STMFCODPAG(*PCASCII)
+http://archive.midrange.com/midrange-l.
2600 RCDDLM(*CRLF) DTAFMT(*DLM)
STRDLM(*NONE) +
2700 RMVBLANK(*NONE) FLDDLM(*TAB) +
2800 ORDERBY(*ARRIVAL)
* CPD0043 30 Keyword ORDERBY not valid for this command.
--
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: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please take
a moment to review the archives at
http://archive.midrange.com/midrange-l.
--
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: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please take
a moment to review the archives at
http://archive.midrange.com/midrange-l.
--
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: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please take
a moment to review the archives at
--
--
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: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please take
a moment to review the archives at
http://archive.midrange.com/midrange-l.
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: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please take a
moment to review the archives at http://archive.midrange.com/midrange-l.
--
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: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/midrange-l.
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.