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



Bob,

I think you're mixed up here.

ELSEIF doesn't operate any differently than ELSE;  IF;

The only reason to use ELSEIF is to make the code a little neater as
ELSEIF eliminates the nesting.

Consider:

If A
  //A is true
Else
  if B
    //B is true, A is False
  else
    if C
      //C is true, A and B are false
    else
      //A,B,C are false
    endif
  endif
Endif

Vs.

If A
  //A is true
Elseif B
  //B is true, A is false
Elseif C
  //C is true, A and B are false
Else
  //A,B,C are false
Endif

ELSEIF is basically a SELECT (case) statement.

HTH,

Charles Wilt
--
iSeries Systems Administrator / Developer
Mitsubishi Electric Automotive America
ph: 513-573-4343
fax: 513-398-1121
  

> -----Original Message-----
> From: rpg400-l-bounces@xxxxxxxxxxxx 
> [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Bob Cozzi
> Sent: Thursday, May 25, 2006 2:13 PM
> To: 'RPG programming on the AS400 / iSeries'
> Subject: RE: Having both if/else executing at the same time
> 
> ELSE and IF are two statements. In your code the only time 
> the second IF will be
> performed is when the first IF fails. Why? Because the first 
> ELSE is only going
> to be run if the first IF fails. Otherwise it'll jump to the 
> ENDIF statements.
> I think what you really mean to have is ELSEIF not "ELSE" and "IF".
> Replace the ELSE and IF with ELSEIF, and then take a look as 
> this page:
> 
> www.rpgiv.com/blueribbon.html
> 
>   if %len(%trim(APIErrMsg)) > 0;                                
>      W#ERFL = *ON;                                               
>      W#MSDT = 'Error #' + APIErrMsg + ' receiving data from ' +  
>               'data queue.  Detail:  ' + APIErrDta;              
>    elseif %trim(itmInfo) = '';                                       
>       W#ERFL = *ON;                                               
>       W#MSDT = 'Invalid data received from data queue: ' +        
>             itmInfo ;                                          
>    else;                                                         
>        uMATNO = jMATNO;                                          
>        uSIZE = jSIZE;                                            
>        uTEMPER = jTEMPER;                                        
>        uINSUL = jINSUL;                                          
>        uTENSIL = jTENSIL;      
>    endif;                                                    
>    endif;                    
> 
> -Bob Cozzi
> www.RPGxTools.com
> RPG xTools - Enjoy programming again.
> 
> 
> -----Original Message-----
> From: rpg400-l-bounces@xxxxxxxxxxxx 
> [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On
> Behalf Of Willie J. Moore
> Sent: Thursday, May 25, 2006 10:18 AM
> To: rpg400-l@xxxxxxxxxxxx
> Subject: Having both if/else executing at the same time
> 
> Need some help with the following section of code. The second 
> if/else are both
> executing. It acts as if the if/else is one statement. We 
> have checked the
> paring of the if/else and they look correct. Any ideals or 
> help would be greatly
> appreciated. 
> 
>   if %len(%trim(APIErrMsg)) > 0;                                
>      W#ERFL = *ON;                                               
>      W#MSDT = 'Error #' + APIErrMsg + ' receiving data from ' +  
>               'data queue.  Detail:  ' + APIErrDta;              
>    else;                                                         
>    if %trim(itmInfo) = '';                                       
>       W#ERFL = *ON;                                               
>       W#MSDT = 'Invalid data received from data queue: ' +        
>             itmInfo ;                                          
>    else;                                                         
>        uMATNO = jMATNO;                                          
>        uSIZE = jSIZE;                                            
>        uTEMPER = jTEMPER;                                        
>        uINSUL = jINSUL;                                          
>        uTENSIL = jTENSIL;      
>    endif;                                                    
>    endif;                    
> 
> Thanks,
> Willie Moore & Josh Diggs
> California Fine Wire
> 
> 
> -- 
> 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.
> 
> 
> -- 
> 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 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.