ERROR CODES


Note that there are deliberate gaps in this list as not all codes have been allocated. 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.

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

All program errors are recorded in a file “.uberror” in the directory where the program executes. See uberror(4) for the format of this file.

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.

ERROR CODE DESCRIPTION COMMENTS
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.
12 DICTIONARY NOT LOADED This is an internal error and should be reported to Zenucom Pty Ltd.
13 TABLE NOT DEFINED IN DICTIONARY A table has been referenced that does not exist in the Data Dictionary.
14 COMMA (,) AFTER FIELD NAME MISSING
15 INVALID OR MISSING FIELD SIZE
16 INVALID OR MISSING ARRAY SIZE
17 INVALID FIELD TYPE
18 RESERVED
19 TWO OR MORE ASSOCIATIONS BETWEEN TABLES 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 NO FILE DESCRIPTION FOR TABLE 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 IN TABLE DEFINITION
31 INVALID SUB FIELD START POSITION
32 INVALID SUB FIELD END POSITION
33 A DASH (-) WAS EXPECTED IN THE SUB FIELD DEFINITION
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
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 ‘]’ IS MISSING The ‘]’ that terminates a field definition is missing.
38 EXPECTED FIELD DEFINITION MISSING UNIBASE is looking for a field definition ([<field name>]) and can’t find one.
39 FOREIGN KEY TABLE NOT GIVEN 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 TO EXIT CHECKPROMPT
61 PASSWORD FAILED A password as required but not correctly given.
62 RESERVED
63 TERMINATED BY A 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 IN AN EXPRESSION 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 BINARY OPERATOR AFTER A UNARY OPERATOR A binary operator (+,-,*,etc) is placed after a unary operator (SIN, COS, ABS, etc).
73 UNEXPECTED OPERATOR/OPERAND Whatever it was UNIBASE doesn’t like it.
74 NOT ENOUGH OR TOO MANY FIELDS IN AN OPTION
75 UNRECOGNISED SYMBOL IN EXPRESSION 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 TERMINATING 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 LEFT HAND SIDE OF ? The left hand side (lhs) of a “?” operator must be a number or an expression that becomes a number.
80 NO NAME GIVEN TO A COMMAND SECTION IN A MENU
81 NO OPTIONS IN A MENU
90 TABLE ALREADY EXISTS You are trying to create a table that already exists.
91 OWNER NAME NOT IN SYSTEM You are trying to create a table owned by a used that does not exist.
92 GROUP NAME 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.