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




-----Original Message-----
From: Josh Diggs 
Sent: Thursday, May 25, 2006 1:29 PM
To: Willie J. Moore
Subject: FW: Having both if/else executing at the same time




-----Original Message-----
From: Josh Diggs 
Sent: Thursday, May 25, 2006 11:55 AM
To: 'rpg400-l@xxxxxxxxxxxx'
Subject: RE: Having both if/else executing at the same time


Bob, 

This is my code, and I'm sure it is obvious that I am not an RPG programmer.  
The elseif is a cleaner way to write it.  That does not explain why my compiled 
program was executing both the if and else blocks.  I still don't understand 
how that got past the compiler, and functioned the way it did, but it seems to 
be fixed today.  Good thing too because yesterday I was saying, 
http://www.rpgiv.com/images/freking.wav

This is a block of code within generated code which provided the W# variables 
for me to work with.  Can you tell me more about not being an @$$.  I'm not 
sure what that means, but it seems to apply to the W#ERFL and W#MSDT variables.

Thanks,

Josh

-----Original Message-----
From: Willie J. Moore 
Sent: Thursday, May 25, 2006 11:36 AM
To: Josh Diggs
Subject: FW: Having both if/else executing at the same time




-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx]On Behalf Of Bob Cozzi
Sent: Thursday, May 25, 2006 11:13 AM
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



As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:

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.