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



Rob,

No wonder you don't like priming reads if you do it like this :-) You use 
three %eofs where one should suffice and you don't process the first 
record.

This should be enough:

*inlr=*on;
read myfile;
Dow not %eof(myFile);
  // your processing here;
  read myFile;
EndDo;

If you want to handle errors, it should be something like this (depends on 
how you want to handle errors):

*inlr=*on;
read(e) myfile;
Dow not %error and not %eof(myFile);
  // your processing here;
  read(e) myFile;
EndDo;

Joep Beckeringh






rob@xxxxxxxxx
Sent by: rpg400-l-bounces@xxxxxxxxxxxx
15-03-2007 18:29
Please respond to RPG programming on the AS400 / iSeries
 
        To:     RPG programming on the AS400 / iSeries 
<rpg400-l@xxxxxxxxxxxx>
        cc: 
        Fax to: 
        Subject:        RE: LR not turning *ON??


to the one poster:
It's a read loop - not a primary file.  A read loop will not set on lr.

To the OP:
Why not use this as another reason to scrap indicators and do something 
like
*inlr=*on;
read(e) myfile;
if not %eof(myFile);
  Dow not %eof(myFile);
    read(e) myFile;
    if not %eof(myfile);
      // your processing here;
    endIf;
  EndDo;
EndIf;

but I hate priming reads so I might even do

*inlr=*on;
dow ReadFile(Myfile);
  // your processing here;
EndDo;

and the read would be in the subprocedure ReadFile.  And if part of "// 
your processing" includes an iter you will not have an infinite loop.


Rob Berendt

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.