
                 DBMaker COBOL Interface (DCI)

This file contains important information about DBMaker COBOL Interface.
Please read this file before installing the software.

This file contains the following sections:

1.  Introduction
2.  System Requirements
3.  DCI Installation Instructions for ACUCOBOL
4.  DCI Installation Instructions for Micro Focus COBOL
5.  DCI Installation Instructions for ISCOBOL
6.  DCI Log setting
7.  What's New
8.  Compatibility issues with DCI previous version
9.  DCI zip Contents
10. Contact Information


=======================================================================
1. Introduction
=======================================================================

DBMaker COBOL Interface (DCI) allows COBOL programs to efficiently
access information stored in the DBMaker relational database 
management system(RDBMS). DCI provides a seamless interface between your 
COBOL program file access verbs (READ, WRITE) and the DBMaker RDBMS.
Information exchange between the application and the database are
invisible to the end-user.

Additionally, for desktop decision support systems (DSS), data
warehousing, or 4GL applications, DBMaker provides full SQL-based
file/data storage access, as well as the reliability and robustness of a
RDBMS.


=======================================================================
2. System Requirements
=======================================================================

The following software must be installed for DCI to function:

* The latest DBMaker
* One of the following COBOL products:
  . ACUCOBOL-GT runtime 4.3 or later
  . Micro Focus Net Express 5.1 or later
  . ISCOBOL 2011 or later
* C compiler for local machine (VC6.0, VS2003, VS2005 or VS2008 for windows platform)


=======================================================================
3. DCI Installation Instructions for ACUCOBOL
=======================================================================

The following files are provided:
   
  DCI\Linux2.x86\acucbl\libdmacu90.a
  DCI\Linux2.x86\acucbl\libdmacu80.a
  DCI\Linux2.x86\acucbl\libdmacu60.a
  DCI\Linux2.x86\acucbl\libdmacu52.a
  DCI\Linux2.x86\acucbl\libdmacu51.a
  DCI\Linux2.x86\libdmdcic.a
  DCI\WIN32\acucbl\dmacu90.lib
  DCI\WIN32\acucbl\dmacu80.lib
  DCI\WIN32\acucbl\dmacu52.lib
  DCI\WIN32\acucbl\dmacu51.lib
  DCI\WIN32\dmdcic.lib
  DCI\Linux2.x86_64\acucbl\libdmacu90.a
  DCI\Linux2.x86_64\acucbl\libdmacu80.a
  DCI\Linux2.x86_64\libdmdcic.a
  DCI\WIN64\acucbl\dmacu90.lib
  DCI\WIN64\acucbl\dmacu80.lib
  DCI\WIN64\dmdcic.lib
 
  Windows platform Installation:

  The DCI files must be copied from the source directory on the DCI zip file
  (\DCI\OS\acucbl\) to a target directory before proceeding to setup DCI.

    1. Install DBMaker. The latest DBMaker must be installed and
       configured prior to configuring DCI.

    2. Copy the DCI library dmdcic.lib and the DCI library for
       related ACUCOBOL-GT version from the DBMaker CD into the ACUCOBOL-GT
       installed directory.

       For example:
         copy dmdcic.lib c:\acucobol\acugt\lib

       For linking DCI libraries with ACUCOBOL-GT 5.1 and previous versions:
         copy dmacu51.lib c:\acucobol\acugt\lib

       For linking DCI libraries with ACUCOBOL-GT 5.2:
         copy dmacu52.lib c:\acucobol\acugt\lib
       
       For linking DCI libraries with ACUCOBOL-GT 8.0:
         copy dmacu80.lib c:\acucobol\acugt\lib
       
       For linking DCI libraries with ACUCOBOL-GT 9.0, 10.0 or later:
         copy dmacu90.lib c:\acucobol\acugt\lib


    3. Edit the ACUCOBOL-GT runtime configuration file filetbl.c. 
       It should be in the directory that contains the ACUCOBOL-GT
       libraries, for example: c:\acucobol\acugt\lib.

       The original filetbl.c contains the entry:

        #ifndef USE_VISION
        #define USE_VISION  1
        #endif

       Add a new entry as follows:

        #ifndef USE_DCI
        #define USE_DCI     1
        #endif

       The original filetbl.c contains the entry: 
       (ex: v4_dispatch, v5_dispatch or v6_dispatch)

       extern DISPATCH_TBL v4_dispatch, ci_dispatch, bt_dispatch;
 
       Add a new entry as follows:

        #if USE_DCI
        extern DISPATCH_TBL DBM_dispatch;
        #endif  /* USE_DCI */

       The original filetbl.c contains the entry:

        TABLE_ENTRY file_table[] = {
        #if USE_VISION
          { &v4_dispatch,   "VISIO" },
        #endif  /* USE_VISION */

       Add a new entry as follows:

        #if USE_DCI
          { &DBM_dispatch,  "DCI" },
        #endif  /* USE_DCI */

     4. Edit the ACUCOBOL-GT runtime configuration file sub85.c. It is
        in the directory that contains the ACUCOBOL-GT libraries.

        The original sub85.c contains the entry:
        struct PROCTABLE WNEAR LIBTABLE[] = {
        { "SYSTEM",     call_system },

        Add a new entry as follows:
        extern int  DCI_GETENV();
        extern int  DCI_SETENV();
        extern int  DCI_DISCONNECT();
        extern int  DCI_GET_TABLE_NAME();
        extern int  DCI_SET_TABLE_CACHE();
        extern int  DCI_BLOB_ERROR();
        extern int  DCI_BLOB_PUT();
        extern int  DCI_BLOB_GET();
        extern int  DCI_GET_TABLE_SERIAL_VALUE();
        extern int  DCI_FREE_XFD();
        struct PROCTABLE WNEAR LIBTABLE[] = {
        { "SYSTEM",         call_system },
        { "DCI_SETENV",     DCI_SETENV },
        { "DCI_GETENV",     DCI_GETENV },
        { "DCI_DISCONNECT", DCI_DISCONNECT },
        { "DCI_GET_TABLE_NAME", DCI_GET_TABLE_NAME },
        { "DCI_SET_TABLE_CACHE", DCI_SET_TABLE_CACHE },
        { "DCI_BLOB_ERROR", DCI_BLOB_ERROR },
        { "DCI_BLOB_PUT", DCI_BLOB_PUT },
        { "DCI_BLOB_GET", DCI_BLOB_GET },
        { "DCI_GET_TABLE_SERIAL_VALUE", DCI_GET_TABLE_SERIAL_VALUE },
        { "DCI_FREE_XFD", DCI_FREE_XFD },
        { NULL,           NULL }
          };

     5. Edit the ACUCOBOL-GT runtime configuration file direct.c. It is
        in the directory that contains the ACUCOBOL-GT libraries.

        The original direct.c contains the entry:
        struct  EXTRNTABLE EXTDATA[] = {
        { NULL,         NULL }
        };

        Add a new entry as follows:
        extern char *dci_where_constraint;
        struct  EXTRNTABLE EXTDATA[] = {
        { "DCI-WHERE-CONSTRAINT",   (char *) &dci_where_constraint },
        { NULL,         NULL }
        };


    6. If using AcuGT < 6.0, edit wrun32.mak by adding dmdcic.lib, the latest dmapi library 
       (ex: dmapi53.lib) and the related dmacu library (dmacu51.lib for ACUGT <= 5.1, 
        dmacu52.lib for ACUGT >= 5.2 and AcuGT <= 7.x, dmacu80.lib for ACUGT 8.x,
        dmacu90.lib for ACUGT 9.x)
       The wrun32.mak file should be in the directory that contains the ACUCOBOL-GT
       libraries, for example: c:\acucobol\acugt\lib.

       Search for LIBS in wrun32.mak and add the following information:

        LIBS=\
         dmacu52.lib\
         dmdcic.lib\
         dmapi53.lib\
         ....

       Enter the command: nmake.exe -f wrun32.mak wrun32.exe at the
       command prompt to build the wrun32.exe and wrun32.dll.

    7. If using ACUCOBOL 6.0 or 6.1, open the VS6.0 project named 
       wrun32.dsw located in lib\ directory of the AcuGT installation. Add the 
       files dmacu52.lib, dmdcic.lib and dmapi53.lib to the project. Build the 
       project to obtain the new wrun32.dll file.

    8. If using ACUCOBOL 6.2 or 7.0, open the VS2003 project named wrundll.vcproj 
       located in the lib\ directory of the AcuGT installation. Add the files 
       dmacu52.lib, dmdcic.lib and dmapi53.lib to the project. In the property, 
       choose to use the MFC¡¦s common DLL. Build the project to obtain the new 
       wrun32.dll file. 

    9. If using ACUCOBOL 8.0, edit the VS2005 project named wrundll.vcproj located 
       in the lib\ directory of the AcuGT installation.
       (1) Change UseOfMFC from "0" to "2"
       (2) Add dmacu80.lib dmdcic.lib dmapi53.lib to AdditionalDependencies
           Ex:
           AdditionalDependencies="rpcrt4.lib wcvt32.lib wfsi32.lib wrunlib.lib dmacu80.lib dmdcic.lib dmapi53.lib"
       (3) Use VS2005 to Build the project to obtain the new wrun32.dll file.
       
       NOTE: 
       
       (1) To compile .cbl for DCI with ACU 8.0, you need to generate 
           xfd in 3 or 4 format using -fx3 or -fx4 option
           Ex: 
           ccbl32.exe -zdx -Fx3 bench.cbl
       
       (2) To build with ACUCOBOL 8.0 64bit, users must install VS2005 x64 component.
       (3) Users cannot build runtime with VS2005 express edition because it does not include MFC library.

   10. If using ACUCOBOL 9.0, 10.0 or later, edit the VS2008 project named wrundll.vcproj located 
       in the lib\ directory of the AcuGT installation.
       (1) change UseOfMFC from "0" to "2"
       (2) add dmacu90.lib dmdcic.lib dmapi53.lib to AdditionalDependencies
           Ex:
           AdditionalDependencies="mpr.lib rpcrt4.lib wcvt32.lib wfsi32.lib wrunlib.lib dmacu90.lib dmdcic.lib dmapi53.lib"
       (3) Use VS2008 to Build the project to obtain the new wrun32.dll file.
       
       NOTE: 
       
       (1) To compile .cbl for DCI with ACU 9.0, 10.0 or later, you need to generate 
           xfd in 3 or 4 format using -fx3 or -fx4 option
           Ex: 
           ccbl32.exe -zdx -Fx3 bench.cbl
       
       (2) To build with ACUCOBOL 9.0 64bit, users must install VS2008 x64 component.
       (3) Users cannot build runtime with VS2008 express edition because it does not include MFC library.

   11. Copy the new wrun32.exe and wrun32.dll (or just wrun32.dll if using ACUCOBOL 6.2 and above)
       files to a directory mentioned in your execution path, for example:
        copy wrun32.exe c:\acucobol\acugt\bin
        copy wrun32.dll c:\acucobol\acugt\bin
        
   12. set PATH system variable for DBMaker installed\bin directory.         
       ex: SET PATH=c:\DBMaker\5.4\bin:%PATH%
       
       You can also copy the c:\DBMaker\5.4\bin\dmapi54.dll 
       to where the wrun32.exe and wrun32.dll files are located. But please make sure to
       update the dmapi53.dll to that directory if you have installed new DBMaker patch.

   13. To verify the link type:

        wrun32 -vv

    This will return version information on all of the products linked
    into your runtime system. Make sure it reports the version of the
    DBMaker interface.

   
Unix Platform installation:

  The DCI files must be copied from the source directory on the DCI zip file
  (\DCI\OS\acucbl\) to a target directory before proceeding to setup DCI.

  The DCI libraries include libdmdcic.a and libdmacu51.a for ACUCOBOL-GT
  5.1 and previous versions and libdmacu52.a for ACUCOBOL-GT 5.2:

    1. Copy the DCI library libdmdcic.a and the DCI library for
       ACUCOBOL-GT 5.1 or 5.2 to the ACUCOBOL-GT installed directories:

     For example: if a user wants to get DCI libraries for Linux, the
     user should issue the following command.

       cp libdmdcic.a /usr/acucobol/lib
       cp libdmapic.a /usr/acucobol/lib

     For linking DCI libraries with ACUCOBOL-GT 5.1 and previous versions:
       cp libdmacu51.a /usr/acucobol/lib

     For linking DCI libraries with ACUCOBOL-GT 5.2:
       cp libdmacu52.a /usr/acucobol/lib
    
     For linking DCI libraries with ACUCOBOL-GT 8.0:
       cp libdmacu80.a /usr/acucobol/lib
       
     For linking DCI libraries with ACUCOBOL-GT 9.0, 10.0 or later:
       cp libdmacu90.a /usr/acucobol/lib


    2. Edit the ACUCOBOL runtime configuration file filetbl.c. It is in
       the directory that contains the ACUCOBOL-GT libraries.

       The original filetbl.c contains the entry:

        #ifndef USE_VISION
        #define USE_VISION  1
        #endif

       Add a new entry as follows:

        #ifndef USE_DCI
        #define USE_DCI     1
        #endif

       The original filetbl.c contains the entry:
       (ex: v4_dispatch, v5_dispatch or v6_dispatch)

       extern DISPATCH_TBL v4_dispatch, ci_dispatch, bt_dispatch;

       Add a new entry as follows:

        #if USE_DCI
        extern DISPATCH_TBL DBM_dispatch;
        #endif  /* USE_DCI */

       The original filetbl.c contains the entry:

        TABLE_ENTRY file_table[] = {
        #if USE_VISION
          { &v4_dispatch,   "VISIO" },
        #endif  /* USE_VISION */

       Add a new entry as follows:

        #if USE_DCI
          { &DBM_dispatch,  "DCI" },
        #endif  /* USE_DCI */

     3. Edit the ACUCOBOL runtime configuration file sub85.c. It is in
        the directory that contains the ACUCOBOL-GT libraries.

        The original sub85.c contains the entry:
        struct PROCTABLE WNEAR LIBTABLE[] = {
        { "SYSTEM",     call_system },

        Add a new entry as follows:
        extern int  DCI_GETENV();
        extern int  DCI_SETENV();
        extern int  DCI_DISCONNECT();
        extern int  DCI_GET_TABLE_NAME();
        extern int  DCI_SET_TABLE_CACHE();
        extern int  DCI_BLOB_ERROR();
        extern int  DCI_BLOB_PUT();
        extern int  DCI_BLOB_GET();
        extern int  DCI_GET_TABLE_SERIAL_VALUE();
        extern int  DCI_FREE_XFD();
        struct  PROCTABLE WNEAR LIBTABLE[] = {
        { "SYSTEM",         call_system },
        { "DCI_SETENV",     DCI_SETENV },
        { "DCI_GETENV",     DCI_GETENV },
        { "DCI_DISCONNECT", DCI_DISCONNECT },
        { "DCI_GET_TABLE_NAME", DCI_GET_TABLE_NAME },
        { "DCI_SET_TABLE_CACHE", DCI_SET_TABLE_CACHE },
        { "DCI_BLOB_ERROR", DCI_BLOB_ERROR },
        { "DCI_BLOB_PUT", DCI_BLOB_PUT },
        { "DCI_BLOB_GET", DCI_BLOB_GET },
        { "DCI_GET_TABLE_SERIAL_VALUE", DCI_GET_TABLE_SERIAL_VALUE },
        { "DCI_FREE_XFD", DCI_FREE_XFD },
        { NULL,             NULL }
          };

     4. Edit the ACUCOBOL-GT runtime configuration file direct.c. It is
        in the directory that contains the ACUCOBOL-GT libraries.

        The original direct.c contains the entry:
        struct  EXTRNTABLE EXTDATA[] = {
        { NULL,         NULL }
        };

        Add a new entry as follows:
        extern char *dci_where_constraint;
        struct  EXTRNTABLE EXTDATA[] = {
        { "DCI-WHERE-CONSTRAINT",   (char *) &dci_where_constraint },
        { NULL,         NULL }
        };

     5. Open the file Makefile. This is located in \usr\acucobol\lib. 
        If you need to link in your own C routines, add them to a 
        SUBS=line in the Makefile of your C routine. Please see Appendix C 
        of the ACUCOBOL-GT compiler documentation for details on linking C
        subroutines.

     6. Add /APP_HOME/lib/libdmdcic.a and /APP_HOME/lib/libdmapic.a to
        the line FSI_LIBS=, where /APP_HOME is the directory containing
        the DBMaker installation. If DBMaker has been 
        installed in the directory /APP_HOME then the Makefile will contain 
        the following string(s):

        For ACUCOBOL-GT 5.1 or previous versions:
        FSI_LIBS=libdmacu51.a libdmdcic.a libdmapic.a

        For ACUCOBOL-GT 5.2:
        FSI_LIBS=libdmacu52.a libdmdcic.a libdmapic.a

        For ACUCOBOL-GT 6.0 and 7.0:
        FSI_LIBS=libdmacu60.a libdmdcic.a libdmapic.a

        For ACUCOBOL-GT 8.0:
        FSI_LIBS=libdmacu80.a libdmdcic.a libdmapic.a

        For ACUCOBOL-GT 9.0:
        FSI_LIBS=libdmacu90.a libdmdcic.a libdmapic.a

     7. Ensure you are in the directory containing the ACUCOBOL-GT
        runtime system.

        At the UNIX prompt, type:
        make -f Makefile <enter>
        This will compile sub.c and filetbl.c, and will then link the
        runtime system.

        If the make fails because of an out-of-date symbol table,
        execute the following:
        ranlib *.a <enter>

        Then execute the make again; if the make fails for any other
        reason, call ACUCORP Technical Support.

     8. Verify the link with the following command:

          ./runcbl -vv

        This will return version information on all of the products
        linked into your runtime system. Ensure it reports the version
        of DCI for DBMaker.
        NOTE: You may also link your own C routines with the runtime
        system.

     9. Copy the new runcbl file to a directory in your execution path.
        Everyone who will be using the runtime system needs to have
        execute permission for this file. The remaining files can be
        left in the directory into which they were installed from the
        distribution medium.
        
=======================================================================
4. DCI Installation Instructions for Micro Focus COBOL
=======================================================================
   
The following files are provided:

   DCI\Linux2.x86\mfcbl\libdmmfcbl.a
   DCI\Linux2.x86\libdmdcic.a
   DCI\WIN32\mfcbl\dmmfcbl_fcd3.lib
   DCI\WIN32\mfcbl\dmmfcbl.lib
   DCI\WIN32\dmdcic.lib
   DCI\Linux2.x86.64\mfcbl\libdmmfcbl.a
   DCI\Linux2.x86.64\libdmdcic.a
   DCI\WIN64\mfcbl\dmmfcbl.lib
   DCI\WIN64\dmdcic.lib
   
   . For 32bit Net Express 5.1 or previous version, please use dmmfcbl.lib on Windows platform
     or libdmmfcbl.a on Linux platform.
   . For 32bit Visual cobol or later, please use dmmfcbl_fcd3.lib on Windows platform. 
   . For 64bit Net Express or later, please use dmmfcbl.lib on Windows platform
     or libdmmfcbl.a on Linux platform.

   Please refer to the DCI MFCOBOL User's Guide for detailed installation instructions.

=======================================================================
5. DCI Installation Instructions for ISCOBOL
=======================================================================

The following files are provided:
   
   DCI\WIN64\iscbl\dci_2015.dll
   DCI\WIN64\iscbl\dci.dll
   DCI\WIN64\iscbl\dcic.dll
   DCI\WIN32\iscbl\dci_2015.dll
   DCI\WIN32\iscbl\dci.dll
   DCI\WIN32\iscbl\dcic.dll
   DCI\Linux2.x86_64\iscbl\libdci_2015.so
   DCI\Linux2.x86_64\iscbl\libdci.so
   DCI\Linux2.x86_64\iscbl\libdcic.so
   DCI\Linux2.x86\iscbl\libdci_2015.so
   DCI\Linux2.x86\iscbl\libdci.so
   DCI\Linux2.x86\iscbl\libdcic.so
   
- When user use isdci in multi-thread environment (ex: iscclient/iscserver),
user should use DCIC to run isdci to prevent problem. The DCIC program is
supported in ISCOBOL 2018R1 and later version. If user use previous
ISCOBOL version, please contact ISCOBOL's support.
   
- For DCI running with DCIC, set the following in iscobol.properties:
iscobol.file.index=dcic

Linux platform Installation:

   . Copy DCI to the directory where ISCOBOL is installed as shown below. 
      	Example: cp libdcic.so /app/ISCOBOL2018R1/native/lib/libdci.so
		
   . Set the paths for the ISCOBOL bin directory and the JDK and JAVAC directories.
        
Windows platform Installation:

   . Copy DCI to the directory where ISCOBOL is installed as shown below.
    	Example: copy dcic.dll c:/program files/veryant/ISCOBOL2018R1/bin/dcic.dll
		
   . Set the OS library path to the DBMaker library directory.

   
- For DCI running with JNI, set the following in iscobol.properties:
iscobol.file.index=dci

Linux platform Installation:

   . Copy DCI to the directory where ISCOBOL is installed as shown below. 
      	Example: For ISCOBOL2015 and previous version.
                 cp libdci_2015.so /app/ISCOBOL2013R2/native/lib/libdci.so
 	    Example: For ISCOBOL2016 and later version
                 cp libdci.so /app/ISCOBOL2016R2/native/lib/libdci.so

   . Set the paths for the ISCOBOL bin directory and the JDK and JAVAC directories.   
              
Windows platform Installation:

   . Copy DCI to the directory where ISCOBOL is installed as shown below.
    	Example: For ISCOBOL2015 and previous version
               copy dci_2015.dll c:/program files/veryant/ISCOBOL2013R2/bin/dci.dll
 	    Example: For ISCOBOL2016 and later version
               copy dci.dll c:/program files/veryant/ISCOBOL2016R2/bin/dci.dll

   . Set the OS library path to the DBMaker library directory.

=======================================================================
6. DCI Log setting
=======================================================================
The following log options could be turned on when there are issues need to 
be traced.

For dmconfig.ini setting, add the following sections and configuration options:
[DM_COMMON_OPTION]
DCI_TRACE=1
DCI_PATH=/PATH/dmdci.log

For DCI_CONFIG setting, add the following lines in the $DCI_CONFIG file.
DCI_LOGFILE   /path/dci.log
DCI_LOGTRACE  4

=======================================================================
7. What's New
=======================================================================
=====================================
Version 5.4.8
=====================================
- Added DCI_CHKDEC keyword in dmconfig.ini to control decimal precision/scale mismatch checks
  (default: on).
- Added DCI_CREATE_TABLE_NOCACHE keyword in DCI_CONFIG to control NOCACHE usage when creating tables.
  Default is on; set tbname_pat=off to remove the NOCACHE keyword from CREATE TABLE commands.
- Fix DCI READ NEXT LOCK and WHERE clause with concurrent delete may get wrong result
- Optimized DCI READ/START operations by reducing malloc/free calls, improving performance
  and memory efficiency

=====================================
Version 5.4.7
=====================================
- support DCI_SETENV/DCI_GETENV with DCI_EXEC_SQL sql_command
- fix hundred of second of timestamp not intercepted by COBOL program
- fix file status from FD with Decimal column

=====================================
Version 5.4.6
=====================================
- support $XFD COMMENT DCI BIGINT
- support $XFD COMMENT DCI DCI_ENCRYPT
- support insert/rewrite with system default attribute column
- support DCI_COLUMNS_MAPPING for OPEN I-O or OPEN OUTPUT
- fix using DCI_BLOB_GET crash at win64
- fix dci_set_where_constraint did not remove previous filter for READ operation

=====================================
Version 5.4.5
=====================================
- support DCI_TABLESPACE_IDX to create index in another tablespace
- support insert default when column default attribute is SYSTEM
- support XFD COMMENT DCI_NULL_ON_SPACE_CHAR
- fix unexpected FS=46 (no current record) when reading a multi-record
- fix start/read/delete/rewrite should return error ERR_DISABLE_INDEX when index
  is disabled

=====================================
Version 5.4.4
=====================================
- support DCI_TABLE_FILLFACTOR to set fillfactor for create table
- support $XFD COMMENT DCI_NOT_NULL to define a column NOT NULL
- support $XFD COMMENT DCI_NULL_ON_ZERO_NUMBER for a column
- support BIGSERIAL with $XFD COMMENT DCI SERIAL 1 and PIC 9(19)
- support CALL DCI_SETENV with DCI_COMMIT_COUNT
- fix ISDCI dcic cannot get correct runtime connection ID
- fix cannot connect if getenv with DCI_CONNECTION_ID before open table
- fix execute program with visual cobol2019 failed by xfd wrong version number
- fix get wrong result when open same table with different XFD and table schema

=====================================
Version 5.4.3
=====================================
- support ISCOBOL 2018R1's new WHEN OTHER syntax
- support DCI_CREATE_ALTERNATE_KEY for user to turn off create index when doing dci migrate operation
- support DCI_DEFAULT_USER to specify owner for create table
- support DCI_TABLE_CACHE tablename=start,next,prev for specify cache with different table
- disable ITIMO for DCI_DUPLICATE_CONNECTION
- support DCI_GETENV with DCI_CONNECTION_ID to get runtime connection id
- fix bug when setting DCI_GET_TABLE_NAME,  DCI_MAPPING or DCI_NULL_ON_ZERO_NUMBER
- fix file status for next/prev after getting SQL_NO_DATA

=====================================
Version 5.4.2
=====================================
- Support DCI port for ppc64le by request
- DCI_BLOB_GET & DCI_BLOB_PUT support FO type
- Support DCI_NULL_ON_ZERO_NUMBER
- Support DCI_NULL_ON_SPACE_CHAR
- Support DCI_RESET_CHARTOBLOB_LENGTH
- Support DCI_MF_READ_ON_READLOCK for ISCOBOL DCI
- Support DCI_SETENV with DCI_XFD_INFO_OFF
- Support DCI_AUTO_CREATE_FOR_INVALID_TABLE

=======================================================================
8. Compatibility issues with DCI previous version
=======================================================================
The default values of the following configuration variables have been 
changed in this version (Release (2010/06/01)). It might cause 
compatibility issues with previous DCI version if users have splitted 
tables which are splitted by 250 columns or the column length exceeds 3970 
bytes. If this happens, users could either change the values of these two 
variables to the previous default vaules in their DCI configuration file, 
or users could use the dcimigrate.acu tool to migrate their splitted tables 
to a new table.

1. The previous default values defined for these two variables:
DCI_MAX_ATTRS_PER_TABLE   250
DCI_MAX_BUFFER_LENGTH    3970

The current default values defined for these two variables:
DCI_MAX_ATTRS_PER_TABLE    2000
DCI_MAX_BUFFER_LENGTH     32640

The actual max column number or column length are still restricted by
the database's page size. The user may need to change above value 
according to their page size.

2. If users want to use dcimigrate.acu tool to migrate old splitted table
to a new table, they should use the following steps.

(1) Migrate DBMaker splitted table to vision file

    Execute the following command with previous DCI runtime runcbl or wrun32
      ex: runcbl dcimigrate vision_file_name dbm_table_name --dbmvis 

(2) Migrate vision file to new database without splitting table

    Execute the following command with newest DCI runtime runcbl or wrun32
      ex: runcbl dcimigrate vision_file_name dbm_table_name

=======================================================================
9. DCI zip Contents
=======================================================================

The DBMaker COBOL Interface is located in the DCI zip file \dci directory and
it contains the following files:

\DCI\DCI_README.TXT ------------ This file.
\DCI\dcimigrate.acu ------------ DCI migration tool for ACUCOBOL
\DCI\OS\               --------- DCI library for each OS
\DCI\Samples\------------------- DCI samples for ACUCOBOL


=======================================================================
10. Contact Information
=======================================================================

CASEMaker has provided solutions to customers around the world since
1982. CASEMaker offers extensive support services, including
comprehensive product documentation, a technical support hotline, voice
mail for after-hours support, and regular software updates. You can
contact CASEMaker at:


        CASEMaker
        Corporate Headquarters:
        1680 Civic Center Drive
        Santa Clara, CA 95050, U.S.A.

        Contact Information:

        USA Division
        E-mail : info@casemaker.com

        Europe Division
        E-mail : casemaker.europe@casemaker.com

        Asia Division
        E-mail : casemaker.asia@casemaker.com(Taiwan)
        E-mail : info@casemaker.co.jp(Japan)

        www.casemaker.com

=======================================================================
                Copyright (c) 2017 by CASEMaker, Inc.
                       All Rights Reserved.
