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