Runtime Errors

This topic lists the Acu4GL error messages that could occur during execution of your program. Performance and Troubleshooting provides information on compile-time errors and also provides several methods for retrieving runtime errors.

An explanation and a recommended recovery procedure follow each message. Runtime errors will have this format:

9D/nn

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 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_PREFIX configuration variable. You may need to recompile with the “-Fx” option to re-create the dictionary. See Compiler and Runtime Options for information on compiler options.

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, and then recompile with the “-Fx” option.

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 regarding the finderr syntax for more information.

06 Mismatched dictionary file

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:

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).