× 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: Indicator enhancements
  • From: Joel Fritz <JFritz@xxxxxxxxxxxxxxxx>
  • Date: Thu, 9 Mar 2000 16:27:04 -0800

So, there are a few ways to do this.

                   Ways We Have Now
1.  Procedures that return the class of return code.

2.  Procedures that compare the return code with a class value.


                 Enhancements (?)
3. Range constants--A d spec keyword--range(v1 : v2).

4. C type macros.  Of course then we could probably come up with a version
of RPG that looks exactly like Perl.  Imagine the fun you could have getting
the spacing just right if you wanted to #define a C spec.  New vistas for
truly obfuscated RPG. <vbg>

5. Pascal like sets with an in operator.  


Actually, I kind of like the range constant.  The tricky part would be
defining it so that you could get the flexibility you wanted at the
endpoints.  Sounds like you need qualifiers.


> -----Original Message-----
> From: Gary Guthrie [mailto:GaryGuthrie@home.com]
> Sent: Thursday, March 09, 2000 1:39 PM
> To: RPG400-L@midrange.com
> Subject: Re: Indicator enhancements
> 
> 
> 
> 
> > bmorris@ca.ibm.com wrote:
> >
> > Gary, I understand what you're getting at now, but this only makes
> > sense when you have 2 (3? using *OFF? 4? *ON) categories of 
> return code.
> >
> 
> Actually, it makes sense when you multiple posibilities that 
> fall into a
> single category. For instance, a negative number could 
> indicate an error
> category -- any error. So for instance, your procedure might have the
> following as possible error return codes:
> 
> -1 = Error condition 1
> -2 = Error condition 2
> -3 = Error condition 3
> -4 = Error condition 4
> -5 = Error condition 5
> 
> > Anyway, what's the difference between what you are suggesting and
> > coding if "rc < 0"?  Or, coding if "isError(rc)"?
> > 
> 
> Here's a couple of examples code snippets. You tell me which is more
> intuitive as you're just reading through code.
> 
> Example A:
> 
>  ...
> C              Eval     RtnCode = MyProc( MyParm )
> C              Select
> C              When     RtnCode > 0
>  ...
> C              When     RtnCode = 0
>  ...
> C              When     RtnCode < 0
>  ...
> C              EndSl
> 
> 
> 
> Example B:
> 
>  ...
> C              Eval     RtnCode = MyProc( MyParm )
> C              Select
> C              When     RtnCode = ExistingCust
>  ...
> C              When     RtnCode = NewCust
>  ...
> C              When     RtnCode = Error
>  ...
> C              EndSl
> 
> 
> 
> > Come to think of it, maybe I don't understand what you're suggesting
> > now.  Do you want to return specific return codes in an indicator
> > and have the values compare equal/not-equal to *NEGATIVE and
> > *POSITIVE, and also have them containing more specific values?
> 
> They're not supposed to be indicator fields. It's actually numeric
> fields. Cut and paste woes!
> 
> Maybe we need an IS construct.
> 
> C              When     RtnCode Is ExistingCust
> 
> 
> Gary Guthrie
> REAL Solutions Technical Support
> Technical Editor, NEWS/400 magazine
+---
| 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 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.