|
James,
Because you specifically mentioned ILE there is another way to
accomplish this.
If you prototype the call you can use the keyword *NOPASS to accomplish
what has been mentioned in the other replies. It works the same way as
having a fixed parm list and not passing all of them.
Also on prototyped calls you can use the *OMIT keyword which allows you
to omit parameters in the middle of the list. Instead of passing a
parameter you would use *OMIT as the parameter value. The called
program would then test for the address of the parameter. If it is not
null a value was passed, is it is null the parameter was omitted.
In the caller you would have:
d LstMbrs pr *
d 20
d 10 Options(*NOPASS: *OMIT)
d 20 Options(*NOPASS: *OMIT)
d 8 Options(*NOPASS: *OMIT)
d 1 Options(*NOPASS: *OMIT)
/Free
LstMbrs(Parm1 :*Omit :*Omit :Parm4 :Parm5);
/End-Free
In the called program you would check for the parms something like this:
* If a member name value is passed use it, else default to '*ALL'.
c If %parms < 2 Or %Addr(P_MbrNme) = *NULL
c Eval MbrNme = '*ALL'
c Else
c Eval MbrNme = P_MbrNme
c EndIf
* If no user space name given use default.
c If %parms < 3 or %Addr(P_QualUsrSpc) = *NULL
or
c P_QualUsrSpc = *blanks
c Eval QualUsrSpc = DftSpcNme
c Else
c Eval QualUsrSpc = P_QualUsrSpc
c Endif
Rick
> -----Original Message-----
> From: rpg400-l-bounces@xxxxxxxxxxxx
> [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of James H H Lampert
> Sent: Wednesday, March 15, 2006 4:31 PM
> To: rpg400-l@xxxxxxxxxxxx
> Subject: Quick question (and I think it's come up before)
>
> Fellow geeks:
>
> Is there a way to have a couple of optional parameters in an
> ILE RPG program?
>
> --
> JHHL
> --
> 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.
>
>
>
Privileged and Confidential. This e-mail, and any attachments there to, is
intended only for use by the addressee(s) named herein and may contain
privileged or confidential information. If you have received this e-mail in
error, please notify me immediately by a return e-mail and delete this e-mail.
You are hereby notified that any dissemination, distribution or copying of this
e-mail and/or any attachments thereto, is strictly prohibited.
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 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.