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 xx 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/07

The interface cannot determine which row to change or delete. For a primary key that allows duplicates, one or both of the following conditions have not been met when rewriting or deleting a row or when executing READ followed by READ NEXT:

  • An identity column must be included. This can be either a hidden column using A-MSSQL-ADD-IDENTITY when the table is created, or an explicit column using the IDENTIY-COLUMN XFD directive.
  • The record to update or delete must be the last record read.

9D/11

ACUCOBOL-GT stored procedures not found or ACUCOBOL-GT lock table missing The installation of Acu4GL for Microsoft SQL Server creates a number of stored procedures and tables. At least one of these was not found.

9D/12

A column of a key is of data type TEXT or IMAGE, which is illegal Columns that are part of an index may not be of type TEXT or type IMAGE. Check your key definition.

9D/13

Internal error Multiple records were found with the same index (this is a Microsoft SQL Server error).

9D/14

DB library function returned an unexpected error dbinit (Microsoft SQL Server) failed. An error message from Microsoft SQL Server is displayed on the terminal.

9D/16

Trying to rename a table across databases RENAME works only within the same database.

9D/17

Cache error (internal error) The internal process cache has been corrupted. Please contact Technical Services.

9D/18

Primary Key error An error occurred when creating the primary key for a secondary table.

9D/19

Table Size Error The table is larger than Microsoft SQL Server will accept, either in the number of columns or in the number of bytes in the row. Use the SECONDARY_TABLE directive to get around this.

9D/20

(no message associated with this error) This error tells you that you are trying to do something with a FAST_ACCESS table that is not allowed. The description of the A_MSSQL_FAST_ACCESS configuration variable details the restrictions for tables opened this way.

9D/21

(no message associated with this error) There was a problem accessing one or more Vision locks files and processing of this request cannot continue. The tertiary error is an error code returned from Vision.

9D/22007

The error sub-code 22007 indicates tha an attempt was made to write non-numeric data into a numeric field (database column). It is reported with error code 9D. For example: report_status called from 3688 [1] 22018 0 - Invalid character value for cast specification No more messages Leaving, Execute Leaving, execute >>>file status = 9D/22007

24

Note that not all database errors are reported as 9D errors. The Acu4GL interface translates the following database errors to file status 24: 1101, 1105, 1118, 1510, 1703, 1803, 4504, 4706. Each of these errors is about the requested operation failing due to space considerations in the database. The runtime trace file must be examined to determine which error occurred and how to resolve it.