+1
On 2020-06-05 16:47, Gibney, Dave wrote:
The entire original confusion had to do with the fact that the 1st question
involving HiGH-VALUE was not processed as expected because the AND took
precedent over the OR.
I don't remember exactly how COBOL does X = 'A' OR 'B', If NATURAL, this would be X = 'A' OR =
'B", The "OR =" is the operator required by the language syntax.
Personally, if I was writing this in COBOL, I'd probably use the full,
unambiguous SMOD (IND1) = 'B' OR SMOD (IND1) = 'R'
-----Original Message-----
From: IBM Mainframe Discussion List <IBM-MAIN@LISTSERV.UA.EDU> On
Behalf Of Paul Gilmartin
Sent: Friday, June 05, 2020 1:33 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: COBOL Question
On Fri, 5 Jun 2020 20:17:06 +0000, Gibney, Dave wrote:
Using OP
IF TVOLL (IND1) NOT = HIGH-VALUE
AND SMOD (IND1) = 'B' OR 'R'
I would do
IF TVOLL (IND1) NOT = HIGH-VALUE
IF SMOD (IND1) = 'B' OR 'R'
Do the stuff
I have (almost) never coded COBOL, so I have trouble wrapping my head
around:
SMOD (IND1) = 'B' OR 'R'
Does it mean:
( SMOD (IND1) = 'B' ) OR 'R' or
SMOD (IND1) = ( 'B' OR 'R' ) or (implied Distributive Law):
SMOD (IND1) = 'B' OR SMOD (IND1) = 'R'
I'd have even more trouble with:
SMOD (IND1) NOT = 'B' OR 'R'
SMOD (IND1) NOT = 'B' OR SMOD (IND1) NOT = 'R'
... which seems to be a verbose expression for TRUE. I've seen programmers
fall into that trap.
-- gil
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions, send email to
lists...@listserv.ua.edu with the message: INFO IBM-MAIN
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN