Master Mainframe Technologies - COBOL, JCL, DB2, VSAM, CICS & More
ABEND Codes SQLCODEs File Status Interview Prep Contact
← Back to Conditional Logic
Conditional Logic | Intermediate | COBOL

Condition Names (88 Level)

Problem Description

Use 88-level condition names for readable conditions.

Expected Output

Self-documenting conditional code

Hints

88 level defines named conditions for field values.

Solution

IDENTIFICATION DIVISION. PROGRAM-ID. COND88. DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-STATUS PIC X(1). 88 STATUS-ACTIVE VALUE "A". 88 STATUS-INACTIVE VALUE "I". 88 STATUS-PENDING VALUE "P". 88 STATUS-VALID VALUE "A" "I" "P". 01 WS-GENDER PIC X(1). 88 IS-MALE VALUE "M". 88 IS-FEMALE VALUE "F". 01 WS-SCORE PIC 9(3). 88 SCORE-EXCELLENT VALUE 90 THRU 100. 88 SCORE-GOOD VALUE 70 THRU 89. 88 SCORE-PASS VALUE 50 THRU 69. 88 SCORE-FAIL VALUE 0 THRU 49. 01 WS-EOF PIC 9 VALUE 0. 88 END-OF-FILE VALUE 1. 88 NOT-END-OF-FILE VALUE 0. PROCEDURE DIVISION. MOVE "A" TO WS-STATUS. IF STATUS-ACTIVE DISPLAY "STATUS IS ACTIVE" END-IF. IF STATUS-VALID DISPLAY "STATUS IS VALID" END-IF. MOVE 85 TO WS-SCORE. EVALUATE TRUE WHEN SCORE-EXCELLENT DISPLAY "EXCELLENT!" WHEN SCORE-GOOD DISPLAY "GOOD JOB!" WHEN SCORE-PASS DISPLAY "YOU PASSED" WHEN SCORE-FAIL DISPLAY "FAILED" END-EVALUATE. * SET to change 88-level SET END-OF-FILE TO TRUE. IF END-OF-FILE DISPLAY "EOF REACHED" END-IF. STOP RUN.

Explanation:

88-level makes code readable. Use VALUE for single, THRU for range. SET to change.