C Error Messages

Eloquence DBMS Status Errors

The following list describes the condition word values for Eloquence DBMS programming statements:

0
Successful execution - no error.
-1
No such database. Database is currently opened in an incompatible mode. Bad root file reference. Database opened exclusively.
-2
Database in use (Eloquence library only)
-3
User name not recognized
-4
User password does not match
-7
Database lock request was already made in current environment.
-10
User may not open additional databases, ten are already opened.
-11
Bad database name or preceding blanks missing.
-12
DBPUT, DBDELETE, or DBUPDATE called with database not locked.
-14
DBPUT, DBDELETE, and DBUPDATE not allowed in access mode 8.
-21
Bad password - grants access to nothing. Data item nonexistent or inaccessible. Data set nonexistent or inaccessible. Data set volume nonexistent.
-23
User lacks write access to data set.
-24
DBPUT, DBDELETE, or DBUPDATE not allowed on automatic master.
-31
Bad mode. DBGET mode 5 - Specified data set lacks chains. DBGET mode 7 - Illegal for detail data set.
-52
Item specified is not an accessible search item in the specified set. Bad LIST variable - must be @$\triangle$ or @; or @. ($\triangle$ indicates blanks)
-91
Root file not compatible with current Eloquence DBMS statements.
-92
Database requires creation.
-94
Data or structure information lost. Database must be erased or re-created.
-95
No automatic master set entry for current detail. DBDELETE only.
-96
Corrupt pointer value detected in current data set.
-120
Not enough memory to perform DBLOCK.
-122
Descriptor list bad. Not within string limits.
-123
Illegal relational operator.
-124
Descriptor too short; must be greater than or equal to 9 words.
-125
Bad set name or number.
-126
Bad item name or number.
-127
Attempt to lock using a compound item.
-128
Bad descriptor length for numeric item.
-124
Two descriptors conflict.
-135
Second lock is not allowed in modes 1, 3, 5, 11, 13, and 15.
-136
Descriptor list exceeds 4092 bytes.
-137
Qualifier parameter is of wrong type.
- 800
ISAM error. Last element of status array contains ISAM error number.
- 801
Volume failure.
- 802
Node related failure.
- 803
FixRec related problem.
- 804
BTREE related problem.
- 805
SysCat related problem.
- 806
System call.
11
End-of-file.
12
Directed beginning of file.
13
Directed end of file.
15
End of chain.
16
The data set is full.
17
There is no chain for the search item value. There is no entry with the specified key value. No current record or the current record is empty. The selected record is empty.
18
Broken chain.
20
Database locked or contains locks. Status word 3: 0 - database locked. 1 - data set or entries locked.
22
Data set locked by another process.
23
Entries locked within set.
24
Item conflicts with current locks.
25
Entry or entries already locked.
27
Relational operator type conflict.
32
Transaction nesting exceeds maximum.
33
No transaction active.
41
DBUPDATE will not alter a search item.
43
Duplicate key value in Master.
44
Cannot delete a Master entry with non-empty Detail chains.
50
User's buffer is too small for requested data.
53
ARGUMENT field type incompatible with search field type (DBGET, mode 7, or DBFIND). ARGUMENT's current string length is less than the string length of the search field.
80
Data set volume is not on-line, or user has not the requested access rights.
90
Root file volume is not on-line.
94
Corrupt database opened successfully in mode 8.
1xx
There is no chain head for path xx.
3xx
The automatic master for path xx is full.
4xx
The master data set for path xx is not currently mounted (applies to DBPUT and DBDELETE for detail data sets).

Status Array Contents Following an Error

The contents of the status array following an Eloquence DBMS error (a non-zero condition word) are listed below.

Eloquence DBMS status array
Word Description
1Condition Word
2 through 4Unchanged
50
6Bits 0 through 11: an id number from 401 through 410 (see table below)
 Bits 12 through 15: 0 or the mode value used to open the database
7Program line number
80
9The mode parameter value
10Reserved

An identification number is associated with each DBML statement as shown below.

Eloquence DBMS identification numbers
ID Number DBML Statement
401DBOPEN
402DBINFO
403DBCLOSE
404DBFIND
405DBGET
406DBUPDATE
407DBPUT
408DBDELETE
409DBLOCK
410DBUNLOCK
411DBCREATE
412DBERASE
413DBPURGE
420DBLOGON
421DBBEGIN
422DBROLLBACK
423DBCOMMIT


Eloquence Database Manual - 19 DEC 2002