× 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: "Peter Dow" <pcdow@xxxxxxxxx>
  • Date: Wed, 23 May 2001 11:49:31 -0700

Yes it's definitely an improvement since it is no longer completely ignoring
the error. I have yet to see on this list a method of handling errors that
is any better than letting the system handle it. In this situation, why not
simply remove the error indicator? Since only one user is affected by the
problem, having the program give a system error most likely have led to a
speedier resolution.

Trapping errors with global MONMSG CPF0000 and *PSSR's and then ignoring
them makes finding the actual problem a nightmare for those of us that do a
lot of maintenance programming on someone else's program. I'd much rather
have the system give an error from the failing program where I have a chance
of getting a program dump than having it "handled" and passed 3 call levels
up to some program that then says "An error occurred."

My $.02,

Peter Dow
Dow Software Services, Inc.
909 425-0194 voice
909 425-0196 fax


----- Original Message -----
From: "Jim Langston" <jimlangston@conexfreight.com>
To: <RPG400-L@midrange.com>
Sent: Wednesday, May 23, 2001 11:06 AM
Subject: Re: Program looping


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


_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.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 ...

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.