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 |
1 | Condition Word |
2 through 4 | Unchanged |
5 | 0 |
6 | Bits 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 |
7 | Program line number |
8 | 0 |
9 | The mode parameter value |
10 | Reserved |
An identification number is associated with each DBML statement as shown below.
Eloquence DBMS identification numbers
ID Number | DBML Statement |
401 | DBOPEN |
402 | DBINFO |
403 | DBCLOSE |
404 | DBFIND |
405 | DBGET |
406 | DBUPDATE |
407 | DBPUT |
408 | DBDELETE |
409 | DBLOCK |
410 | DBUNLOCK |
411 | DBCREATE |
412 | DBERASE |
413 | DBPURGE |
420 | DBLOGON |
421 | DBBEGIN |
422 | DBROLLBACK |
423 | DBCOMMIT |
Eloquence Database Manual - 19 DEC 2002