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