Joe Pluta wrote:
This code is a big, huge, IF 1 = 1.
I bet they meant to code the equivalent of this
    IF NOT
       (    (TTBAST = 'D' and TTA9CD = '001')
         or TTA9CD = '002'
         or TTA9CD = '003'
         or TTA9CD = '012'
         or TTA9CD = '013'
         or (TTBAST = 'H' and  TTA9CD = *blanks)
       )
but they didn't understand DeMorgan's Law, so they just changed all the 
EQ's to NE's.
I think the best way of coding NOT(complex expression) in fixed form RPG 
is to code it as an IF, and then use the ELSE to get the equivalent of NOT.
     C     TTBAST        IFEQ      'D'
     C     TTA9CD        ANDEQ     '001'
     C     TTA9CD        OREQ      '002'
     C     TTA9CD        OREQ      '003'
     C     TTA9CD        OREQ      '012'
     C     TTA9CD        OREQ      '013'
     C     TTBAST        OREQ      'H'
     C     TTA9CD        ANDEQ     '   '
      * Empty "IF" section.  We want the opposite of this IF
     C                   ELSE
     C                   MOVE      TTOFCD               OFCD      2
     C                   ENDIF
But since that code is so old, I'm sure Joe's replacement is the correct 
one, since that's how it's been working.
As an Amazon Associate we earn from qualifying purchases.
	
 
This mailing list archive is Copyright 1997-2025 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.