Master Mainframe Technologies - COBOL, JCL, DB2, VSAM, CICS & More
ABEND Codes SQLCODEs File Status Interview Prep Contact
← Back to Debugging
Debugging | Intermediate | COBOL

Fix File Status Error

Problem Description

File READ fails silently. Find why:
READ INPUT-FILE INTO WS-RECORD.
DISPLAY WS-RECORD.

Expected Output

Should handle file errors

Hints

Always check FILE STATUS after file operations.

Solution

IDENTIFICATION DIVISION. PROGRAM-ID. FIXFILE. ENVIRONMENT DIVISION. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT INPUT-FILE ASSIGN TO "INPUT.DAT" FILE STATUS IS WS-FILE-STATUS. DATA DIVISION. FILE SECTION. FD INPUT-FILE. 01 INPUT-REC PIC X(80). WORKING-STORAGE SECTION. 01 WS-RECORD PIC X(80). 01 WS-FILE-STATUS PIC XX. PROCEDURE DIVISION. OPEN INPUT INPUT-FILE. IF WS-FILE-STATUS NOT = "00" DISPLAY "OPEN ERROR: " WS-FILE-STATUS STOP RUN END-IF. READ INPUT-FILE INTO WS-RECORD. EVALUATE WS-FILE-STATUS WHEN "00" DISPLAY "READ OK: " WS-RECORD WHEN "10" DISPLAY "END OF FILE" WHEN OTHER DISPLAY "READ ERROR: " WS-FILE-STATUS END-EVALUATE. CLOSE INPUT-FILE. STOP RUN.

Explanation:

Always define and check FILE STATUS. 00=OK, 10=EOF, 35=file not found.