|
After reviewing the generated MI, I found that I was right in my assumption: When a piece of code like this is specified: 0001 C MOVE 'CM' FIELDA 2 0002 C MOVE 'ID' FIELDB 2 0003 C MOVE '11' FIELDC 2 0004 C FIELDA COMP FIELDB 44 0005 C N44 FIELDB COMP FIELDC 44 0006 C 44 FIELDA IFEQ 'CM' 0007 C MOVEL'PASSED' MSG 10 0008 C ELSE 0009 C MOVEL'FAILED' MSG 0010 C ENDIF 0011 C ENDPGM TAG 0012 C MOVEL*ON *INLR When Indicator 44 is *OFF, when attempting to execute line 6 (the IF statement) control branches to the ENDIF (line 10) statement, NOT the ELSE statement (line 8). If this were rewritten to follow the logic of the indicator, it might appear (albeit ugly) as follows: 0001 C MOVE 'CM' FIELDA 2 0002 C MOVE 'ID' FIELDB 2 0003 C MOVE '11' FIELDC 2 0004 C FIELDA COMP FIELDB 44 0005 C N44 FIELDB COMP FIELDC 44 0006 C *IN44 IFEQ *ON 0007 C FIELDA IFEQ 'CM' 0008 C MOVEL'PASSED' MSG 10 0009 C ELSE 0010 C MOVEL'FAILED' MSG 0011 C ENDIF 0012 C ENDIF 0013 C ENDPGM TAG 0014 C MOVEL*ON *INLR The two code examples produce identical results. Bob Cozzi cozzi@rpgiv.com Visit the on-line Midrange Developer forum at: http://www.rpgiv.com > -----Original Message----- > From: rpg400-l-admin@midrange.com [mailto:rpg400-l-admin@midrange.com] On > Behalf Of Peter Dow > Sent: Thursday, January 10, 2002 8:55 AM > To: rpg400-l@midrange.com > Subject: Re: Sanity check > > Hi Steven, > > You're right, I missed that CLEAR stmt. Something about looking at that code > triggered a memory of some program where the situation I described caused a > problem, and that's apparently all my old grey cells could see. Or maybe > all those grey cells are leaking out and that's why my hair is grey... > > Regards, > Peter Dow > Dow Software Services, Inc. > 909 425-0194 voice > 909 425-0196 fax > > ----- Original Message ----- > From: <steven.ryan@denso.com.au> > To: <rpg400-l@midrange.com> > Sent: Wednesday, January 09, 2002 7:55 PM > Subject: Re: Sanity check > > > > > > 'Fraid not Peter > > > > Thre first line of Code clears MEMO unconditionally. Therefore, if CM > > isn't 'CM' or 'DM' then Memo WILL be blank. > > > > It's such an UGLY program that I needed to look a couple of times before I > > convinced myself of this. > > > > > > > > "Peter Dow" > > <pcdow@yahoo.com> To: > <rpg400-l@midrange.com> > > Sent by: cc: > > rpg400-l-admin@mi Subject: Re: Sanity check > > drange.com > > > > > > 10/01/02 08:45 > > Please respond to > > rpg400-l > > > > > > > > > > > > > > Hi David, > > > > Actually, if CM is not 'CM' and not 'DM', MEMO and PONO will not be > > modified. That is to say, the first time through (assuming this is the > > only > > code that modifies MEMO and PONO), they would remain blank. But if one > > pass > > sets MEMO = '* CREDIT', and the next pass has CM not = 'CM' or 'DM', then > > MEMO will still be '* CREDIT'. > > > > > > > > > > > > > Factor1 OpCodFactor2 ResultLenDHHiLoEQ > > > C CLEARMEMO > > > C CM COMP 'CM' 44 On if CM='CM' > > > C N44 CM COMP 'DM' 44 On if CM='DM' > > > C 44 CM IFEQ 'CM' > > > C MOVEL'* CREDIT'MEMO 8 > > > C MOVE *BLANKS PONO > > > C ELSE > > > C MOVE *BLANKS PONO > > > C MOVEL'* DEBIT'MEMO 8 > > > C END > > > > > > > > > > _________________________________________________________ > > Do You Yahoo!? > > Get your free @yahoo.com address at http://mail.yahoo.com > > > > _______________________________________________ > > This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list > > To post a message email: RPG400-L@midrange.com > > To subscribe, unsubscribe, or change list options, > > visit: http://lists.midrange.com/cgi-bin/listinfo/rpg400-l > > or email: RPG400-L-request@midrange.com > > 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@midrange.com > > To subscribe, unsubscribe, or change list options, > > visit: http://lists.midrange.com/cgi-bin/listinfo/rpg400-l > > or email: RPG400-L-request@midrange.com > > Before posting, please take a moment to review the archives > > at http://archive.midrange.com/rpg400-l. > > > _________________________________________________________ > Do You Yahoo!? > Get your free @yahoo.com address at http://mail.yahoo.com > > _______________________________________________ > This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list > To post a message email: RPG400-L@midrange.com > To subscribe, unsubscribe, or change list options, > visit: http://lists.midrange.com/cgi-bin/listinfo/rpg400-l > or email: RPG400-L-request@midrange.com > 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 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.