Runtime Errors

Runtime errors will have this format:

9D/nn

The 9D indicates a file system error and is reported in your FILE STATUS variable. The nn is a secondary error code. These are the secondary errors reported directly from Acu4GL:

9D/01 Read error on dictionary file

An error occurred while reading the XFD file; this probably means the XFD is corrupt. Recompile with -Fx to re-create the dictionary. See Compiler and Runtime Options for additional information on compiler options.

9D/02 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.

9D/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 runtime configuration file variable. You may need to recompile with -Fx to create the dictionary.

9D/04 Too many fields in the key

There are more than 16 fields in a key. Check your key definitions and restructure the key that is illegal, and then recompile with the -Fx option.

9D/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:

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

9D/11 ODBC connection missing needed functionality

Because ODBC has so many implementations, we require certain minimal functionality. This includes the ability to list columns, list primary keys, list existing tables, and support Level 1 SQL. Your ODBC driver lacks one or more of these capabilities.

9D/12 ODBC library function returned an unexpected error

One of the ODBC library functions returned an error that was not expected.

9D/13 Illegal size or type of data for variable xxx

An elementary data item in your FD was larger than 255 bytes, or there is no ODBC type that matches the current data type.

9D/14 More than one table with the same name

When tables were listed, more than one table was found with the same name. Consider whether or not setting the USER_PATH configuration variable will resolve the issue. This variable will enable tables with identical names, but with different ownership (located in a different schema) to be found and accessed.

9D/15 ODBC driver missing needed types

The driver doesn’t support the data types needed for Acu4GL for ODBC.