×

Good News Everybody!

The new search engine is LIVE!

Please report any problems to david (at) midrange.com.




Except that sometimes you won't want to leave.  For instance, an active
flag can be added to the code with no other changes

/free

Dou %eof(myfile);
  Read myfile;
  If %eof(myfile);
     Or itactv = 'N';
    Iter;
  Endif;

// process

 Enddo;

Add a line or remove a line with no other changes necessary.  If you use
'leave' then you have to change it to an iter anyway. 

Maybe as clear but easy to maintain.  A balance achieved since there is
no perfect solution.

Marvin



-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Holden Tommy
Sent: Friday, August 19, 2005 7:33 AM
To: RPG programming on the AS400 / iSeries
Subject: RE: read on a do loop

Why iter??  A leave would be more clear in this case.... 

-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Marvin Radding
Sent: Friday, August 19, 2005 9:30 AM
To: RPG programming on the AS400 / iSeries
Subject: RE: read on a do loop

[Marvin Radding:] I have been using iter for a few years now.
[Marvin Radding:]
Here is my code:

/free

  Setll myfile;

  Dou %eof(myfile);
    Read myfile;
    If %eof(myfile);
      Iter;
    Endif;

// other processing

  Enddo;

/end-free

One thing I like about this paradigm, when I decide I want to skip this
record a simple 'iter' will get me the next record.  Simple and easy to
understand code.

Marvin


-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx]On Behalf Of rob@xxxxxxxxx
Sent: Friday, August 19, 2005 8:41 AM
To: rpg400-l@xxxxxxxxxxxx
Subject: read on a do loop


Since I've developed a fondness for iter I'd like to do something like
...
setll(e) MyFile Mykey;
dou %status(reade(e) MyFile MyKey)<>0;
  // process
  ...
  iter;
  else;
  ...
EndDo;

I take it the way to do this is to make a one statement subprocedure
that does the reade and make the code look like

setll(e) MyFile Mykey;
dou ReadLoopProc<>0;
  // process
  ...
  iter;
  else;
  ...
EndDo;

P ReadLoopProc   b
D ReadLoopProc   PI   like(returnvar)
D  returnvar      s            5i 0
/free
 reade(e) MyFile MyKey;
 returnvar=%status(MyFile);
 return returnvar;
/end-free
P ReadLoopProc  E


Rob Berendt
--
Group Dekko Services, LLC
Dept 01.073
PO Box 2000
Dock 108
6928N 400E
Kendallville, IN 46755
http://www.dekko.com

--


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



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