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


  • Subject: RE: Calling a program without knowing the parms
  • From: Buck Calabro <Buck.Calabro@xxxxxxxxxxxx>
  • Date: Tue, 3 Jul 2001 14:26:51 -0400

>Is there any way I can call a program from a program 
>without knowing what the second (called) programs 
>name or parameters are at the time I write the 
>first (calling) program. I need to get any parameters 
>back from the second program into the first program.

That's a tall order!  I looked quickly at %paddr/procptr but that only works
for bound procedures, not external program calls.

>What I am trying to do is write one sockets program 
>that will run on the AS/400 and run a program that was 
>passed to it from a PC and then pass the results to 
>the PC. The pc will format the call and strip out the 
>returned parameters.

So these are batch programs you're wanting to call?  And they can have
variable number/type of parameters that you need to send to the PC?  How
nice it would be if these programs did output to stdout and you could simply
pipe the results...  This won't be a simple matter in RPG.  There's always
brute force:

eval pgmName inpPgmName
call pgmName
parm parm1
trap "wrong parameter list" error
if error
  call pgmName
  parm parm1
  parm parm2
endif
...
then you get to have fun assembling all the returned parameters to pass on
to the PC.

Of course, you could "cache" the program/library/parameter type information
in a file.  Try the "normal" CALL; if it fails, run the "discover
parameters" routine and store the results.  Then use those results as the
next "normal" CALL.

Perhaps there's another way around your particular business problem than
trying to directly call the 400 program.  Can you disclose what you're
working on?

Buck Calabro
Commsoft; Albany, NY
Visit the Midrange archives and FAQ at http://www.midrange.com
"Where so many hours have been spent convincing myself that I am right,
 is there not some reason to fear that I may be wrong?" -- Jane Austen
+---
| This is the RPG/400 Mailing List!
| To submit a new message, send your mail to RPG400-L@midrange.com.
| To subscribe to this list send email to RPG400-L-SUB@midrange.com.
| To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: david@midrange.com
+---

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:

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.