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:
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.
The dictionary file for one of your COBOL files is corrupt and cannot be read. Recompile with -Fx to re-create the dictionary.
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.
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.
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.
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:
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.
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.
Internal error Multiple records were found with the same index (this is a Microsoft SQL Server error).
DB library function returned an unexpected error dbinit (Microsoft SQL Server) failed. An error message from Microsoft SQL Server is displayed on the terminal.
Trying to rename a table across databases RENAME works only within the same database.
Cache error (internal error) The internal process cache has been corrupted. Please contact Technical Services.
Primary Key error An error occurred when creating the primary key for a secondary table.
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.
(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.
(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.
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
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.