×

Good News Everybody!

The new search engine is LIVE!

Please report any problems to david (at) midrange.com.




That code will exit the loop when either file reaches end of file because of
the OREQ.


> -----Original Message-----
> From: hrishikesh kotwal [mailto:hdkotwal@hotmail.com]
> Sent: Wednesday, November 14, 2001 7:18 AM
> To: rpg400-l@midrange.com
> Subject: RE: DOUEQ - Loop (RPG III)
>
>
> [ Converted text/html to text/plain ]
>
> Thanks all.
>
> My requirement was to read both files till both reach their
> EOF. The 2 files
> may differ in the no. of records. Therefore I have succeeded in using
>
> *IN97   DOWEQ *OFF
>
> *IN96  OREQ    *OFF
>
>                 |
>
>                 |
>
>           ENDDO
>
> The results are as expected.
> Regards,
>
> Hrishikesh Kotwal
>
> >From: "Bob Cozzi \(RPGIV\)"
> >Reply-To: rpg400-l@midrange.com
> >To:
> >Subject: RE: DOUEQ - Loop (RPG III)
> >Date: Wed, 14 Nov 2001 07:07:08 -0600
> >
> >Sorry to say this, but the coding techniques needs a lot of
> >reconsideration. I would have the think for a long time to
> make the loop
> >any more complex when it doesn't have to be.
> >
> >This looks like a traditional "position the file and enter a loop,
> >process the rest of the file" routine. All those other IFEQ
> in that loop
> >are out of place.
> >
> >Basically, in this kind of routine you do this:
> >
> > Position the file (your CHAIN operations
> > Enter the DOxx loop. Usually on a Record Found condition,
> so something
> >like:
> > *IN96 DOWEQ *OFF
> > *IN97 ANDEQ *OFF
> >
> >But that depends on whether you want the routine to end when EITHER
> >files hits the end-of-equal-key (EOF) condition.
> >
> >The next thing is usually to put your processing (code) in
> the start/top
> >of the DOxx loop. Then at the bottom, do your READE
> operations with the
> >96 & 97 indicators. No more testing is needed because the DOWEQ
> >condition test the status once each iteration. The only
> really logical
> >difference between a DOWxx and a DOUxx is that the
> conditional test for
> >DOWxx is performed at the top of the loop, and DOUxx is
> performed at the
> >logical bottom of the loop. Hence DOUxx loops are _always_
> run at least
> >one time.
> >
> >
> >Bob Cozzi
> >cozzi@rpgiv.com
> >Visit the new on-line iSeries Forums at: http://www.rpgiv.com/forum
> >
> > > -----Original Message-----
> > > From: rpg400-l-admin@midrange.com
> [mailto:rpg400-l-admin@midrange.com]
> >On
> > > Behalf Of darren@dekko.com
> > > Sent: Tuesday, November 13, 2001 12:59 PM
> > > To: rpg400-l@midrange.com
> > > Subject: RE: DOUEQ - Loop (RPG III)
> > >
> > >
> > > hrishikesh,
> > >
> > > Jim L. is correct. Either change the test to *ON or use
> DOWEQ. There
> >are
> > > some other logic errors in this program. Here's a hint, make sure
> >*IN97 is
> > > set everywhere it should be, and is Overflow going to
> work the way its
> > > intended?
> > >
> > >
> > >
> > >
> > >
> > > rpg400-l-request@mi
> > > drange.com To:
> >rpg400-l@midrange.com
> > > Sent by: cc:
> > > rpg400-l-admin@midr Fax to:
> > > ange.com Subject: RPG400-L
> >digest,
> > > Vol 1 #199 - 3 msgs
> > >
> > >
> > > 11/13/2001 01:01 PM
> > > Please respond to
> > > rpg400-l
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > > From: Jim Langston
> > > To: "'rpg400-l@midrange.com'"
> > > Subject: RE: DOUEQ - Loop (RPG III)
> > > Date: Tue, 13 Nov 2001 09:43:34 -0800
> > > Reply-To: rpg400-l@midrange.com
> > >
> > >
> > > "I checked this in Debug and found that even if
> > > *IN97 & *IN96 are *OFF the loop ends?!!!"
> > >
> > >
> > > Umm.. that's what you're telling it to do.
> > >
> > > 30600 C *IN97 DOUEQ*OFF
> > > 30700 C *IN96 ANDEQ*OFF
> > >
> > > Do until both *IN97 and *IN96 are off.
> > >
> > > -----Original Message-----
> > > From: hrishikesh kotwal [mailto:hdkotwal@hotmail.com]
> > > Sent: Tuesday, November 13, 2001 9:34 AM
> > > To: rpg400-l@midrange.com
> > > Subject: DOUEQ - Loop (RPG III)
> > >
> > >
> > > [ Converted text/html to text/plain ]
> > >
> > > Dear all,
> > >
> > >
> > >
> > > With reference to one of my earlier mails regarding Line
> Count, I had
> > > received
> > > a solution to match records and print them. In that solution DOUEQ
> >loop was
> > > used. I have used this in my program and it has
> successfully printed
> >most
> > > of
> > > the records. But today I noticed a bug in my loop.
> Following is the
> >loop:
> > >
> > > 21800
> **------------------------------------------------------------
> > >
> > > 28600 C DTL020 BEGSR
> > >
> > > 29300 C SETOF 97
> > >
> > > 29400 C DDCINB CHAINCMBF4CL1 97
> > >
> > > 29500 C SETOF 96
> > >
> > > 29600 C DDCINB CHAINCMBF4D 96
> > >
> > > 30600 C *IN97 DOUEQ*OFF
> > >
> > > 30700 C *IN96 ANDEQ*OFF
> > >
> > > 30900 C *IN97 IFEQ *ON
> > >
> > > 31000 C *IN96 ANDEQ*ON
> > >
> > > 31100 C LEAVE
> > >
> > > 31200 C ENDIF
> > >
> > > 36800 C EXCPTPRTDT4
> > >
> > > 37000 C OA EXCPTPRTHDG
> > >
> > > 37200 C OA SETON OA
> > >
> > > 37800 C *IN97 IFEQ *OFF
> > >
> > > 37900 C DDCINB READECMBF4CL1
> > >
> > > 38000 C ENDIF
> > >
> > > 38200 C *IN96 IFEQ *OFF
> > >
> > > 38300 C DDCINB READECMBF4D 96
> > >
> > > 38800 C ENDIF
> > >
> > > 39000 C *IN97 IFEQ *ON
> > >
> > > 39100 C *IN96 ANDEQ*ON
> > >
> > > 39300 C EXCPTPRTDT5
> > >
> > > 39500 C ENDIF
> > >
> > > 39700 C ENDDO
> > >
> > > 39800 C*
> > >
> > > 39900 C ENDSR
> > >
> > > ------------------------------------------------------------------
> > >
> > > I read files CMBF2CL1 & CMBF2D together for a common DDCINB (Item
> >Number).
> > > Both files may have none or multiple records for DDCINB. I want to
> >print
> > > whatever records exist in both files for DDCINB.
> Therefore I am trying
> >to
> > > use
> > > the Match Record Processing logic BUT My problem is that
> when CMBF2CL1
> >&
> > > CMBF2D have more than one record for the same DDCINB the
> loop fails. I
> > > checked
> > > this in Debug and found that even if *IN97 & *IN96 are
> *OFF the loop
> > > ends?!!!
> > > How is this possible? Is there something wrong in this loop.
> > >
> > >
> > >
> > > Please help.
> > >
> > >
> > >
> > > Regards,
> > >
> > > Hrishikesh Kotwal
> > >
> > >
> > >
> > >
> > > _______________________________________________
> > > This is the RPG programming on the AS400 / iSeries
> (RPG400-L) mailing
> >list
> > > To post a message email: RPG400-L@midrange.com
> > > To subscribe, unsubscribe, or change list options,
> > > visit: http://lists.midrange.com/cgi-bin/listinfo/rpg400-l
> > > or email: RPG400-L-request@midrange.com
> > > 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@midrange.com
> >To subscribe, unsubscribe, or change list options,
> >visit: http://lists.midrange.com/cgi-bin/listinfo/rpg400-l
> >or email: RPG400-L-request@midrange.com
> >Before posting, please take a moment to review the archives
> >at http://archive.midrange.com/rpg400-l.
> >
>
> --------------------------------------------------------------
> ----------------
> Get your FREE download of MSN Explorer at http://explorer.msn.com[1]
>
> ===References:===
>   1. http://go.msn.com/bql/hmtag_itl_EN.asp
>
> _______________________________________________
> This is the RPG programming on the AS400 / iSeries (RPG400-L)
> mailing list
> To post a message email: RPG400-L@midrange.com
> To subscribe, unsubscribe, or change list options,
> visit: http://lists.midrange.com/cgi-bin/listinfo/rpg400-l
> or email: RPG400-L-request@midrange.com
> 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 ...

Follow-Ups:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2026 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.