DCI
isCOBOL supports the following DCI routines:
DCI_BLOB_ERROR
DCI_BLOB_GET
DCI_BLOB_PUT
DCI_DISCONNECT
DCI_FREE_XFD
DCI_GETENV
DCI_GET_TABLE_NAME
DCI_GET_TABLE_SERIAL_VALUE
DCI_SETENV
DCI_SET_TABLE_CACHE
DCI_SET_WHERE_CONSTRAINT
Refer to the DCI Manual from Casemaker for more information about the usage of DCI routines.
DCI routines work on the active file handler between DCI and The DCI File Connector. The file handler is activated at the first OPEN. If DCI routines are called before the first OPEN, they work on the file handler pointed by iscobol.file.index setting. If such setting is neither 'dci' nor 'dcic', then DCI routines work on the DCI file handler.
Due to the above rule, if you have a configuration like this:
# all files managed by jisam except few files managed by dcic
 
iscobol.file.index=jisam
iscobol.file.index.file1=dcic
iscobol.file.index.file2=dcic
and you wish to call DCI_SETENV (e.g. to set the database) before opening file1 or file2, then you need to act like this:
      *temporarily set file.index to dcic
           set environment "file.index" to "dcic"
      *call dci_setenv     
           call "dci_setenv" using "dci_database" "mydb"
      *restore file.index to jisam     
           set environment "file.index" to "jisam"