MainframeMaster

COBOL Tutorial

COBOL EQUAL Condition

The EQUAL condition represents a fundamental component of comparison operations and conditional logic in COBOL, serving as the primary mechanism for testing equality between data items, literals, and expressions. This condition embodies logical programming principles by providing precise equality testing capabilities, enabling sophisticated decision-making processes, and supporting the development of robust conditional logic that forms the foundation of business rule implementation and data validation procedures.

Basic EQUAL Usage

cobol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
IDENTIFICATION DIVISION. PROGRAM-ID. EQUAL-DEMO. DATA DIVISION. WORKING-STORAGE SECTION. 01 COMPARISON-VARIABLES. 05 NUMERIC-VALUE-1 PIC 9(5) VALUE 12345. 05 NUMERIC-VALUE-2 PIC 9(5) VALUE 12345. 05 STRING-VALUE-1 PIC X(20) VALUE 'HELLO WORLD'. 05 STRING-VALUE-2 PIC X(20) VALUE 'HELLO WORLD'. 05 RESULT-FLAG PIC X VALUE 'N'. 88 VALUES-EQUAL VALUE 'Y'. 88 VALUES-NOT-EQUAL VALUE 'N'. PROCEDURE DIVISION. MAIN-PROCESSING. PERFORM DEMONSTRATE-NUMERIC-EQUALITY PERFORM DEMONSTRATE-STRING-EQUALITY PERFORM DEMONSTRATE-COMPLEX-COMPARISONS STOP RUN. DEMONSTRATE-NUMERIC-EQUALITY. DISPLAY 'Testing numeric equality...' IF NUMERIC-VALUE-1 EQUAL NUMERIC-VALUE-2 DISPLAY 'Numeric values are equal' SET VALUES-EQUAL TO TRUE ELSE DISPLAY 'Numeric values are not equal' SET VALUES-NOT-EQUAL TO TRUE END-IF. DEMONSTRATE-STRING-EQUALITY. DISPLAY 'Testing string equality...' IF STRING-VALUE-1 EQUAL STRING-VALUE-2 DISPLAY 'String values are equal' SET VALUES-EQUAL TO TRUE ELSE DISPLAY 'String values are not equal' SET VALUES-NOT-EQUAL TO TRUE END-IF. DEMONSTRATE-COMPLEX-COMPARISONS. DISPLAY 'Testing complex comparisons...' IF NUMERIC-VALUE-1 EQUAL 12345 AND STRING-VALUE-1 EQUAL 'HELLO WORLD' DISPLAY 'Complex condition is true' END-IF.

Best Practices and FAQ