Peter, thanks for the hint, from that I found an iPro thread where SK
shows the QP2SHELL prototype and an example call:
D QP2SHELL PR extpgm('QP2SHELL')
D @Cmd 65535A const options(*varsize)
D @Arg1 65535A const options(*varsize:*nopass)
D @Arg2 65535A const options(*varsize:*nopass)
D @Arg3 65535A const options(*varsize:*nopass)
D @Arg4 65535A const options(*varsize:*nopass)
D NULL c x'00' null character
So, my SWAG for the call:
/free
MyJarCmtTxt = 'cd /JVAGATE ; '
'
QP2SHELL( '/QOpenSys/usr/bin/sh' + NULL
: '-C' + NULL
: 'cd /JVAGATE ' + ';' + ' jar xf myarcfile.ZIP ' + SLOGON);
/end-free
Ok, no doubt that's far from the mark.
And, Thanks again to Scott Klement.
-----Original Message-----
From: midrange-l-bounces@xxxxxxxxxxxx [mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of Peter Connell
Sent: Thursday, October 10, 2013 12:29 PM
To: Midrange Systems Technical Discussion
Subject: RE: un zip on iseries
I have versions of zip/unzip that I use via QSH for manual stuff.
For programmed solutions I just invoke the same zip or unzip via a call to QP2SHELL, pretty straight forward.
Peter
-----Original Message-----
From: midrange-l-bounces@xxxxxxxxxxxx [mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of Vernon Hamberg
Sent: Friday, 11 October 2013 6:55 a.m.
To: Midrange Systems Technical Discussion
Subject: Re: un zip on iseries
Gary
I'll jump in here.
You can specify a QShell function on the QSH CL command. An example might be if you want to put a directory listing into an IFS file.
To just show a directory listing, do this -
qsh cmd('ls')
To put a directory listing into a file named dirlist.txt in your home directory, do this.
qsh cmd('ls > dirlist.txt')
This will actually create 'dirlist.txt'.
Then run the WRKLNK command and you should see the output file.
You can even have output go to a PF, but it's a little more interesting.
That PF has to exist already. You can create it in the QShell command string, or do it with CL.
QShell commands can be chained - so this would create the PF, then run the ls command into it. The semi-colon let it ignore an error like the PF already exists. I don't remember what separator makes it stop on an error.
qsh cmd('system "crtpf qgpl/lsout rcdlen(255)"; ls >
/qsys.lib/qgpl.lib/lsout.file/lsout.mbr')
To append to that file, use a double right-arrow.
HTH
Vern
On 10/10/2013 12:38 PM, Gary Thompson wrote:
John,
I have some experience with API's, and will be working on Carsten
Flensburg's example on iPro, but you have my attention.
I do a fair amount of RPG call to QCMDEXC but never QSHELL so a simple
example would really help.
Thanks, I appreciate your posts.
-----Original Message-----
From: midrange-l-bounces@xxxxxxxxxxxx
[mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of John Yeung
Sent: Thursday, October 10, 2013 10:58 AM
To: Midrange Systems Technical Discussion
Subject: Re: un zip on iseries
On Thu, Oct 10, 2013 at 12:45 PM, Gary Thompson <gthompson@xxxxxxxxxxx> wrote:
Any reason not to use system i API zip/unzip ?
(currently looking at API example by Carsten Flensburg, published on
iPro Developer 2/8/2011)
If the rigamarole of using APIs does not put you off, and the performance of the system zip and unzip are sufficient, then no, there's no reason not to use it.
The two main reasons people typically *don't* use the system API are
(1) it's not available on their version of the operating system, and
(2) it is way easier and simpler to just use jar, ajar, or a third-party program.
Remember, anything you can do on a QSHELL or CL command line, you can
do in a CL or RPG program. (In the case of RPG, the easiest would
probably be to call QCMDEXC, which is still, for most people, way
easier than fiddling with system APIs.)
John
--
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 correspondence is for the named person's use only. It may contain confidential or legally privileged information, or both. No confidentiality or privilege is waived or lost by any mistransmission. If you receive this correspondence in error, please immediately delete it from your system and notify the sender. You must not disclose, copy or rely on any part of this correspondence if you are not the intended recipient.
Any views expressed in this message are those of the individual sender, except where the sender expressly, and with authority, states them to be the views of Veda.
If you need assistance, please contact Veda on either :- Australia 1300-762-207 or New Zealand +64 9 367 6200
--
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.