I am not sure why the parenthesis made the test fail, but this will always
work:

IF WS-RISK-CODE = "FX" 
   IF WS-ORDER-DOES-NOT-EXIST
        <perform some statements>
   End-If
End-If

I would however offer this from my own experience (and personal preference)
Since you choose to use scope delimiters, the only place you ever need a
period is after paragraph/section names and at the conclusion of a
"paragraph" e.g.

SECT1 Section.
PARA1.
   Stmt1
   Stmt2
   Stmt3
   .
PARA1END.

On occasion the compiler can become confused when dealing with both as you
have done, so the suggestion is pick one way or the other way and be
consistent.

-----Original Message-----
From: cobol400-l-bounces@xxxxxxxxxxxx
[mailto:cobol400-l-bounces@xxxxxxxxxxxx] On Behalf Of Kelly Cookson
Sent: Wednesday, March 03, 2004 11:01 AM
To: COBOL400-L@xxxxxxxxxxxx
Subject: [COBOL400-L] Question about evaluation of a conditional statement.

While reengineering a program, I created the following conditional
statement:

IF (WS-RISK-CODE = "FX" AND  
   WS-ORDER-DOES-NOT-EXIST)
        <perform some statements>
END-IF.

The conditional statement was evaluated false during the program run even
though WS-RISK-CODE equalled "FX" and WS-ORDER-DOES-NOT-EXIST was true. None
of the statements to be performed were performed.

I then removed the parentheses to result in the following:

IF WS-RISK-CODE = "FX" AND  
   WS-ORDER-DOES-NOT-EXIST
        <perform some statements>
END-IF.

This worked.

I'm not sure I understand how the parentheses caused the problem. I assumed
the order of evaluation within the parentheses would be the relational
operator first and then the logical operator. 

Can someone explain it to me?

Thanks,
Kelly
     
_______________________________________________
This is the COBOL Programming on the iSeries/AS400 (COBOL400-L) mailing list
To post a message email: COBOL400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/cobol400-l
or email: COBOL400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/cobol400-l.

As an Amazon Associate we earn from qualifying purchases.

This thread ...


Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2022 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.