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.


On 10/10/2013 12:38 PM, Gary Thompson wrote:
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.)

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

This thread ...


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