Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

I-O status

The I-O status is a value that can be used in a COBOL program to check the status of an input/output operation. In order to do this, the FILE STATUS clause must be specified in the FILE CONTROL paragraph of the ENVIRONMENT DIVISION.
The I-O status value is transferred to a two-character data item

  • during the execution of a CLOSE, OPEN, READ, REWRITE, or WRITE statement,

  • prior to the execution of any associated imperative statement, and

  • prior to the execution of any corresponding USE AFTER STANDARD EXCEPTION procedure.

The table below shows the I-O status values and their meanings:

I-O status

Meaning


Execution successful

00

The I-O statement terminated normally. No further information regarding the I-O operation is available.

04

Record length conflict: A READ statement terminated normally. However, the length of the record read lies outside the limits defined in the record description entry for this file.

05

Successful execution of an OPEN INPUT/I-O/EXTEND on a file; however, the referenced file indicated by the OPTIONAL phrase was not present at the time the OPEN statement was executed.

07

  1. Successful OPEN statement with NO REWIND clause on a file that is on a UNIT-RECORD medium.

  2. Successful CLOSE statement with NO REWIND, REEL/UNIT, or FOR REMOVAL clause on a file that is on a UNIT-RECORD medium.


Execution unsuccessful: at end condition

10

An attempt was made to execute a READ statement.
However, no next logical record existed, because the end-of-file was encountered.

A sequential READ statement with the OPTIONAL phrase was attempted for the first time on a nonexistent file.


Execution unsuccessful: unrecoverable error

30

  1. No further information regarding the I-O operation is available (the DMS code provides further information).

  2. In the case of line sequential processing: unsuccessful attempt to access PLAM item

34

An attempt was made to write outside the sequential file boundaries set by the system.

35

An OPEN statement with the INPUT/I-O/EXTEND phrase was attempted on a nonexistent file.

37

OPEN statement on a file that cannot be opened in any of the following ways:

  1. OPEN OUTPUT/I-O/EXTEND on a write-protected file (password, RETENTION-PERIOD, ACCESS=READ in catalog)

  2. OPEN I-O on a tape file

  3. OPEN INPUT on a read-protected file (password)

38

An attempt was made to execute an OPEN statement for a file previously closed with the LOCK phrase.

39

The OPEN statement was unsuccessful as a result of one of the following conditions:

  1. One or more of the operands ACCESS-METHOD, RECORD-FORMAT or RECORD-SIZE were specified in the ADD-FILE-LINK command with values deviating from the corresponding explicit or implicit program specifications.

  2. record length errors occurred for input files (catalog check if RECFORM=F), or

  3. The record size is greater than the BLKSIZE entry in the catalog (in the case of input files).

  4. The catalog entry of one of the FCBTYPE, RECFORM or RECSIZE (if RECFORM=F) operands for an input file is in conflict with the corresponding explicit or implicit program specifications or with the specifications in the ADD-FILE-LINK command.


Execution unsuccessful: logical error

41

An attempt was made to execute an OPEN statement for a file which was already open.

42

An attempt was made to execute a CLOSE statement for a file which was not open.

43

While accessing a disk file opened with OPEN I-O, the most recent I-O statement executed prior to a REWRITE statement was not a successfully executed READ statement.

44

Boundary violation:

  1. An attempt was made to execute a WRITE statement. However, the length of the record is outside the range allowed for this file.

  2. An attempt was made to execute a REWRITE statement. However, the record to be rewritten did not have the same length as the record to be replaced.

46

An attempt was made to execute a READ statement for a file in INPUT or I-O mode. However, there is no valid next record since:

  1. the preceding READ statement was unsuccessful without causing an at end condition

  2. the preceding READ statement resulted in an at end condition.

47

An attempt was made to execute a READ statement for a file not in INPUT or I-O mode.

48

An attempt was made to execute a WRITE statement for a file not in OUTPUT or EXTEND mode.

49

An attempt was made to execute a REWRITE statement for a file not open in I-O mode.


Other conditions with unsuccessful execution

90

System error; no further information available regarding the cause.

91

System error; a system call terminated abnormally; either an OPEN error or no free device; the actual cause is evident from the DMS code (see section "FILE STATUS clause")

95

The specifications in the BLOCK-CONTROL-INFO or BUFFER-LENGTH operands of the ADD-FILE-LINK command are not consistent with the file format, the block length, or the format of the volume being used.