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 <jlangston@celsinc.com>
To: "'rpg400-l@midrange.com'" <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

<QUOTE>
"I checked this in Debug and found that even if
 *IN97 & *IN96 are *OFF the loop ends?!!!"
</QUOTE>

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