The following program doesn't seem to do anything. It compiles and runs, and in the debugger the IF conditions indicating an error are never TRUE. It just runs to completion, displays blanks, and writes no file. What am I missing? (ACUCOBOL version is 32-bit ACU 9.2.1 for Windows.)
IDENTIFICATION DIVISION.
PROGRAM-ID. IOTEST.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 FILE-STATUS-GROUP.
03 FILE-STATUS PIC XX COMP-X.
03 REDEFINES FILE-STATUS.
05 FS-BYTE-1 PIC X.
05 FS-BYTE-2 PIC X COMP-X.
01 FILENAME PIC X(32) VALUE "test.txt".
01 ACCESS-MODE PIC X COMP-X VALUE 3.
01 DENY-MODE PIC X COMP-X VALUE 0.
01 FILE-HANDLE PIC X(4) COMP-X VALUE 0.
01 OFFSET PIC X(8) COMP-X VALUE 0.
01 WRITE-COUNT PIC X(4) COMP-X VALUE 32.
01 READ-COUNT PIC X(4) COMP-X VALUE 32.
01 GREETING PIC X(32) VALUE "HELLO".
01 REPLY PIC X(32) VALUE SPACE.
PROCEDURE DIVISION.
CALL "CBL_OPEN_FILE"
USING FILENAME, ACCESS-MODE, DENY-MODE, 1, FILE-HANDLE
RETURNING RETURN-CODE
END-CALL
IF NOT RETURN-CODE = 0
MOVE RETURN-CODE TO FILE-STATUS
END-IF
CALL "CBL_WRITE_FILE"
USING FILE-HANDLE, OFFSET, WRITE-COUNT, 0, GREETING
RETURNING RETURN-CODE
END-CALL
IF NOT RETURN-CODE = 0
MOVE RETURN-CODE TO FILE-STATUS
END-IF
CALL "CBL_READ_FILE"
USING FILE-HANDLE, OFFSET, READ-COUNT, 0, GREETING
RETURNING RETURN-CODE
END-CALL
IF NOT RETURN-CODE = 0
MOVE RETURN-CODE TO FILE-STATUS
END-IF
DISPLAY "Reply: " REPLY
CALL "CBL_CLOSE_FILE"
USING FILE-HANDLE
RETURNING RETURN-CODE
END-CALL
GOBACK.#CBL_WRITE_FILE



