I completly agree with you. That is exactly how I used it, too. However it would have been nice, if IBM had implemented an alternative SELCT likt the Java CASE as explained by Mark Murphy in his first message.


-----Ursprüngliche Nachricht-----
Von: RPG400-L [mailto:rpg400-l-bounces@xxxxxxxxxxxxxxxxxx] Im Auftrag von Birgitta Hauser
Gesendet: Mittwoch, 11. September 2019 12:50
An: 'RPG programming on IBM i'

I personally use them both and distinguish between them (even though they
can be used alternatively).
SELECT is used if I have a condition which results in multiple different
For example:
When FieldA = 1;
When FieldB = 2;

If / ElseIf is used if I have more complex or different conditions which
have to be checked one after the other:
If Field1 = 'A' and ( Field2 > 5 or Field2 < *Zeros;
ElseIf Field1 = 'B' and Field3 < 100;

Mit freundlichen Grüßen / Best regards

Birgitta Hauser

"Shoot for the moon, even if you miss, you'll land among the stars." (Les
"If you think education is expensive, try ignorance." (Derek Bok)
"What is worse than training your staff and losing them? Not training them
and keeping them!"
"Train people well enough so they can leave, treat them well enough so they
don't want to." (Richard Branson)

-----Original Message-----
From: RPG400-L <rpg400-l-bounces@xxxxxxxxxxxxxxxxxx> On Behalf Of Brian
Sent: Dienstag, 10. September 2019 17:53
To: RPG programming on IBM i <rpg400-l@xxxxxxxxxxxxxxxxxx>
Subject: Re: IF..ELSEIF vs SELECT

Oooooh - you've started something now! Before long we'll have full-on war
over DoW vs. DoU!! <grin>

There is no difference between the two constructs, John. SELECT pre-dates
ELSEIF. Which you use is purely personal taste. I suspect the ELSEIF was
added later to recognise that many programmers coming to the IBM i platform
(and RPG IV) were more familiar with IF/ELSEIF/ELSE/ENDIF. Barbara Morris
may be able to provide a little more insight.


On 10/09/2019 11:36, john erps wrote:

Could anybody shed some light on when to use IF..ELSEIF and SELECT.

Seems to me that the semantics of SELECT is exactly the same as
SELECT just takes one line more (the SELECT).

This is the RPG programming on IBM i (RPG400-L) mailing list To post a
message email: RPG400-L@xxxxxxxxxxxxxxxxxx To subscribe, unsubscribe, or
change list options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives at

Please contact support@xxxxxxxxxxxx for any subscription related questions.

Help support midrange.com by shopping at amazon.com with our affiliate link:

This thread ...

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

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