Thank you, I forwarded your ptf hint to our iSeries admin
From: midrange-l-bounces@xxxxxxxxxxxx [mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of CRPence
Sent: Sunday, October 13, 2013 2:24 PM
Subject: Re: un zip on iseries
I doubt my reply is very helpful, probably mostly redundant, for what has already been offered by others. Comments inline:
On 10 Oct 2013 14:07, Gary Thompson wrote:
Our V7R1 system does not yet have the required QZIPUTIL service
program nor QSYSINC header files.
The /yet/ being the key part of that comment. Of course "These new APIs are included in the latest level of the HTTP Server Group PTF - SF99368" according to the Announcement link provided in the iProDevloper link. So that should be easily-enough resolved.?
_APIs by Example: Zip and Unzip Files with the New 7.1 Zip API Support_ Dec. 8, 2011 Carsten Flensburg System iNetwork Programming Tips Newsletter http://iprodeveloper.com/rpg-programming/apis-example-zip-and-unzip-files-new-71-zip-api-support
However, I still lean to using the API thinking error handling may be
But of course /better/ is relative; as compared to what, is the obvious response. Regardless, I consider my zip\unzip activity to be a binary effect; i.e. either it works or it doesn't, with little thought about what might go wrong, until or if ever. I suppose that is a side effect of never having had any issues in the past. Other issues like /file not found/ errors are IMO very typically unhelpful in *nix-like environments, so using your own program from which good problem descriptions and recovery text could be offered to the user, in contrast with the utilities from Qshell or similar interface, might just be the /better/ effect alluded in that question.?
I have no experience [thus no] recommendation about what of the available choices might be a better choice [with regard to error handling, or otherwise], within some unknown parameters. But my prior response, irrespective all that, just points out the indirect nature of using a call to the QCMDEXC API [which is itself a CL command shell\interpreter] from within an RPG program just to invoke the QSH CL command in order to issue a Qshell command-request that then invokes the Qshell shell\interpreter *if* one were merely utilizing something like the _ajar_ shell request; i.e. a more direct route [by avoiding the CL command shell\interpreter] could be used to send the Qshell request directly to the Qshell shell\interpreter from an RPG program.
We have several production uses of Qp0lProcessSubtree (thanks to Scott
Klement) and these programs are reliable and easy to copy and adapt to
other uses, so my thought is the QZIPUTIL may be a similar
learning/development curve ?
I expect that using the newest "QzipZip()--Compress Files and Directories" API should be sufficiently like the other "Integrated File System APIs". Mostly because that list includes the aforementioned "QlgProcessSubtree()--Process a Path Name (using NLS-enabled path name)"
(and we have the iProDeveloper article and code from Carsten
Then also having available, the link to the IBM announcement:
_i IBM i 7.1 enhancements optimize ISV support i_ IBM United States Software Announcement 211-411; October 12, 2011 "...
_Application development enhancements_
Native archive and un-archive API support
IBM i supports the user's ability to both create (.zip) archive files and extract the contents of (.zip) archive files. This support includes native APIs and a service program to create (.zip) archive files, and the ability to extract the contents of (.zip) archive files. Multiple files and directories within IBM i can be compressed and packaged into a single archive file using the QzipZip API. Using the QzipUnzip API, the contents of the (.zip) archive file can be extracted to the target IBM i system. The service program QZIPUTIL has entry points that can be called by any other ILE program to create and extract (.zip) archive files. It is a system state user domain service program that adopts *USER authority. The service program has the following exported functions - QzipZip and QzipUnzip. The zip and unzip implementation on IBM i uses the open source zlib library to inflate and deflate the files. These new APIs are included in the latest level of the HTTP Server Group PTF - SF99368.
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,
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please take a moment to review the archives at http://archive.midrange.com/midrange-l