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, then 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 XFC-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 -Fx 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.
NOTE
See your Informix documentation on the "finderr" syntax for more information.