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


  • Subject: Re: Program looping
  • From: Jim Langston <jimlangston@xxxxxxxxxxxxxxxx>
  • Date: Wed, 23 May 2001 11:06:44 -0700
  • Organization: Pacer International

Another alternative I've sometimes seen is to code it this way:

C     #HRRN         CHAIN     SFL02                              5151
C     *IN51         DOWEQ     *OFF
-snip-
C     #HRRN         CHAIN     SFL02                              5151
C                   ENDDO

That way, if the record isn't found *or* there's an error, the loop exists.

Doesn't really tell you what caused the loop to exit, but since you're ignoring
the errors anyway it should be an improvement.

Regards,

Jim Langston

Me transmitte sursum, Caledoni!


Scott Mildenberger wrote:
> 
> Peter,
> 
> Try conditioning your loop with indicator 52 also.  If you get an error when
> in this section of code 52 will come on but 51 will not thus causing a loop.
> It may be possible that if you remove 52 from the chains then it will cause
> the program to terminate also because you aren't handling the error.  Can't
> answer why only one user but it may be something specific to how that user
> is connected or how they operate.
> 
> Scott Mildenberger
> 
> > -----Original Message-----
> > From: Peter.Colpaert@honda-eu.com [mailto:Peter.Colpaert@honda-eu.com]
> > Sent: Wednesday, May 23, 2001 8:11 AM
> > To: RPG400-L@midrange.com
> > Subject: RE: Program looping
> >
> >
> >
> >
> > Hi Brad,
> >
> > this is the code snipped you asked.
> >
> >  ********************************************************************
> >  *          @PRC2     TOT                                           *
> >  ********************************************************************
> > C     @PRC2         BEGSR
> > C                   EXSR      @DTC2
> > C                   MOVEL     *HIVAL        ##PYCD
> > C                   MOVEL     *HIVAL        ##WAYB
> >  *
> > C                   MOVEL     *OFF          ##ANY
> > C                   Z-ADD     1             #HRRN
> > C     #HRRN         CHAIN     SFL02                              5152
> > C     *IN51         DOWEQ     *OFF
> > C     S2SLCT        IFEQ      '1'
> > C                   IF        S2PYCD <> ##PYCD OR
> > C                             %TRIM(S2WAYB) <> ##WAYB
> > C                   IF        ##NUMB = *ON
> > C                   EXSR      @CHK3
> > C                   MOVEL     S2PYCD        ##PYCD
> > C                   EVAL      ##WAYB = %TRIM(S2WAYB)
> > C                   MOVEL     #1NMBR        P1IVNO
> > C                   MOVEL     *OFF          ##NUMB
> > C                   ENDIF
> > C                   ENDIF
> > C                   EXSR      @UPD
> > C                   MOVEL     *ON           ##ANY
> > C                   ENDIF
> > C                   ADD       1             #HRRN
> > C     #HRRN         CHAIN     SFL02                              5152
> > C                   ENDDO
> >  *
> > C     ##ANY         IFEQ      *ON
> > C                   COMMIT
> > C                   EXSR      @EXC8
> > C                   MOVEL     OFF           *IN07
> > C                   EXSR      @END
> > C                   ENDIF
> >  *
> > C                   ENDSR
> >
> > This program was in RPG/400, converted to RPG IV with
> > CVTRPGSRC and some
> > adjustments were made.
> >
> > BTW, the same program (without the minor adjustments) is run
> > at several other
> > locations throughout Europe,
> > albeit on _local_ AS/400 systems, and we have had no reports
> > from looping
> > before.
> >
> > Thanks in advance,
> > Peter Colpaert
> > Analyst-Programmer
> > Honda Europe NV
> > Langerbruggestraat 104
> > B-9000 Gent (Belgium)
> >
> > Peter.Colpaert@honda-eu.com
> > ----------
> > 665.9238429876 - Number of the Pentium Beast
> > ----------
> >
> >
> >
> >
> >
> >
> >
> >
> > "Stone, Brad V (TC)" <bvstone@taylorcorp.com> on 23/05/2001 15:40:38
> >
> > Please respond to RPG400-L@midrange.com
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >  To:      "'RPG400-L@midrange.com'" <RPG400-L@midrange.com>
> >
> >  cc:      (bcc: Peter Colpaert/HE/EU/HONDA)
> >
> >
> >
> >  Subject: RE: Program looping
> >
> >
> >
> >
> >
> >
> >
> >
> > Can you post any code that has looping to rule that out?
> > Sounds like it
> > could be happening during a READC or a CHAIN to a subfile in
> > a loop.  I've
> > seen this before, or at least something similar.
> >
> > > -----Original Message-----
> > > From: Peter.Colpaert@honda-eu.com
> > [mailto:Peter.Colpaert@honda-eu.com]
> > > Sent: Wednesday, May 23, 2001 7:46 AM
> > > To: RPG400-L@midrange.com
> > > Subject: Program looping
> > >
> > >
> > >
> > >
> > > Hello group,
> > >
> > > We are experiencing a most annoying problem, what's more, an
> > > _intermittent_
> > > problem (i.e. it doesn't occur always, nor for everyone) in
> > > an RPG IV program.
> > >
> > > One (and only one) of our users manages to get this program
> > > looping on the
> > > production machine, and no matter what we tried on our
> > > development box, we
> > > cannot reproduce this error.
> > >
> > > The looping causes a CPU load of 90+ % for this user's job,
> > > and causes the
> > > user's message queue to wrap, so that we can only see it when
> > > it's too late.  At
> > > the time we notice the problem, the joblog is filled with one
> > > single error
> > > message repeated over and over again (CPF5013 Cannot process
> > > subfile request) to
> > > which the system replies 'C'.
> > >
> > > As we cannot reproduce the error, I was wondering whether any
> > > of you have had
> > > the same problem.
> > >
> > > My guess is that it has something to do with the line failing
> > > at some point (the
> > > AS/400 is located here in Gent, Belgium and the user is
> > > located in South Africa)
> > > but we are not sure at all.
> > >
> > > Thanks for any suggestions.
> > >
> > > Peter Colpaert
> > > Analyst-Programmer
> > > Honda Europe NV
> > > Langerbruggestraat 104
> > > B-9000 Gent (Belgium)
> > >
> > > Peter.Colpaert@honda-eu.com
> > > ----------
> > > Computers make very fast, very accurate mistakes.
> > > ----------
> > >
> > >
> > >
> > > +---
> > > | This is the RPG/400 Mailing List!
> > > | To submit a new message, send your mail to RPG400-L@midrange.com.
> > > | To subscribe to this list send email to RPG400-L-SUB@midrange.com.
> > > | To unsubscribe from this list send email to
> > > RPG400-L-UNSUB@midrange.com.
> > > | Questions should be directed to the list owner/operator:
> > > david@midrange.com
> > > +---
> > >
> > +---
> > | This is the RPG/400 Mailing List!
> > | To submit a new message, send your mail to RPG400-L@midrange.com.
> > | To subscribe to this list send email to RPG400-L-SUB@midrange.com.
> > | To unsubscribe from this list send email to
> > RPG400-L-UNSUB@midrange.com.
> > | Questions should be directed to the list owner/operator:
> > david@midrange.com
> > +---
> >
> >
> >
> >
> >
> > +---
> > | This is the RPG/400 Mailing List!
> > | To submit a new message, send your mail to RPG400-L@midrange.com.
> > | To subscribe to this list send email to RPG400-L-SUB@midrange.com.
> > | To unsubscribe from this list send email to
> > RPG400-L-UNSUB@midrange.com.
> > | Questions should be directed to the list owner/operator:
> > david@midrange.com
> > +---
> >
> +---
> | This is the RPG/400 Mailing List!
> | To submit a new message, send your mail to RPG400-L@midrange.com.
> | To subscribe to this list send email to RPG400-L-SUB@midrange.com.
> | To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com.
> | Questions should be directed to the list owner/operator: david@midrange.com
> +---

--
+---
| This is the RPG/400 Mailing List!
| To submit a new message, send your mail to RPG400-L@midrange.com.
| To subscribe to this list send email to RPG400-L-SUB@midrange.com.
| To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: david@midrange.com
+---

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
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.