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



In short, it only "worked" originally because of the DOUNE loop. Each pass through the DOU loop kicks off a new SELECT group. In the "improved" code, there is no outer loop (in which the SELECT is embedded).



        * Jerry C. Adams
*IBM System i Programmer/Analyst
B&W Wholesale Distributors, Inc.* *
voice
        615.995.7024
fax
        615.995.1201
email
        jerry@xxxxxxxxxxxxxxx <mailto:jerry@xxxxxxxxxxxxxxx>



Michael_Schutte@xxxxxxxxxxxx wrote:

A select statement acts as

If
ElseIF
ElseIf
... etc
EndIf

It will only perform the first condition is equals to TRUE.


Try our New Country Benedicts -- Breakfast with a Bob Evans twist!



THarteau@felkerbr others.com Sent by: To rpg400-l-bounces@ RPG programming on the AS400 / midrange.com iSeries <rpg400-l@xxxxxxxxxxxx> cc 08/14/2006 12:17 Subject PM SELECT & WHENEQ Question Please respond to RPG programming on the AS400 / iSeries <rpg400-l@midrang e.com>





Hi,
     I am rewriting an old program. It has the following chunk of code:

C                 MOVE        '30'          K@FAC
C     W@GOOD      DOUNE *BLANK
C                 SELECT
C     K@FAC       WHENEQ      '30'
C                 EXSR        $100
C     W@GOOD      IFEQ        *BLANK
C                 MOVE        '10'          K@FAC
C                 ENDIF
C     K@FAC WHENEQ      '10'
C                 EXSR        $100
C     W@GOOD      IFEQ        *BLANK
C                 MOVE        '20'          K@FAC
C                 ENDIF
C     K@FAC       WHENEQ      '20'
C                 EXSR        $100
C     W@GOOD      IFEQ         *BLANK
C                 MOVE        'NO '         W@GOOD
C                 ENDIF
C                 ENDSL
C                 ENDDO

Basically, it is trying to find the correct bill of material facility. It
could be in 30, 10 or 20.  I changed it a bit for readability.

C                 MOVE        *BLANK      W@GOOD
C                 MOVE        '30'        K@FAC
C                 SELECT
C*
C     K@FAC       WHENEQ      '30'
C                 EXSR        $100
C                 IF          W@GOOD = *BLANK
C                 MOVE        '10'        K@FAC
C                 ENDIF
C     K@FAC WHENEQ      '10'
C                 EXSR        $100
C                 IF          W@GOOD = *BLANK
C                 MOVE        '20'        K@FAC
C                 ENDIF
C     K@FAC WHENEQ      '20'
C                 EXSR        $100
C                 IF          W@GOOD = *BLANK
C                 MOVE        'NO '       W@GOOD
C                 ENDIF
C*
C                 ENDSL
C*

When I put it in debug, it does the first WHEN, changes K@FAC to '10', goes
to the next WHENEQ, then goes to the ENDSL.  Can anyone tell me why it no
longer works?

<===================================================>

Terri Harteau
Programmer/Analyst
Felker Brothers Corporation
****************
"The danger in life is not that we aim too high and miss.
The problem is that we aim too low and hit the mark."  -- Michelangelo
****************




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

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.