UNIBASE

ERROR CODES: How to understand and troubleshoot issues

ERROR CODES: How to understand and troubleshoot issues

Not all errors cause a message including an error code to be printed. This section describes the codes that may be returned by an error. Many of the codes are self explanatory. Codes marked RESERVED are codes used internally by UNIBASE and should not be seen by programmers or users.

Runtime Debugging

To see the line in a program/dictionary that caused an error, call the program specifying the flag below. This will give a debug output, echoing each line as it is read.

-d flag

Error Logging

All program errors are recorded automatically in the local execution directory. Refer to uberror(4) for the structural layout specifications of this log file.

.uberror

Maintenance Note

As this file can grow it is good practice to examine it and remove it on a regular basis. For remote maintenance, it could be e-mailed to the support site.

Note: There are deliberate gaps in this list as not all codes have been allocated.

System Error Code Reference

Code Error Message / Identifier Description / Troubleshooting Action
1 OPERATING SYSTEM ERROR An operating system call has returned an error. This error is not usually reported as such, instead the operating system error code is reported. Most Unix Systems list these in intro(1) as in this manual.
2 UNEXPECTED END OF FILE End of file was reached while reading a record. This error usually indicates a corrupt key file and the table in question should be rebuilt. Fortunately it is not often encountered and is most likely to be seen after an abnormal shutdown.
3 NO FILE NAME ENTRY A table has been referenced that does not exist in the Data Dictionary.
4 ACCESS PERMISSION DENIED A user has tried to access a file to which they have no access permission.
5 RESERVED
6 INVALID COMMAND ARGUMENT A UNIBASE command has been called with an incorrect command line argument. This is usually accompanied by a ‘usage’ message.
7 NO COMMAND FILE GIVEN A UNIBASE command has been called without a command file (.scn files etc).
10 NO DICTIONARY AVAILABLE The program cannot find a Data Dictionary, i.e. there is not a file called dict.dat in the current directory and the environment variable DICTIONARY doesn’t exist.
11 NO TABLE NAME WHERE ONE WAS EXPECTED Reference code defined; no further technical context signature.
12 DICTIONARY NOT LOADED This is an internal error and should be reported to Zenucom Pty Ltd.
13 TABLE NOT DEFINED A table has been referenced that does not exist in the Data Dictionary.
14 COMMA (,) AFTER FIELD NAME MISSING Reference code defined; no further technical context signature.
15 INVALID OR MISSING FIELD SIZE Reference code defined; no further technical context signature.
16 INVALID OR MISSING ARRAY SIZE Reference code defined; no further technical context signature.
17 INVALID FIELD TYPE Reference code defined; no further technical context signature.
18 RESERVED
19 DUPLICATE ASSOCIATIONS Only 1 association between two tables is meaningful. This error is often caused by declaring a field a Foreign Key field (which implies an association) and also declaring the association in the association list.
20 FILE DESCRIPTORS EXHAUSTED You have too many files open. UNIBASE opens two files per table as required and this error means it needs more file descriptors. Either reconfigure your kernel for more file descriptors (per user) or revise the application.
21 RESERVED
22 RESERVED
25 EXPRESSION MISSING An expression field has been declared (type E, C, A, U, J) but no expression given.
30 CAN’T FIND FIELD NAME Reference code defined; no further technical context signature.
31 INVALID SUB FIELD START POSITION Reference code defined; no further technical context signature.
32 INVALID SUB FIELD END POSITION Reference code defined; no further technical context signature.
33 DASH (-) EXPECTED IN SUB FIELD Reference code defined; no further technical context signature.
34 KEY NOT FOUND A screen, report, dump, etc has asked for a key ordering that it is not defined in the Data Dictionary.
35 INVALID SUB FIELD LENGTH Reference code defined; no further technical context signature.
36 FIELD SIZE TOO SHORT The field size in the definition for the field is too short. Some field types, e.g. dates and unions have either fixed field sizes or the required field size can be determined.
37 TERMINATING ‘]’ MISSING The ‘]’ that terminates a field definition is missing.
38 DEFINITION MISSING UNIBASE is looking for a field definition ([<field name>]) and can’t find one.
39 FOREIGN KEY TABLE MISSING The field being defined is a foreign key but no table has been given. i.e. <field> <width> F<table>
40-52 RESERVED
53 SEARCH KEY NOT FOUND UNIBASE was looking for a key value in a table but couldn’t find it.
54 RECORD SIZE INCORRECT When UNIBASE opened the table, the table’s stored record size didn’t match the size in the dictionary. This usually happens when the dictionary has been changed but the tables haven’t been rebuilt.
60 QUIT KEY USED IN CHECKPROMPT Reference code defined; no further technical context signature.
61 PASSWORD FAILED A password was required but not correctly given.
62 RESERVED
63 TERMINATED BY SIGNAL The UNIBASE program was terminated by a software signal such as KILL or HANGUP.
64 ILLEGAL FUNCTION KEY An F key definition has referred to an illegal function key. Only 1 – 8 are allowed.
70 OPERAND MISSING Operands are numbers, fields, dates, strings, and expressions surrounded by ‘(‘ and ‘)’.
71 ADJACENT OPERATORS Two operators (+,-,*,/,^,etc) are next to each other in an expression.
72 UNARY LINK BLOCKAGE A binary operator (+,-,*,etc) is placed after a unary operator (SIN, COS, ABS, etc).
73 UNEXPECTED STATEMENT Whatever it was UNIBASE doesn’t like it.
74 FIELD COUNT MISMATCH IN OPTION Reference code defined; no further technical context signature.
75 UNRECOGNISED SYMBOL While parsing an expression, UNIBASE has found a symbol it doesn’t recognise. Often this is caused by a misplaced or accidentally duplicated symbol.
76 BACK QUOTE MISSING The syntax for a command in an expression is `<cmd>`. The quotes used are back quotes and the terminating one is missing.
77 TERMINATING QUOTE MISSING The syntax for a string is “<text>”. In this case the terminating double quotes (“) are missing.
78 ILLEGAL LHS OF ? OPERATOR The left hand side (lhs) of a “?” operator must be a number or an expression that becomes a number.
80 UNNAMED MENU COMMAND SECTION Reference code defined; no further technical context signature.
81 NO OPTIONS IN A MENU Reference code defined; no further technical context signature.
90 TABLE ALREADY EXISTS You are trying to create a table that already exists.
91 OWNER NOT IN SYSTEM You are trying to create a table owned by a user that does not exist.
92 GROUP NOT IN SYSTEM You are trying to create a table with group ownership by a group that does not exist.
93 NO KEYS DEFINED You have not defined any keys for the table being created.
Verified by MonsterInsights