× 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.




STRPCCMD is a fine thing to run PC programms on my PC from the iSeries. But
the command string can only be 123 characters long. This ist not enough,
when I want to print a word document by MS Word, which is located in a huge
directory structure.

There's about a million and a half different solutions to this problem.

a) You can work around the 123 character limitation by creating a batch file. You can even create it on-the-fly with STRPCCMD if you like. For example:

STRPCCMD PCCMD('cmd /c ECHO SET MYDOC=c:\documents and settings> 
C:\DATA\MYFILE.BAT')
STRPCCMD PCCMD('cmd /c ECHO SET MYDOC=%MYDOC%\alexander.acctdom\my documents>> 
C:\DATA\MYFILE.BAT')
STRPCCMD PCCMD('cmd /c ECHO SET MYDOC=%MYDOC%\weekly\credit memos\acme inc>> 
C:\DATA\MYFILE.BAT')
STRPCCMD PCCMD('cmd /c ECHO SET MYDOC=%MYDOC%\memo84612.doc>> 
C:\DATA\MYFILE.BAT')
STRPCCMD PCCMD('cmd /c ECHO start %MYDOC%>> C:\DATA\MYFILE.BAT')
STRPCCMD PCCMD('C:\DATA\MYFILE.BAT')

b) The biggest problem with the above method is that it only works with Client Access (errr.. iSeries Access.) It's rather proprietary, though for some reason that doesn't seem to bother iSeries people. For something less proprietary, use RUNRMTCMD.

To do that, you need to have an Rexec ("Incoming Remote Command") service running on the Windows box, there's one included with iSeries Access, and there's also many 3rd party ones available, search the Internet for more info on these. Search the archives of this mailing list for info on how to start the service.

Once you've done that, you need to obtain the IP address of the PC that's connected. You can get this with the QDCRDEVD API. Again, search the archives of this mailing list, complete code samples have been posted at least 4 times that I know of.

Once you've got that, you can simply use RUNRMTCMD with *IP to run teh command.

c) RUNRMTCMD with *IP uses the REXEC protocol. There's an rexec() API that you can call as an alternative to the command. One of the big advantages is that it's capable of receiving responses back from the programs and checking for errors on the remote side. RUNRMTCMD does the same thing, but the output goes to a spooled file instead of to your program which may not be way you want. So, check out the rexec() API.

I wrote an article that demstrates this API from an ILE RPG program. A search on iSeriesNetwork.com should locate that article.

d) QShell also has the ability to use the REXEC protocol (as do all of the Unixes, and many of the versions of Windows, including XP) via the rexec command.

Look up the rexec command in the QShell utilities reference manual in the Information Center for details. Here's a link to that:

http://publib.boulder.ibm.com/iseries/v5r2/ic2924/info/rzahz/rexec.htm

e) Change your application to use a web interface instead of a 5250 green screen. This'll be nicer than drab awful green screen to begin with, and has the native ability to have hyperlinks that open a document.

There are MANY other alternatives as well. SSH comes to mind, though I'm not sure how well you can use that with Windows, it would work great with Linux or BSD or OS X. I could probably list another half dozen ways, but the REXEC and STRPCCMD ones are by far the most common on the iSeries.


As an Amazon Associate we earn from qualifying purchases.

This thread ...

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.