== Why is this an issue? When a ``++FILE STATUS++`` is declared on a file, it should be tested immediately after IO operations. === Noncompliant code example [source,cobol] ---- IDENTIFICATION DIVISION. PROGRAM-ID. foo. ENVIRONMENT DIVISION. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT TEST-FILE ASSIGN TO 'foobar.txt' ORGANIZATION IS SEQUENTIAL FILE STATUS WS-TEST-FILE-STATUS. DATA DIVISION. FILE SECTION. FD TEST-FILE LABEL RECORDS ARE STANDARD. 01 TEST-RECORD. 05 USERNAME PIC XX. WORKING-STORAGE SECTION. 01 WS-TEST-FILE-STATUS PIC X(42). PROCEDURE DIVISION. * Non-Compliant, TEST-FILE has a FILE STATUS variable which must be used OPEN INPUT TEST-FILE. END PROGRAM foo. ---- === Compliant solution [source,cobol] ---- IDENTIFICATION DIVISION. PROGRAM-ID. foo. ENVIRONMENT DIVISION. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT TEST-FILE ASSIGN TO 'foobar.txt' ORGANIZATION IS SEQUENTIAL FILE STATUS WS-TEST-FILE-STATUS. DATA DIVISION. FILE SECTION. FD TEST-FILE LABEL RECORDS ARE STANDARD. 01 TEST-RECORD. 05 USERNAME PIC XX. WORKING-STORAGE SECTION. 01 WS-TEST-FILE-STATUS PIC X(42). PROCEDURE DIVISION. * Compliant, errors of the IO operation are propery handled OPEN INPUT TEST-FILE. IF WS-TEST-FILE-STATUS <> "00" THEN DISPLAY "Error while opening foobar.txt as input.". END PROGRAM foo. ----