Master Mainframe Technologies - COBOL, JCL, DB2, VSAM, CICS & More
ABEND Codes SQLCODEs File Status Interview Prep Contact
💻 COBOL

COBOL IF Statement

Beginner 🕑 10 min read 👁 0 views

COBOL IF Statement

The IF statement provides conditional execution based on condition evaluation.

Syntax

IF condition
    statement-1
[ELSE
    statement-2]
[END-IF]

Condition Types

  • Relational: =, <, >, <=, >=, NOT =
  • Class: NUMERIC, ALPHABETIC, ALPHABETIC-LOWER, ALPHABETIC-UPPER
  • Sign: POSITIVE, NEGATIVE, ZERO
  • Condition-name: 88-level conditions

Example Program

       IDENTIFICATION DIVISION.
       PROGRAM-ID. IF-DEMO.

       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01 WS-SCORE       PIC 9(3) VALUE 85.
       01 WS-GRADE       PIC X(1).
       01 WS-STATUS      PIC 9 VALUE 1.
          88 IS-ACTIVE   VALUE 1.
          88 IS-INACTIVE VALUE 0.

       PROCEDURE DIVISION.
      * Simple IF
           IF WS-SCORE >= 90
               MOVE 'A' TO WS-GRADE
           ELSE IF WS-SCORE >= 80
               MOVE 'B' TO WS-GRADE
           ELSE IF WS-SCORE >= 70
               MOVE 'C' TO WS-GRADE
           ELSE
               MOVE 'F' TO WS-GRADE
           END-IF
           END-IF
           END-IF
           DISPLAY 'Grade: ' WS-GRADE

      * Condition name test
           IF IS-ACTIVE
               DISPLAY 'Status is Active'
           END-IF

      * Compound condition
           IF WS-SCORE >= 80 AND WS-SCORE < 90
               DISPLAY 'Score is in B range'
           END-IF

           STOP RUN.

Expected Output

Grade: B
Status is Active
Score is in B range

Key Points

  • Always use END-IF for clarity
  • 88-level conditions improve readability
  • Compound conditions use AND, OR, NOT
  • EVALUATE is better for multiple conditions