MIDRANGE dot COM Mailing List Archive



Home » MIDRANGE-L » December 2013

RE: V7R1 CL compile failing for CPYTOIMPF when specifying Targetrelease *PRV



fixed

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 by
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 parameter.
-----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 . .
.
. . . . . . *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) STMFAUT(*INDIR)
+
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 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.






Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2014 by MIDRANGE dot 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 here. If you have questions about this, please contact