|  | 
DBCONTROL(base,qualifier,mode,status)
 
 base
 
 is the name of an array used as the base parameter when opening the
 database. The first element of the array must contain the base ID 
 returned by DBOPEN. (Refer to DBOPEN for more information about the 
 base ID.)
 
 qualifier
 used only for certain DBCONTROL modes.
 
 mode
 must be an integer equal to 1, 2, 5, 6, 7, 9, 10, 13, 14, 15, 16, 18, 19 or 20.
 status
 is the name of an array of 10 halfwords in which the database returns 
 status information about the procedure. If the procedure executes 
 successfully, the status array contents are:
 
 | Element | Contents |  
 | 1 | If the procedure succeeds, the return status is 0. 
  Otherwise it provides a status code to describe the failure. |  
 | 2-4 | Unchanged from previous procedure call using this array. |  
 | 5-10 | Information about the current procedure call and its results. |  
DBCONTROL modes
 
 
 | Mode | Description |  
 | 1 | Turn on the deferred output option (AUTODEFER).
  This mode is accepted but has no effect with Eloquence. |  
 | 2 | Turn off the deferred output option (AUTODEFER).
  This mode is accepted but has no effect with Eloquence. |  
 | 5 | Enable the critical item update option (CIUPDATE).
  Mode 5 enables the CIUPDATE option for the current DBOPEN until either a 
  DBCONTROL mode 6 call disables the option or the database is closed.
  With Eloquence CIUPDATE is allowed but disabled by default. |  
 | 6 | Disable the critical item update option (CIUPDATE).
  Mode 6 disables the CIUPDATE option for the current DBOPEN until either a 
  DBCONTROL mode 5 call enables the option or the database is closed.
  With Eloquence CIUPDATE is allowed (but not enabled) by default. |  
 | 7 | Allow the database to be included in the dynamic multiple
  database transaction (DMDBX) and enable the database for
  deadlock detection.
  This mode is accepted but has no effect with Eloquence. |  
 | 9 | Enable the HWMPUT option of DBPUT for the current DBOPEN.
  This mode is invalid with Eloquence, the application has
  no control over record placement. Assuming the application
  requesting this mode expects a specific behavior this mode
  will result in a status error. |  
 | 10 | Disable the HWMPUT option of DBPUT for the current DBOPEN.
  This mode is invalid with Eloquence, the application has
  no control over record placement. Assuming the application
  requesting this mode expects a specific behavior this mode
  will result in a status error. |  
 | 13 | Allow a privileged mode caller to perform B-Tree related
  tasks such as adding, dropping, rebuilding, releasing, or
  securing a B-Tree index file. Exclusive database access is
  required to add, drop, or rebuild a B-Tree index. Qualifier
  has a structured record containing dataset information and
  directives.
  This mode is not supported with Eloquence. |  
 | 14 | Allow a privileged mode caller to set BTREEMODE1 option to
  ON or OFF and set wildcard character for the database (permanent).
  This mode is not supported with Eloquence. |  
 | 15 | Enable B-Tree wildcard search for DBFIND mode 1, X and U types, 
  for the master data set's key item and its corresponding search 
  items in details, if the key item has a B-Tree index. 
  In other words, turn on the BTREEMODE1 flag for the current database 
  open. The first byte of the qualifier is examined. If it is null or 
  blank, then the current wildcard character is not changed. 
  If it is in the ASCII range (33...126), then the wildcard character 
  is changed to that value for the current DBOPEN. 
  If the qualifier is any other value, DBCONTROL returns an error. Affects only the current database open. It needs to be done once per 
  database and remains activated until the database is closed or the
  application terminates. This mode allows you to perform B-Tree 
  searches on ASCII types without making application changes.
  This mode is currently not supported with Eloquence.
 |  
 | 16 | Disable B-Tree wildcard search for DBFIND mode 1
  regardless of the existence of a B-Tree index. That is, turn
  off the BTREEMODE1 flag for the current database open. The
  qualifier is ignored, and BTREEMODE 1 is turned off. Affects
  the current database open only. It needs to be done once
  per database and remains activated until the database is
  closed or the application terminates.
  This mode is currently not supported with Eloquence. |  
 | 18 | Enables the XM to return a warning when the dynamic
  transaction exceeds the 28MB threshold.
  This mode is accepted but has no effect with Eloquence. |  
 | 19 | Disables the XM to return a warning when the dynamic
  transaction exceeds the 28MB threshold.
  This mode is accepted but has no effect with Eloquence. |  
 | 20 | Allows the program to overwrite the DBUTIL 'OLDINFOLIMITS' setting.
  DBINFO mode 103 returns data items in a database; DBINFO mode 203 
  returns data sets in a database; DBINFO mode 204 returns all data 
  sets with an item and DBINFO mode 301 returns paths for a specific
  data set. If a user program allocates arrays to store the data 
  returned from above DBINFO calls and the size of the arrays are 
  defined by the old TurboIMAGE item/set limit.
  Then a database with new item/set limit may cause the program to 
  abort. This mode is accepted but has no effect with Eloquence.
  Eloquence expects an application which assumes specific
  database limits to the database limits using DBINFO mode 406.
 |  
Notes:
 
 
 AUTODEFER (mode 1, 2) is accepted but has no effect
 
 HWPUT (mode 9, 10) is not accepted and results in status -31.
 The application has
 no control over record placement. Assuming the application
 requesting this mode expects a specific behavior this mode
 will result in a status error.
  
 CIUPDATE is always considered allowed (but disabled by default)
 betreemode1 is considered enabled by default
 Modes 1, 2, 7, 18, 19, 20 are accepted but have no effect with 
 Eloquence.
 Modes 9, 10, 13, 14 are not supported with Eloquence and
 result in status -31.
 Database open mode and transaction status is not checked
 
 |  |