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

COBOL GO TO Statement

Beginner 🕑 8 min read 👁 0 views

COBOL GO TO Statement

GO TO transfers control unconditionally to a procedure. While available, it should be used sparingly.

Syntax

```cobol GO TO procedure-name GO TO procedure-1 procedure-2 DEPENDING ON identifier ```

GO TO DEPENDING ON

```cobol GO TO PARA-1 PARA-2 PARA-3 DEPENDING ON WS-CHOICE ```

  • If WS-CHOICE = 1, goes to PARA-1
  • If WS-CHOICE = 2, goes to PARA-2
  • If out of range, continues to next statement

When to Use

  • Converting legacy code
  • Simple state machines
  • Error handling exits

When NOT to Use

  • General program flow
  • Loop control (use PERFORM)
  • Conditional execution (use IF/EVALUATE)

Best Practices

  • Avoid GO TO in new code
  • Use PERFORM instead
  • Document why if you must use it

Code Example

       IDENTIFICATION DIVISION.
       PROGRAM-ID. GOTO-DEMO.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01 WS-CHOICE PIC 9 VALUE 2.
       PROCEDURE DIVISION.
       MAIN-PARA.
      * GO TO DEPENDING ON
           GO TO OPTION-1 OPTION-2 OPTION-3
               DEPENDING ON WS-CHOICE
           DISPLAY 'Invalid choice'
           GO TO END-PROGRAM.
       OPTION-1.
           DISPLAY 'Option 1 selected'
           GO TO END-PROGRAM.
       OPTION-2.
           DISPLAY 'Option 2 selected'
           GO TO END-PROGRAM.
       OPTION-3.
           DISPLAY 'Option 3 selected'.
       END-PROGRAM.
           STOP RUN.