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



Oh, I perfer to see...

/free

Dou %eof(myfile);
  Read myfile;
  If %eof(myfile);
    Leave;
  Endif;
  If Itactv = 'N';
    Iter;
  Endif;

// process

 Enddo;



Jeff Stevens
Mize, Houser & Co. P.A.
913 451 1882
JStevens@xxxxxxxxxxxxxx





"Marvin Radding" <MRadding@xxxxxxxxxxxx> 
Sent by: rpg400-l-bounces@xxxxxxxxxxxx
08/19/2005 12:07 PM
Please respond to
RPG programming on the AS400 / iSeries <rpg400-l@xxxxxxxxxxxx>


To
"RPG programming on the AS400 / iSeries" <rpg400-l@xxxxxxxxxxxx>
cc

Subject
RE: read on a do loop






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