|
I think this should do the trick. As previously mentioned in this thread, READ operations set %EOF, chain sets %FOUND. Moreover, it is a good practice to use READ's with loops and only use CHAIN when attempting to retrieve a single record. Also, it is probably a good idea to get in the habit of qualifying the %EOF, %FOUND. C myklist setll myfile C myklist reade myfile C dow not %EOF(MYFILE) C eval rrn = rrn + 1 C write mysubfile C myklist reade myfile C endif Thanks Mark Siddall ----- Original Message ----- From: rpg400-l-request@xxxxxxxxxxxx Date: Saturday, March 27, 2004 1:00 pm Subject: RPG400-L Digest, Vol 3, Issue 238 > Send RPG400-L mailing list submissions to > rpg400-l@xxxxxxxxxxxx > > To subscribe or unsubscribe via the World Wide Web, visit > http://lists.midrange.com/mailman/listinfo/rpg400-l > or, via email, send a message with subject or body 'help' to > rpg400-l-request@xxxxxxxxxxxx > > You can reach the person managing the list at > rpg400-l-owner@xxxxxxxxxxxx > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of RPG400-L digest..." > > > Today's Topics: > > 1. RE: RPG400-L Digest, Vol 3, Issue 231 (Rich Duzenbury) > > > ------------------------------------------------------------------- > --- > > message: 1 > date: Fri, 26 Mar 2004 22:20:03 -0600 > from: Rich Duzenbury <rduz-midrange@xxxxxxxxxxxxxxxxxxx> > subject: RE: RPG400-L Digest, Vol 3, Issue 231 > > On Fri, 2004-03-26 at 21:08, John Brandt Sr. wrote: > > I don't use BIF's for file access. > > Come again? Looks like the code below is trying to test for success > with %FOUND. Chain and %FOUND work OK together. READE and %FOUND do > not. READE only sets %EOF. > > Therefore, the code below will probably not produce the results you > desire. > > > > > > -----Original Message----- > > From: Rich Duzenbury [mailto:rduz-midrange@xxxxxxxxxxxxxxxxxxx] > > Sent: Friday, March 26, 2004 7:43 PM > > To: RPG programming on the AS400 / iSeries > > Subject: RE: RPG400-L Digest, Vol 3, Issue 231 > > > > > > On Fri, 2004-03-26 at 16:33, John Brandt Sr. wrote: > > > I've already corrected the %Eof and %Found statement. > > > > > > Is this simple enough for everyone? (If not, the next one will > have> > indicators in it) > > > > > > C myklist chain myfile > > > C dow not %Found > > > C eval rrn = rrn + 1 > > > C write mysubfile > > > C myklist reade myfile > > > C end > > Sorry to trouble you, but you still have an important problem. > %FOUND> is not set by the READE opcode. %FOUND is only set in the > > context of a file operation by CHAIN, DELETE, SETGT, SETLL. > Therefore,> you still have the possibility of an infinite loop > with this code. > > > > An earlier poster already gave you the answer, which is to > abandon the > > chain/reade combo if you wish to use BIF's, and go with > SETLL/READE opcode > > pairs. > > > > I don't mind indicator code, I'm used to seeing it. > > > > -- > Regards, > Rich > > Current Conditions in Des Moines, IA > Overcast > Temp 64.4F > Winds out of the Southeast at 12mph > > > > ------------------------------ > > _______________________________________________ > This is the RPG programming on the AS400 / iSeries (RPG400-L) > digest 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. > > > > End of RPG400-L Digest, Vol 3, Issue 238 > **************************************** >
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.