× 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: "Peter Dow" <pcdow@xxxxxxxxx>
  • Date: Tue, 3 Jul 2001 15:09:31 -0700

Hi John,

Sounds like you're trying to do this without having to modify each of the
possible called programs. However, if you can have the PC program(s) send
you the number and descriptions of the parameters that pgmB is expecting,
you could initialize the fields yourself.

As far as building the parameter list on the fly, just always pass more
parameters than the called program will need, as in my earlier example:

pgmA:
    call    pgmB
    parm            a
    parm            b
    parm            c
    parm            b

pgmB:
    *entry    plist
              parm        x
              parm        y

If you can have the pc pgm tell you the number and type of parameters that
pgmB requires (e.g. 2 parameters, packed decimal 5.0 and unsigned binary
3.0), you could also have it pass you the initial values.  Then if a and b
are defined as

    d a            s        1a    based(ptrA)
    d b            s        1a    based(ptrB)

then as soon as you get the data from the PC program, point a & b to that
data:

    c    eval    ptrA = %addr(PCdata_A)
    c    eval    ptrB = %addr(PCdata_B)

I'm no pointer guru, but I think it would work something like that.

Regards,
Peter Dow
Dow Software Services, Inc.
909 425-0194 voice
909 425-0196 fax



----- Original Message -----
From: "John Ross" <jross-ml@netshare400.com>
To: <RPG400-L@midrange.com>
Sent: Tuesday, July 03, 2001 2:16 PM
Subject: Re: Calling a program without knowing the parms


> I am willing to have the PC format the call however it has to. If that
means
> program name char 5 value char 30 value packed 5.0 value packed 5.0 value
> getting the number of parms and the size of the parms can be setup on the
> PC because it knows the program it is calling and the parms and size of
> them the program needs.  I am just not that good at ILE to know how I
would
> define the parms on the AS/400 side on the fly.
>
> And I can not be sure that pgmB will initialize the out parms before they
> are used.
>
> Thanks
> John Ross
>
> At 01:08 PM 7/3/01 -0700, you wrote:
> >[snip]
> >
> >If John's situation is that all pgmB's have parameters within a certain
> >range (e.g. no more than 20 parameters, each parameter no larger than say
> >256a) and the PC program can figure out the data, he might be able to do
it.
> >If not, I don't know any api that will tell you the size and type of a
given
> >program's parameters.
> >
> >Regards,
> >Peter Dow
> >Dow Software Services, Inc.
> >909 425-0194 voice
> >909 425-0196 fax
> [snip]
>
> +---
> | 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
> +---


_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.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 ...

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.