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



Hi Paul,

It certainly is unnecessesary to define SUCCESSFUL, TRUE, or FALSE.  I 
just think that sometime clarity outweighs coding or memory efficiency. In 
the case suggested in the original post, I would probably not worry about 
clarity much because it is a subprocedure and ideally no one needs to look 
at the much, just the prototype and description.

Just to play the devil's advocate ... :-D

D FALSE           c                   const(*on)
D isMissing       n

  /free
      // test to see if a key is missing
     chain (key) recordFmt;

     isMissing = %found();

     if (isMissing = FALSE);
         // do something
     else;
         // do something else
     endif;

/end-free

A bit crazy perhaps, but a language ought to have flexibility so you can 
express your idea in the way you think.  If the above makes more sense to 
someone than expressing the idea using *ON and *OFF directly than I'm 
happy to let them do so - though I may not be happy to maintain it later 
... :-)

Adam




rpg400-l-bounces@xxxxxxxxxxxx wrote on 06/05/2006 10:27:46 AM:

> Adam, (and Tommy)
> 
> I do understand what you are saying and I am all for writing self
> documenting code but, in this case, I do not see the point in defining a
> constant (or field) when the language already provides a figurative
> constant. Would you apply the same principle to the other figurative
> constants (*BLANKS, *HIVAL, *LOVAL etc.)?
> 
> And what is to stop me defining FALSE as *ON? :-)
> 
> 
> Regards
> 
> Paul Tuohy
> ComCon
> www.comconadvisor.com 
> 
> 
> -----Original Message-----
> From: rpg400-l-bounces@xxxxxxxxxxxx 
[mailto:rpg400-l-bounces@xxxxxxxxxxxx]
> On Behalf Of AGlauser@xxxxxxxxxxxx
> Sent: 05 May 2006 18:59
> To: RPG programming on the AS400 / iSeries
> Subject: RE: Compile failed when try to do return not SUCCESSFULwhere
> SUCCESSFULis declared as const
> 
> Paul,
> 
> > In your example, why can't you just return *Off?
> 
> >From the point of view of a person relatively new to RPG, 'return *OFF' 
is 
> much less clear than 'return FALSE', 'return INCOMPLETE', or even 
'return 
> not SUCCESSFUL;'.
> 
> Just my humble opinion,
> Adam
> 
> 
> > 
> > -----Original Message-----
> > From: rpg400-l-bounces@xxxxxxxxxxxx 
> [mailto:rpg400-l-bounces@xxxxxxxxxxxx]
> > On Behalf Of Lim Hock-Chai
> > Sent: 05 May 2006 18:00
> > To: RPG programming on the AS400 / iSeries
> > Subject: Compile failed when try to do return not SUCCESSFUL where
> > SUCCESSFULis declared as const
> > 
> > D SUCCESSFUL      c                   const(*on) 
> > D proc1           pr              n 
> > 
> > C                   eval      *inlr = *on 
> >  *------------------------------------------------------ 
> >  * test return with not SUCCESSFUL 
> > P proc1           B 
> > D                 pi              n 
> > 
> > C                   return    not SUCCESSFUL 
> > P proc1           E 
> > 
> > 
> > I'm getting this:
> > Msg id  Sv Number Seq     Message text
> > 
> > RNF7421 30     12 001200  Operands are not compatible with the type of
> > operator.
> > 
> > 
> > If I changed SUCCESSFUL to be a variable, it compile ok.   Any reason
> > why I can't do "return not constBoolean"?
> 
> 
############################################################################
> #########
> Attention:
> The above message and/or attachment(s) is private and confidential and 
is
> intended 
> only for the people for which it is addressed. If you are not named in 
the
> address 
> fields, ignore the contents and delete all the material. Thank you. Have 
a
> nice day.
> 
> For more information on email virus scanning, security and content
> management, please contact administrator@xxxxxxxxxxxx
> 
############################################################################
> #########
> -- 
> 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.
> 
> -- 
> 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.
> 

#####################################################################################
Attention:
The above message and/or attachment(s) is private and confidential and is 
intended 
only for the people for which it is addressed. If you are not named in the 
address 
fields, ignore the contents and delete all the material. Thank you. Have a nice 
day.

For more information on email virus scanning, security and content
management, please contact administrator@xxxxxxxxxxxx
#####################################################################################

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
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.