


Runtime errors will have this format:
9D,xx
The 9D indicates a file system error and is reported in your FILE STATUS variable. The xx is a secondary, or extended, error code. You can retrieve an extended error code by using selected runtime options or by calling the library routine C$RERR. Note that you can pass two parameters to C$RERR for interface errors (rather than just one). The first parameter retrieves the code; the second parameter retrieves a message associated with the error condition. This process is explained in detail on the following pages.
When the extended error code is greater than 99, the error is explained in the Informix documentation. Error codes less than 99 are explained here:
01 DATABASE is not defined in the environment
You must specify which database you are using. Use the DATABASE configuration variable.
02 Attempt to open more than one database at once
This can happen if you specify a database, open a file, specify a different database with SET ENVIRONMENT, and try to open another file. Informix does not allow files to be open from two different databases simultaneously.
03 Dictionary (.xfd) file not found
The dictionary file for one of your COBOL files cannot be located. Be sure you have specified the correct directory via your XFD_DIRECTORY configuration variable. You may need to recompile with "-Fx" to re-create the dictionary.
04 Corrupt dictionary file
The dictionary file for one of your COBOL files is corrupt and cannot be read. Recompile with "-Zx" to re-create the dictionary.
05 Too many fields in the key
(more than 8 for Informix-SE, more than 16 for Informix-OnLine)
Check your key definitions and redefine the key that is illegal, then recompile with "-Fx".
There are additional 9D extended error numbers; these have values of 100 or more. Often they have two parts that are separated by a comma (such as 9D 350,108). These are Informix error codes. The first part is the database error, the second part (if any) is the ISAM error.
Informix database error numbers are typically greater than 200. ISAM errors, when present, fall between 100 and 199.
The dictionary file (.xfd) for one of your files conflicts with the COBOL description of the file FD. The "xx" indicates a tertiary error code that is defined by the host file system. You can determine the exact nature of the mismatch by referring to the host system's error values.
The tertiary 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.
255 Not in transaction
A stop run has caused a commit or rollback to be sent to Acu4GL for Informix. By default, this message is disabled. If you would like to enable this message, set the A_INF_NO_TRANSACTION_ERROR variable to zero (0).