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



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