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



I stand corrected, if you change the %eof to %found.
Boy, these BIF's are wonderful, aren't they.

John Brandt


-----Original Message-----
From: M. Lazarus [mailto:mlazarus@xxxxxxxx]
Sent: Friday, March 26, 2004 11:55 AM
To: RPG programming on the AS400 / iSeries
Subject: RE: Loop code


John,

At 3/26/04 12:12 PM, you wrote:
>I don't see anywhere that there are any holes in my code.
>
>Are you implying that the line
>C     myklist       chain     myfile
>is "if I feel like it, and I haven't chained before, chain. Otherwise, just
>skip this one?"
>The Chain will set the %eof condition when it is executed.

  No it won't - CHAIN sets the %Found indicator, while READx sets the %EOF 
(and %Equal) indicator.


>If the chain fails, the DOW(hile) will not execute, as it shouldn't.

  That could be coincidence / luck - if there was a prior READx that set 
the %EOF() indicator.


>It works very well on my system and the systems of thousands of my clients.

  Then your systems have a compiler bug!  :)

  -mark


>-----Original Message-----
>From: M. Lazarus [mailto:mlazarus@xxxxxxxx]
>Sent: Friday, March 26, 2004 10:31 AM
>To: RPG programming on the AS400 / iSeries
>Subject: Loop code
>
>
>John,
>
>   There are 2 holes in your code:
>
>1)  If the CHAIN fails the loop will still execute, probably displaying
>incorrect data.  CHAIN sets the %Found() flag.
>
>2)  If you will be executing this code more than once within the program
>the loop will probably NOT execute.  This is because the %EOF() condition
>will likely have already been set by the previous execution of this loop.
>
>   Changing the CHAIN to a SETLL/READE combo should fix the problem.
>
>   -mark
>
>At 3/26/04 11:12 AM, you wrote:
> >While his code would write a duplicate record at the bottom of the
subfile,
> >and your code may be efficient, my suggestion would be:
> >
> >C     myklist       chain     myfile
> >C                   dow       NOT %eof(myfile)
> >C                   eval      rrn = rrn + 1
> >C                   write     mysubfile
> >C     myklist       reade     myfile
> >C                   enddo
> >
> >JMHO
> >John Brandt
> >iStudio400.com
> >
> >-----Original Message-----
> >From: Marvin Radding [mailto:MRadding@xxxxxxxxxxxx]
> >Sent: Friday, March 26, 2004 9:58 AM
> >To: rpg400-l@xxxxxxxxxxxx
> >Subject: RE: RPG400-L Digest, Vol 3, Issue 231
> >
> >
> >
> >While there is nothing wrong with your code, I think this way is more
> >effiecient.
> >
> >C     myklist       setll     myfile
> >C
> >C                   dou       %eof(myfile)
> >C
> >C     myklist       reade     myfile
> >C                   if        %eof(myfile)
> >C                   iter
> >C                   endif
> >C
> >C                   eval      rrn = rrn + 1
> >C                   write     mysubfile
> >C
> >C                   enddo
> >
> >Marvin Radding
> >
> >
> >message: 1
> >date: Thu, 25 Mar 2004 14:32:35 -0800 (PST)
> >from: simafrog <SimaFrog@xxxxxxxxxx>
> >subject: SETLL ONE SLIGHT PROBLEM
> >
> >Actually I don't think I can do this here anyway. One problem remaining
> >is that the reade of the Detail file is causing one extra record to be
> >added to the work file, the last one of the batch is duplicated. Here is
> >the code:
> >  C           BLD       BEGSR
> >  C*
> >  C           OHKEY     SETLLORDHEDR             40
> >  C*
> >  C           *IN40     DOWEQ*OFF
> >  C*
> >
> >  C           OHKEY     READEORDHEDR                 40
> >  C           *IN40     IFEQ '0'
> >  C*
> >  C           C*
> >  C           ODKEY     SETLLORDDTL                   50
> >  C           *IN50     DOUEQ*ON
> >  C           ODKEY     READEORDDTL                   50
> >  C                     WRITEORDSWRKF
> >  C                     END
> >  C                     END
> >  C                     END
> >  C*
> >  C                     ENDSR
> >
> >
> >
> >
> >
> >
> >_______________________________________________
> >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.
> >
> >---
> >Incoming mail is certified Virus Free.
> >Checked by AVG anti-virus system (http://www.grisoft.com).
> >Version: 6.0.642 / Virus Database: 410 - Release Date: 3/24/04
> >
> >
> >---
> >Outgoing mail is certified Virus Free.
> >Checked by AVG anti-virus system (http://www.grisoft.com).
> >Version: 6.0.639 / Virus Database: 408 - Release Date: 3/22/04
> >
> >_______________________________________________
> >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.
>
>_______________________________________________
>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.
>
>---
>Incoming mail is certified Virus Free.
>Checked by AVG anti-virus system (http://www.grisoft.com).
>Version: 6.0.642 / Virus Database: 410 - Release Date: 3/24/04
>
>
>---
>Outgoing mail is certified Virus Free.
>Checked by AVG anti-virus system (http://www.grisoft.com).
>Version: 6.0.639 / Virus Database: 408 - Release Date: 3/22/04
>
>_______________________________________________
>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.

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

---
Incoming mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.642 / Virus Database: 410 - Release Date: 3/24/04
 

---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.639 / Virus Database: 408 - Release Date: 3/22/04
 

As an Amazon Associate we earn from qualifying purchases.

This thread ...


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.