|
What we want, what we need is this:
Dow (read myFile <> %EOF());
// do my stuff.
enddo;
-Bob Cozzi
www.i5PodCast.com
Ask your manager to watch i5 TV
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On
Behalf Of J.Beckeringh@xxxxxxxxxxxxxxxxxxxxxxxxxx
Sent: Monday, March 19, 2007 10:24 AM
To: RPG programming on the AS400 / iSeries
Subject: RE: LR not turning *ON??
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 mailing list archive is Copyright 1997-2025 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.