• Subject: RE: Calling a program without knowing the parms
  • From: "Alexei Pytel" <pytel@xxxxxxxxxx>
  • Date: Tue, 3 Jul 2001 13:55:30 -0500


There is a retrieve program information API which can return number of
parameters of *PGM object main entry point.

    Alexei Pytel

"The better is the worst enemy of the good"




                                                                                
                 
                    Buck Calabro                                                
                 
                    <Buck.Calabro@com       To:     RPG400-L@midrange.com       
                 
                    msoft.net>              cc:                                 
                 
                    Sent by:                Subject:     RE: Calling a program 
without knowing   
                    owner-rpg400-l@mi        the parms                          
                 
                    drange.com                                                  
                 
                                                                                
                 
                                                                                
                 
                    07/03/2001 01:26                                            
                 
                    PM                                                          
                 
                    Please respond to                                           
                 
                    RPG400-L                                                    
                 
                                                                                
                 
                                                                                
                 



>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
+---




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