|Run-time System Error Messages||SAA, OSVS and VSC2 Implementation Limits|
For each file defined with a FILE STATUS clause, every I/O operation returns a status code. This chapter lists the codes that can be returned. If you are using the standard system loaded for ANSI'85 operation, ANSI'85 codes are produced by default. In order to produce ANSI'74 file status codes, set the -A switch at run time.
Alternatively, compile your program with the directive NOANS85. If you do not specify NOANS85 when compiling, ANSI'85 file status codes are produced.
If you want to use ANSI'85 syntax, but have ANSI'74 file status codes, replace the NOANS85 directive with ANS85"SYNTAX", or remove the NOANS85 directive and use the -A switch at run time.
In addition to the above file status conventions you can produce more detailed extended file status codes. Extended file status codes have the following format:
||is a binary (COMP-X) number, equivalent to a run-time error number.|
Run-time errors are documented in the chapter Run-time System Messages.
For example, if you are writing a file to disk and the disk runs out of space, the ANSI'74 file status would be "30", which translates into a "Permanent error - no other information is available" error message. That error message is very general; a "permanent error" could mean that the disk has failed, or that the disk drive door is open. So, rather than return a generic file status, this COBOL system returns an extended file status of 9/007.
When using ANSI'74 or ANSI'85 file status codes, the run-time system returns extended status codes if the extended file status is more specific than what would normally be returned.
Unless otherwise specified, each file status code can be received for operations on any file organizations in any access mode.
|02||02||Indexed files only.
One of two possibilities:
|For a READ statement, the key value for the current key is equal to the value of that same key in the next record in the current key of reference.|
|For a WRITE or REWRITE statement, the record just written created a duplicate key value for at least one alternate record key for which duplicates are allowed.|
|00||04||The length of the record being processed does not conform to the fixed file attributes for that file.|
|00||05||The referenced optional file is not present at the time the OPEN statement is executed.|
|00||07||Sequential files only. For an OPEN or CLOSE statement with the REEL/UNIT phrase the referenced file is a non-reel/unit medium.|
|10||10||No next logical record exists.
You have reached the end of the file.
|14||Relative files only.
The number of significant digits in the relative record number is larger than the size of the relative key data item described for that file.
|21||21||Sequentially accessed files only.
Indicates a sequence error. The ascending key requirements of successive record key values has been violated, or, the prime record key value has been changed by a COBOL program between successful execution of a READ statement and execution of the next REWRITE statement for that file.
|22||22||Indexed and relative files only.
Indicates a duplicate key condition. Attempt has been made to store a record that would create a duplicate key in the indexed or relative file OR a duplicate alternate record key that does not allow duplicates.
|23||23||Indicates no record found.
An attempt has been made to access a record, identified by a key, and that record does not exist in the file.
Alternatively a START or READ operation has been tried on an optional input file that is not present.
|24||24||Relative and indexed files only.
Indicates a boundary violation arising from one of the following conditions:
|An attempt is made to write beyond the externally defined boundaries of a file.|
|A sequential WRITE operation has been tried on a relative file, but the number of significant digits in the relative record number is larger than the size of the relative key data item described for the file.|
|30||The I/O statement was unsuccessfully executed as the result of a boundary violation for a sequential file or as the result of an I/O error, such as a data check parity error, or a transmission error.|
|34||The I/O statement failed because of a
This condition indicates that an attempt has been made to write beyond the externally defined boundaries of a sequential file.
|35||An OPEN operation with the I-O, INPUT, or EXTEND phrases has been tried on a non-OPTIONAL file that is not present.|
|37||An OPEN operation has been tried on a file which does not support the open mode specified in the OPEN statement.|
|38||An OPEN operation has been tried on a file previously closed with a lock.|
|39||A conflict has been detected between the fixed file attributes and the attributes specified for that file in the program.|
|41||An OPEN operation has been tried on file already opened.|
|42||A CLOSE operation has been tried on file already closed.|
|43||Files in sequential access mode.
The last I/O statement executed for the file, before the execution of a DELETE or REWRITE statement, was not a READ statement.
|44||A boundary violation exists. Possible violations are:|
|An attempt has been made to WRITE or REWRITE a record that is larger than the largest, or smaller than the smallest record allowed by the RECORD IS VARYING clause of the associated file.|
|An attempt has been made to REWRITE a record to a file, and the record is not the same size as the record it replaces.|
|46||A sequential READ operation has been tried on a file open in the INPUT or I-O mode but no valid next record has been established.|
|47||A READ or START operation has been tried on a file not opened INPUT or I-O.|
|48||A WRITE operation has been tried on a file not opened in the OUTPUT, I-O, or EXTEND mode, or on a file open I-O in the sequential access mode.|
|49||A DELETE or REWRITE operation has been tried on a file that is not opened I-O.|
|9/nnn||Extended file status code:|
|RT001||Insufficient buffer space. On OS/2, could indicate that the SWAPPATH has not been set correctly or the SWAPPATH drive is full. Could also indicate an out of memory situation.|
|RT002||File not open when access tried.|
|RT003||Serial mode error.|
|RT004||Illegal file name.|
|RT005||Illegal device specification.|
|RT006||Attempt to write to a file opened for input.|
|RT007||Disk space exhausted.|
|RT008||Attempt to input from a file opened for output.|
|RT009||No room in directory (also, directory does not exist).|
|RT010||File name not supplied.|
|RT012||Attempt to open a file which is already open.|
|RT013||File not found.|
|RT014||Too many files open simultaneously.|
|RT015||Too many indexed files open.|
|RT016||Too many device files open.|
|RT017||Record error: probably zero length.|
|RT018||Read part record error: EOF before EOR or file open in wrong mode.|
|RT019||Rewrite error: open mode or access mode wrong.|
|RT020||Device or resource busy.|
|RT021||File is a directory.|
|RT022||Illegal or impossible access mode for OPEN.|
|RT023||Illegal or impossible access mode for CLOSE.|
|RT024||Disk I/O error.|
|RT025||Operating system data error.|
|RT026||Block I/O error.|
|RT027||Device not available.|
|RT028||No space on device.|
|RT029||Attempt to delete open file.|
|RT030||File system is read only.|
|RT031||Not owner of file.|
|RT032||Too many indexed files, or no such process.|
|RT033||Physical I/O error.|
|RT034||Incorrect mode or file descriptor.|
|RT035||Attempt to access a file with incorrect permission.|
|RT036||File already exists.|
|RT037||File access denied.|
|RT038||Disk not compatible.|
|RT039||File not compatible.|
|RT040||Language initialization not set up correctly.|
|RT041||Corrupt index file.|
|RT042||Attempt to write on broken pipe.|
|RT043||File information missing for indexed file.|
|RT045||Attempt to open an NLS file using an incompatible program.|
|RT047||Indexed structure overflow. (Could indicate that you have reached the maximum number of duplicate keys.)|
|RT066||Attempt to add duplicate record key to indexed file.|
|RT069||Illegal argument to ISAM module.|
|RT070||Too many indexed files open.|
|RT071||Bad indexed file format.|
|RT072||End of indexed file.|
|RT099||Invalid sort operation.|
|RT100||Invalid file operation.|
|RT104||Null file name used in a file operation.|
|RT105||Memory allocation error.|
|RT138||File closed with lock - cannot be opened.|
|RT139||Record length or key data inconsistency.|
|RT141||File already open - cannot be opened.|
|RT142||File not open - cannot be closed.|
|RT143||REWRITE/DELETE in sequential mode not preceded by successful READ.|
|RT146||No current record defined for sequential read.|
|RT147||Wrong open mode or access mode for READ/START.|
|RT148||Wrong open mode or access mode for WRITE.|
|RT149||Wrong open mode or access mode for REWRITE/ DELETE.|
|RT161||File header not found.|
|RT173||Called program not found.|
|RT188||File name too large.|
|RT194||File size too large.|
|RT195||DELETE/REWRITE not preceded by a READ.|
|RT196||Record number too large in relative or indexed file.|
|RT210||File is closed with lock.|
|RT213||Too many locks.|
|RT218||Malformed MULTIPLE REEL/UNIT file.|
|RT219||Operating system shared file limit exceeded.|
Copyright © 2000 MERANT International Limited. All rights reserved.
This document and the proprietary marks and names used herein are protected by international law.
|Run-time System Error Messages||SAA, OSVS and VSC2 Implementation Limits|