💻 COBOL
COBOL CLOSE Statement
Intermediate 🕑 10 min read
👁 0 views
COBOL CLOSE Statement
The CLOSE statement terminates the processing of a file.
Syntax
CLOSE file-name-1 [WITH LOCK] [file-name-2 ...]
Example Program
IDENTIFICATION DIVISION.
PROGRAM-ID. CLOSE-DEMO.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT INPUT-FILE ASSIGN TO 'INPUT.DAT'
FILE STATUS IS WS-IN-STATUS.
SELECT OUTPUT-FILE ASSIGN TO 'OUTPUT.DAT'
FILE STATUS IS WS-OUT-STATUS.
SELECT REPORT-FILE ASSIGN TO 'REPORT.TXT'
FILE STATUS IS WS-RPT-STATUS.
DATA DIVISION.
FILE SECTION.
FD INPUT-FILE.
01 INPUT-REC PIC X(80).
FD OUTPUT-FILE.
01 OUTPUT-REC PIC X(80).
FD REPORT-FILE.
01 REPORT-REC PIC X(80).
WORKING-STORAGE SECTION.
01 WS-IN-STATUS PIC XX.
01 WS-OUT-STATUS PIC XX.
01 WS-RPT-STATUS PIC XX.
PROCEDURE DIVISION.
OPEN INPUT INPUT-FILE
OPEN OUTPUT OUTPUT-FILE
OPEN OUTPUT REPORT-FILE
DISPLAY 'Files opened'
* Process files...
* Close files individually
CLOSE INPUT-FILE
DISPLAY 'Input closed: ' WS-IN-STATUS
* Close multiple files at once
CLOSE OUTPUT-FILE REPORT-FILE
DISPLAY 'Output closed: ' WS-OUT-STATUS
DISPLAY 'Report closed: ' WS-RPT-STATUS
* Close with lock prevents reopening
* CLOSE INPUT-FILE WITH LOCK
STOP RUN.
Expected Output
Files opened
Input closed: 00
Output closed: 00
Report closed: 00
Key Points
- Always CLOSE opened files
- Check FILE STATUS after CLOSE
- WITH LOCK prevents reopening
- Can close multiple files in one statement
- Unclosed files may lose data