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



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.


As an Amazon Associate we earn from qualifying purchases.

This thread ...

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.