|
If you are using the %addr, then why bother with the %parms?
Rob Berendt
--
"They that can give up essential liberty to obtain a little temporary
safety deserve neither liberty nor safety."
Benjamin Franklin
Scott
Mildenberger To: "'rpg400-l@midrange.com'"
<rpg400-l@midrange.com>
<Smildenber@Washc cc:
orp.com> Fax to:
Sent by: Subject: RE: Optional
Parameters in Subproceedures
rpg400-l-admin@mi
drange.com
02/19/2002 09:22
AM
Please respond to
rpg400-l
Simon,
In the OPTIONS(*NOPASS : *OMIT) case is there any reason you can't use the
%parms and %addr together? At least that is how I do it, just curious
because in the first part of your message you mentioned %addr was easier to
use but you didn't use it here. Want to make sure I'm not missing
something
by doing the following:
C IF ( %PARMS >= 2 ) and (%addr(TheParm) <>
*NULL)
*** The parm can be used.
C ENDIF
Scott Mildenberger
> -----Original Message-----
> From: Simon Coulter [mailto:shc@flybynight.com.au]
> Sent: Monday, February 18, 2002 3:29 PM
> To: rpg400-l@midrange.com
> Subject: Re: Optional Parameters in Subproceedures
>
> If the parameter was coded as OPTIONS(*NOPASS : *OMIT) then
> you MUST use
> %PARMS followed by a call to CEETSTA to test for an omitted
> argument. The
> reason you must do it this way is that if the parameter was
> not specified
> at all CEETSTA will fail with a missing descriptor (or worse,
> pick up a
> descriptor on the stack from a previous function call). If *OMIT was
> specified then %PARMS will count it as a parameter. You must
> do both things
> to know whether you have a valid parameter or not.
>
> C IF ( %PARMS >= 2 )
> C CALLP ceeTestArg( argOmitted : 2 : *OMIT )
> C ENDIF
>
> C IF ( %PARMS >= 2 AND
> C argOmitted = $CEE_ARG_OMITTED_NO )
> * do stuff
>
>
_______________________________________________
This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list
To post a message email: RPG400-L@midrange.com
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/cgi-bin/listinfo/rpg400-l
or email: RPG400-L-request@midrange.com
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.
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.