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

COBOL SET Statement

Beginner 🕑 10 min read 👁 0 views

COBOL SET Statement

The SET statement is used to alter the status of condition names, modify index values, and set pointer values.

Syntax

SET condition-name TO TRUE
SET index-name TO literal/identifier
SET index-name UP/DOWN BY literal/identifier
SET pointer TO ADDRESS OF identifier

Example Program

       IDENTIFICATION DIVISION.
       PROGRAM-ID. SET-DEMO.

       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01 WS-STATUS      PIC 9 VALUE 0.
          88 STATUS-ACTIVE    VALUE 1.
          88 STATUS-INACTIVE  VALUE 0.

       01 WS-TABLE.
          05 WS-ITEM OCCURS 5 TIMES INDEXED BY WS-IDX.
             10 WS-VALUE   PIC 9(3).

       PROCEDURE DIVISION.
           DISPLAY 'Initial Status: ' WS-STATUS

           SET STATUS-ACTIVE TO TRUE
           DISPLAY 'After SET TRUE: ' WS-STATUS

           SET WS-IDX TO 1
           MOVE 100 TO WS-VALUE(WS-IDX)

           SET WS-IDX UP BY 1
           MOVE 200 TO WS-VALUE(WS-IDX)

           DISPLAY 'Index 1 Value: ' WS-VALUE(1)
           DISPLAY 'Index 2 Value: ' WS-VALUE(2)

           STOP RUN.

Expected Output

Initial Status: 0
After SET TRUE: 1
Index 1 Value: 100
Index 2 Value: 200

Key Points

  • SET TO TRUE activates 88-level condition names
  • SET with indexes is more efficient than MOVE
  • SET UP/DOWN BY modifies index values relatively