× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Yes it does but I forgot to mention about using %TRIMR() on the variable
you're passing to the API. Give that a try. (Shooting in the dark.)


Bob Cozzi
Cozzi Consulting
www.rpgiv.com


-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx]
On Behalf Of Joel Cochran
Sent: Wednesday, September 03, 2003 12:11 PM
To: RPG programming on the AS400 / iSeries
Subject: Re: QzshSystem API

I see where you are coming from but that didn't work either.  Bob
mentioned using a null terminated string, but doesn't *STRING take care
of that?

Is there another way to set the path?  Maybe it is defaulting to my home
directory?

This should be a lot easier... it surely doesn't make the IFS very
"integrated".

Joel
http://www.rpgnext.com


On Wed, 2003-09-03 at 12:46, Scott Klement wrote:
> Joel,
> 
> My best guess is that you don't have these commands in your path.   When
> you run mkdir the QShell needs to be able to find a command called "mkdir"
> in your path in order to run it.
> 
> Since you haven't actually started a QShell session, you probably haven't
> given it a path to search in -- therefore it doesn't know where to look
> for "mkdir", and so it returns "no such file or directory." (referring
> to mkdir, in other words "there is no file or directory called mkdir")
> 
> If this is the case, you can solve the problem simply by typing the
> entire path of the command, like this:
> 
>     cmdString = '/usr/bin/mkdir ' + localDir ;
> ...
>     qshErrorCode = qsh( '/usr/bin/cp -r /datacds/defs ' + localDir );
> 
> etc, etc.
> 
> 
> 
> On Wed, 3 Sep 2003, Joel Cochran wrote:
> 
> > I have been through the archives and read the documentation online, but
> > I do not understand what is going on here...
> >
> > I'm writing an RPGIV program that needs to create a new directory in the
> > IFS and copy another directory into the new directory.  It goes on and
> > does some other things, but those will work if I can just get this down.
> >
> > I'm trying to use QzshSystem to do this, but I can't get
> > QzshCheckShellCommand to recognize any of my commands.  Here is the
> > relevant code:
> >
> > d qsh             pr            10i 0 extproc('QzshSystem')
> > d  shCommand                      *   value options( *string )
> >
> > d checkShellCmd   pr            10i 0 extproc('QzshCheckShellCommand')
> > d  shCommand                      *   value options( *string )
> > d  path                           *   value options( *string )
> >
> > ...
> >
> >  /free
> >    localDir = '/datacds/' + allLowerCase( inLocal );
> >    cmdString = 'mkdir ' + localDir ;
> >    if checkShellCmd( cmdString : *NULL ) = 0 ;
> >      qshErrorCode = qsh( cmdString );
> >      p_errno = getErrorPtr();
> >      errorMessage = %str( strerror( errno ) );
> >    endif ;
> >  /end-free
> >
> > When I try it without checkShellCmd() first I get a return code of 7 and
> > the directory is not created.  I'm trying something similar with "cp" as
> > well:
> >
> >  /free
> >    cmdString = 'cp -r /datacds/defs ' + localDir ;
> >    if checkShellCmd( cmdString : *NULL ) = 0 ;
> >      qshErrorCode = qsh( 'cp -r /datacds/defs ' + localDir );
> >      p_errno = getErrorPtr();
> >      errorMessage = %str( strerror( errno ) );
> >    endif ;
> >  /end-free
> >
> > Is there some kind of QSH initialization or something I have to do
> > first?
> >
> > Thanks,
> >
> > Joel
> > http://www.rpgnext.com
> >
> >
> >
> > _______________________________________________
> > This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing
list
> > To post a message email: RPG400-L@xxxxxxxxxxxx
> > To subscribe, unsubscribe, or change list options,
> > visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
> > or email: RPG400-L-request@xxxxxxxxxxxx
> > Before posting, please take a moment to review the archives
> > at http://archive.midrange.com/rpg400-l.
> >
> _______________________________________________
> This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list
> To post a message email: RPG400-L@xxxxxxxxxxxx
> To subscribe, unsubscribe, or change list options,
> visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
> or email: RPG400-L-request@xxxxxxxxxxxx
> Before posting, please take a moment to review the archives
> at http://archive.midrange.com/rpg400-l.

_______________________________________________
This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.





As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

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.