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

COBOL OPEN Statement

Intermediate 🕑 10 min read 👁 1 views

COBOL OPEN Statement

The OPEN statement makes a file available for processing.

Syntax

OPEN INPUT file-name
OPEN OUTPUT file-name
OPEN I-O file-name
OPEN EXTEND file-name

Open Modes

Mode Purpose
INPUT Read only
OUTPUT Write new file
I-O Read and update
EXTEND Append to file

Example Program

       IDENTIFICATION DIVISION.
       PROGRAM-ID. OPEN-DEMO.

       ENVIRONMENT DIVISION.
       INPUT-OUTPUT SECTION.
       FILE-CONTROL.
           SELECT INPUT-FILE ASSIGN TO 'INPUT.DAT'
               FILE STATUS IS WS-FILE-STATUS.
           SELECT OUTPUT-FILE ASSIGN TO 'OUTPUT.DAT'
               FILE STATUS IS WS-OUT-STATUS.

       DATA DIVISION.
       FILE SECTION.
       FD INPUT-FILE.
       01 INPUT-RECORD    PIC X(80).
       FD OUTPUT-FILE.
       01 OUTPUT-RECORD   PIC X(80).

       WORKING-STORAGE SECTION.
       01 WS-FILE-STATUS  PIC XX VALUE SPACES.
       01 WS-OUT-STATUS   PIC XX VALUE SPACES.

       PROCEDURE DIVISION.
           OPEN INPUT INPUT-FILE
           IF WS-FILE-STATUS NOT = '00'
               DISPLAY 'Error opening input: ' WS-FILE-STATUS
               STOP RUN
           END-IF
           DISPLAY 'Input file opened successfully'

           OPEN OUTPUT OUTPUT-FILE
           IF WS-OUT-STATUS NOT = '00'
               DISPLAY 'Error opening output: ' WS-OUT-STATUS
               STOP RUN
           END-IF
           DISPLAY 'Output file opened successfully'

           CLOSE INPUT-FILE OUTPUT-FILE
           STOP RUN.

Expected Output

Input file opened successfully
Output file opened successfully

Key Points

  • Always check FILE STATUS after OPEN
  • OUTPUT creates new file (overwrites existing)
  • EXTEND appends to existing file
  • I-O requires file to exist