Table of Codes

Regardless of which set of status codes is being used:

85    74    Vax    DG    IBM    Condition
00 00 00 00 00 Operation successful.
02 02 00 00 00 The current key of reference in the record just read is duplicated in the next record. (read next)
02 02 02 00 00 The operation added a duplicate key to the file where duplicates were allowed. (write, rewrite)
05 00 05 00 10 Optional file missing. If the open mode is I-O or EXTEND, then the file has been created. This is also returned by DELETE FILE if the file is not found. (open, delete file)
07 00 07 00 00 A CLOSE UNIT/REEL statement was executed for a file on a non-reel medium. The operation was successful.
0M 0M 0M 0M 00 The operation was successful, but some optional feature was not used. For example, if you opened a file that specified an alternate collating sequence, but the host file system did not support that feature, then the open would succeed, but it would return this status.
10 10 13 10 10 End of file. (read next)
14 00 14 00 00 A sequential READ statement was attempted for a relative file, and the number of digits in the relative record number is larger than the size of the relative key data item. (read next)
21 21 21 21 21 Primary key was written out of sequence, or the primary key on a rewrite does not match the last record read. This error occurs only for an indexed file open with the sequential access mode. (write, rewrite)
22 22 22 22 22 Duplicate key found but not allowed. (write, rewrite)
23 23 23 23 23 Record not found.
24 24 24 24 24 Disk full for relative or indexed file. (write)
24/ 01 00 24/ 01 00 24 A sequential WRITE statement was executed for a relative file, and the number of digits in the relative record number was larger than the size of the relative key data item. (write)
30/ xx 30/ xx 30/ xx 30/ xx 30 Permanent error. This is any error not otherwise described.

The secondary code value is set to the host system's status value that caused the error. See your operating system user manual for an explanation, and C$RERR in Appendix I.

34 34 34 34 34 Disk full for sequential file or sort file. (write, sort)
35 94/ 20 35 91 93 File not found. (open, sort)
37/ 01 95/ 01 37/ 01 91/ 01 93 The file being opened is not on a mass-storage device which is required for the file type or the requested open mode. (open)
37/ 02 95/ 02 37/ 02 91/ 02 93/ 02 Attempt to open a sequential file with fixed-length records as a Windows spool file.
37/ 07 90/ 07 39/ 07 91/ 07 93 User does not have appropriate access permissions to the file. (open)
37/ 08 95/ 08 37/ 08 91/ 08 93 Attempt to open a print file for INPUT. (open)
37/ 09 95/ 09 37/ 09 91/ 09 93 Attempt to open a sequential file for I/O and that file has automatic trailing space removal specified. (open)
37/ 99 95/ 99 37/ 99 91/ 99 93/ 99 A Windows or Windows NT runtime that is not network-enabled tried to access a file on a remote machine.
38 93/ 03 38 92 93 File previously closed with LOCK by this run unit. (open)
39/ xx 94/ xx 39/ xx 9A/ xx 95 Existing file conflicts with the COBOL description of the file. (open)

The secondary error code may have any of these values:

  • 01 - mismatch found but exact cause unknown (this status is returned by the host file system)
  • 02 - mismatch found in file’s maximum record size
  • 03 - mismatch found in file’s minimum record size
  • 04 - mismatch found in the number of keys in the file
  • 05 - mismatch found in primary key description
  • 06 - mismatch found in first alternate key description
  • 07 - mismatch found in second alternate key description

The list continues in this manner for each alternate key.

41 92 41 91 93 File is already open. (open)
42 91 42 92 92 File not open. (close)
42 91 94 91 92 File not open. (unlock)
43 90/ 02 43 92 23 No current record defined for a sequential access mode file. (rewrite, delete)
44 97 44 92 21 Record size changed. The record being rewritten is a different size from the one existing in the file, and the file's organization does not allow this. (rewrite)

This status code can also occur if the record is too large or too small according to the RECORD CONTAINS clause for the file. (write, rewrite)

46 96 46 92 21 No current record. This usually occurs when the previous operation on the file was a START that failed, leaving the record pointer undefined. (read next)
47/ 01 90/ 01 47/ 01 92/ 01 13 File not open for input or I-O. (read, start)
47/ 02 91/ 02 47/ 02 92/ 02 13 File not open. (read, start)
48/ 01 90/ 01 48/ 01 92/ 01 13 A file that is defined to be access mode sequential is open for I-O, or the file is open for INPUT only. (write)
48/ 02 91/ 02 48/ 02 92/ 02 13 File not open. (write)
49/ 01 90/ 01 49/ 01 92/ 01 13 File not open for I-O. (rewrite, delete)
49/ 02 91/ 02 49/ 02 92/ 02 13 File not open. (rewrite, delete)
93 93 91 94 93 File locked by another user. (open)
94/ 10 94/ 10 97 97/ 10 93 Too many files open by the current process. (open)
94/ 62 94, 62 39/ 62 92/ 62 93 One of the LINKAGE values for this file is illegal or out of range. (open, write)
94/ 63 94/ 62 39/ 62 92/ 62 93 Key not specified (specifying a table whose size is zero) in a SORT or MERGE statement
98/ xx 98/ xx 30/ xx 9B/ xx 93 Indexed file corrupt. An internal error has been detected in the indexed file. The secondary status code contains the internal error number. The file should be reconstructed with the appropriate utility.
99 99 92 94 23 Record locked by another user.
9A 9A 9A 9A 23 Inadequate memory for operation. This most commonly occurs for the SORT verb, which requires at least 64K bytes of free space. (any)
9B 9B 9B 9B 23 The requested operation is not supported by the host operating system. For example, a deferred file system initialization failed, or a READ PREVIOUS verb was executed and the host file system does not have the ability to process files in reverse order. (any)

If you are using AcuXML, this error results when the program tries to open a file EXTEND or I-O. With AcuXML, programs are able to open files INPUT or OUTPUT only.

9C 9C 9C 9C 23 There are no entries left in one of the lock tables. The secondary error code indicates which table is full:
  • 01 - operating system lock table
  • 02 - internal global lock table (see the MAX_LOCKS configuration variable)
  • 03 - internal per-file lock table (see the LOCKS_PER_FILE configuration variable)
9D/ xx 9D/ xx 9D/ xx 9D/ xx 92 This indicates an internal error defined by the host file system. The xx is the host system's error value. This is similar to error 30, except that xx is specific to the host file system instead of the host operating system. For example:
  • 02 - In Acu4GL or AcuXML, 9D,02 indicates that an XFD file is corrupt. This could be the result of a parsing error.

  • 03 - In Acu4GL or AcuXML, 9D,03 indicates that an XFD file is missing. This could be the result of a parsing error.
  • 05 - In AcuXML, 9D,05 indicates that there was an XFD parsing error, so AcuXML was unable to read a record.

Refer to the specific product documentation for more details on the host file system's error codes.

9E/ xx 9E/ xx 9E/ xx 9E/ xx 92 This indicates an error occurred in the transaction system. The exact nature of the error is shown by the contents of TRANSACTION-STATUS. See Transaction Error Codes for more information.
9Z 9Z 9Z 9Z 92 This indicates that you are executing the program with a runtime that has a restriction on the number of records it can process. You have exceeded the record limit.