        ** Read the notes under build 0386. You need this from the website
        ** before 'tipctl download' will work again.

           You need to have TIP/ix 2.5 build 0227 or later installed 
         before deploying any TIP/ws or TIP/fe version 2.7 or 2.8. 
         The 2.7 & 2.8 versions of TIP/ws & TIP/fe will not work with 
         older versions of TIP/ix.
           If using the old version of TIP/dbi, it is recommended that 
         you remake your TIP/dbi I/O module when installing new versions 
         of TIP/ix.
           For users of TIP/dbi, the newer version called TIP/dbi II
         has many more options and performs better than the original.
          The old TIP/dbi will only receive critical fixes and no 
         more enhancements. All new Database Interface enhancements
         will be done with TIP/dbi II.

        ***************************************************************
        *  TIP/dbi II supports Oracle via Oracle Call Interface.      *
        *  TIP/dbi II supports an ODBC interface ONLY ON LINUX and    *
        * has been verified with MySQL/MariaDB and MS SQL Server.     *
        ***************************************************************

           Micro Focus COBOL Server Express is supported provided you
         run the TIP/ix utility 'genapi' after installing TIP/ix. This 
         requires that the C compiler and MF COBOL Compiler are installed 
         and ready to use and in your path, etc. 
           Micro Focus Visual COBOL is supported provided you run the 
         TIP/ix utility 'genapi' after installing TIP/ix. This requires 
         that the C compiler and MF COBOL Compiler are installed and 
         ready to use and in your path, etc. 
           If you upgrade or change the MF COBOL compiler, then you 
         will need to rerun 'genapi'.
           See notes under "2003/09/26 2.4 R0 - 0068" about maketipcobol
         which must be run for HPUX

         ***The version of TIP/ix for REDHAT Linux is now built using 
         GnuCOBOL so there is no need to run the 'maketipcobol' script.

         ***The newest version of TIP/fe (built on Windows 7) does work
         correctly for Daylight savings time.

         ***TIP/fe time of day and the new Daylight Savings time rules***
         Please note that during the time between the new Daylight savings
         time dates and the old Daylight savings time dates, TIP/fe will 
         display a time of day which is off by one hour.

         TIP/dbi update - Notice
         =======================
         Sometimes it is required to make a change to the TIP/dbi dictionary 
         file and/or control structures. When this happens you will need to 
         rerun dbischema and dbisubschema on your schema & subschema 
         definitions and recompile your batch programs.
          If this is not done you will get a run-time error stating that
         the dictionary version does not match. 
          Also if you have a test and production system and install the
         new TIP software on your test system. The binaries compiled on
         test will not run on production until that system is also updated.
         You would be able to recompile your source code using the
         production system. 
          If you have a version of TIP that is older and you update to a
         new system and there was a TIP/dbi dictionary structure change in
         the middle then you need to be aware of this issue and deal with it. 
         Versions where the TIP/dbi dictionary has changed are as follows:
               2019/03/02 2.5 R0 - 0367
               2015/11/18 2.5 R0 - 0316
               2011/12/12 2.5 R0 - 0209
               2008/01/17 2.5 R0 - 0126
               2006/08/28 2.5 R0 - 0093 

         All versions of TIP/dbi (64 & 32 bit) can be configured to use a field of 
         4 to 8 bytes for the DATABASE-KEY.  This is defined by a new schema clause:
            DATABASE-KEY IS n
         Where n is a number from 4 thru 8. The default is 4.

         **************************************
         ********** ISAM file issues **********
         **************************************
         Since build 2012/09/19 2.5 R0 - 0228, TIP/ix is using D-ISAM 
         version 7. If you are using a recent Micro Focus COBOL compiler
         some customers have found that MF COBOL ISAM and D-ISAM 7 do
         not work well together and sometimes result in ISAM data file
         corruption. We recommend that you compile your batch programs
         and include the D-ISAM library instead of using the MF COBOL
         default ISAM file handler.

         To use the D-ISAM binary library released with TIP/ix for
         your batch MicroFocus COBOL programs use the following 
         compile options:
             -L $TIPROOT/lib -m ixfile=cixfile +l disam
         If you use these parameters in a 'makefile' then it is coded as:
             -L $(TIPROOT)/lib -m ixfile=cixfile +l disam

         The D-ISAM software comes with two utilities: dcheck & dpack
           dcheck   can be used to verify an ISAM file
           dpack    can be used to rebuild an ISAM file
         Do not use the Micro Focus 'rebuild' utility on ISAM files
         which will be accessed by TIP/ix. Use the 'dpack' utility
         to verify and rebuild the ISAM file when needed.
         **************************************
         **************************************
         TQL changes for 64-bit platforms:
         **************************************
         If you had been running a build of TIP/ix on 64 bit system that
         was older than July 2020, then after installing a newer build 
         you need to recompile all of your TQL records and programs.
         There is a script called  'recomptql' which can be used to recompile
		 all of your TQL programs
         **************************************

TIP/ix release level comments
=======================================================================
2020/12/07 2.5 R0 - 0401
* TIP/dbi new schema clause to let you define a specific name for the
  column used to hold the unique identifying number. Normally each table
  has a column called "row_recname" where 'recname' is the record/table name.
  For Non-Oracle databases such as MySQL, MS SQL, PostgreSQL you could
  add to your TIP/dbi schema definition a schema level clause such as:
          ROWID IS "rowid"
  This would then replace "row_recname" with "rowid"

2020/11/21 2.5 R0 - 0400
* Tested using VB-ISAM 2.2 in C-ISAM mode instead of D-ISAM
* Fixed TIP/dbi problem with ODBC interface. 
  It was not detecting end of file correctly and looping.
* Fixed TIP/dbi problem with ODBC interface reading by 'record number'

2020/10/14 2.5 R0 - 0399
* TIP/dbi II has preliminary update to support PostgreSQL

2020/09/24 2.5 R0 - 0398
* TIP/dbi II (dbischema) will warn if you use ODBC on a system that does
  not support that. ODBC is only supported on LINUX systems.

2020/09/07 2.5 R0 - 0397
* Improve cleanup of TIP/dbi applications when database goes down

2020/08/31 2.5 R0 - 0396
* Fix abort of dbigen when MIRAM record has no unique primary index

2020/08/17 2.5 R0 - 0395
* Work around a problem with the TIP/dbi schema name in Fct.FcsProg 
  getting clobbered.

2020/07/22 2.5 R0 - 0394
* Fix to emit ON DELETE CASCADE for CONSTRAINTS when using SQL Server

2020/07/02 2.5 R0 - 0393
* Due to changes to TQL for 64 bit platforms, you need to recompile all 
  TQL programs after installing this upgrade if you are using a 64 bit
  version of TIP/ix.
  The script   recomptql    can be used to do the recompiles

2020/05/20 2.5 R0 - 0392
* Released 'tipctl getsource' if license is good thru December 2021

2020/05/01 2.5 R0 - 0391
* Fixed bug in TQL related to TIPSYSU
* Now using GnuCOBOL 4.0 compiler

2020/04/16 2.5 R0 - 0390
* Add a new user using DEFAULT use data as starting point:
     smuser NU name
* Reduce time waiting for intial SOAP message

2020/04/09 2.5 R0 - 0389
* Added TIP/ix build for REDHAT/CENTOS 8.1 64 bit mode only
* Added extra logging for SOAP interface

2020/04/06 2.5 R0 - 0388
* tipctl updated to search $TIPROOT/bin for system components first
* Fixed problem related to DDU and TIPMSGI changes from build 384

2020/04/01 2.5 R0 - 0387
* TQL has a bug compiling TIPSYS and TIPSYSU on 64 bit systems.
  Removing some of the REPORT options from these avoided the problem.

2020/03/27 2.5 R0 - 0386
* This version of TIP/ix must be downloaded manually from www.inglenet.com
  and then later you can do (if needed):  tipctl download

* So until you get past build 386 'tipctl download' will not work

2020/02/03 2.5 R0 - 0384
* Changes to TIPMSGO,TIPMSGOV,TIPMSGE to check the length of the
  FCC and CURSOR mods parameters (if used) and limit the usage of the
  values to the actual length of the parameter passed on the CALL.

2020/01/14 2.5 R0 - 0383
* Fresh build for the new year: 2020

2019/12/10 2.5 R0 - 0382
* TIP/dbi 'dbischema' fix to handle multiple 01s with no REDEFINES

2019/12/06 2.5 R0 - 0381
* Removed: TIP/dbi, ODBC combining multi-part WHERE clauses into 
  one complex WHERE clause 

2019/12/05 2.5 R0 - 0380
* TIP/dbi, adjusted ODBC interface to avoid what looks like a 
  C compiler bug on Linux 7
* TIP/dbi, ODBC interface combines multi-part WHERE clauses into one
  complex WHERE clause to improve performance

2019/11/21 2.5 R0 - 0379
* Fixed incorrect error from 'fopen' for TIP/dbi managed files/tables

2019/11/14 2.5 R0 - 0378
* TIP/dbi schema compiler(s) will handle COBOL variable names up to 50 
  characters long. Previous limit was 30

2019/09/28 2.5 R0 - 0377
* Rebuilt with latest GnuCOBOL compiler

2019/08/27 2.5 R0 - 0376
* TIP/dbi dbiexpimp, will now load Numeric Edited data fields

2019/08/07 2.5 R0 - 0375
* TIP/dbi new schema clause to let you define a prefix for reserved
  words used as column names. For example
          RENAME PREFIX 'x_'
  The default is that a sequential numeric value is appended to the name

2019/07/21 2.5 R0 - 0374
* TIP/dbi, ODBC interface no longer uses 'bulk load' operations as this 
  was not working with MySQL

2019/07/12 2.5 R0 - 0373
* TIP/dbi: dbischema will now report an ERROR if a REDEFINES IF USE 
  is missing one of the REDEFINES groups.

2019/06/26 2.5 R0 - 0372
* Change 'dbisql' to not show SQL version for batch mode operation

2019/06/18 2.5 R0 - 0371
* Fix TIP/dbi DBIXFH to correctly handle READ NEXT following OPEN of 
  ACCESS DYNAMIC file with no START defined. Default to BOF.

2019/05/15 2.5 R0 - 0370
* Fix for TIP/dbi ODBC interface to work better with DBIXFH
* TIP/dbi does better job of detecting fields in an index that can be folded
  into a single column for performance reasons.

2019/03/27 2.5 R0 - 0369
* TIP/dbi new schema clause to let you rename columns. For example
          RENAME 'id' TO 'x_id'

2019/03/20 2.5 R0 - 0368
* TIP/dbi fix for REDEFINES x IF expr USE y
* TIP/dbi dbiexpimp cross checks ISAM file with table definition and 
  report differences.

2019/03/02 2.5 R0 - 0367
* TIP/dbi updates for DMS/2200 conversion of DML into EXEC SQL

2019/01/18 2.5 R0 - 0366
* TIP/dbi ODBC problem corrected related to MS SQL 'SELECT TOP n'

2019/01/14 2.5 R0 - 0365
* Update copyright to 2019
* TIP/dbi dbiexpimp updated to process /etc/default/tipdbi.map [*options] 
  to set environment variables before connecting to database

2018/12/20 2.5 R0 - 0364
* TIP/dbi has a new option for the DMS schema header.
    ALL RECORDS USE AREA CODE
        This option directs TIP/dbi II that for all records which are in 
        multiple areas all records should be stored in the same SQL table.
        An extra column 'area_code_key' is used with the 'row_recordname'
        to created the PRIMARY index for the records.
* dbiunload also generates DMS unload programs taking the above option
  into consideration
* TIPFCS will retry isrewrite to ISAM file if it gets ENOCURR 

2018/11/14 2.5 R0 - 0363
* tipinstall does a better job of guessing shared memory size for -L 0
* tipmon logs more details of shared memory usage at startup

2018/09/26 2.5 R0 - 0362
* Force table names to lowercase with ODBC as MySQL may not have that set
    Add to /etc/my.cnf.d/server.cnf after [mysqld]
    lower_case_table_names = 1

    sudo /etc/init.d/mysql restart

2018/09/13 2.5 R0 - 0361
* Fix problem in 'dbischema' related to MySQL/MariaDB

2018/08/08 2.5 R0 - 0360
* Handle startup date until 2100. After that things fall apart!
* *** Removed delay imposed when license key has expired ***
* Fixes for TIP/dbi II ODBC interface for MySQL (MariaDB)
  For MariaDB, it has its own ODBC connector so the odbcinst.ini might
  look like the following:
     [MySQL]
     Description=ODBC for MySQL
     Driver64=/usr/lib64/libmaodbc.so
     Setup64=/usr/lib64/libodbcmyS.so
     FileUsage=1                       

2018/06/30 2.5 R0 - 0359
* Fix problem in 'dbischema' when processing multiple USE - IF conditions

2018/05/31 2.5 R0 - 0358
* For SOAP interface, ignore all FCC & Cursor Mod fields if application
  does not pass them. There remains a maximum of 700 fields per screen.

2018/04/30 2.5 R0 - 0357
* Improved 'dbiexpimp' for logging and expression evaluate with strings
  and numerics
* TIP/ix is now built for IBM AIX using AIX 7 and only in 64 bit mode
  TIP/ix for AIX is also now built using the GnuCOBOL compiler

2018/01/24 2.5 R0 - 0356
* Rebuild for 2018 
* Rebuilt with latest GnuCOBOL compiler

2017/05/02 2.5 R0 - 0355
* Rebuilt with latest GnuCOBOL compiler

2017/03/15 2.5 R0 - 0354
* Fixed problem with assigning the TIP/ix license key
* Changed tipdtp to retain better affinity between TIP/ix session and
  TIP/ic socket. This will improve on the TIP/ic interface stability
* On HPUX, you will need to add  -lunwind  to your compiles to include
  a special HPUX library for decoding the execution stack during a core dump.
* Reduce TIPFCS & DTP log file flushing to disk, to improve performance.
* New tipix.conf option for PARAM WEBUNSOLOUT;
     PARAM WEBUNSOLOUT=YES
  This indicates that unsolicited output messages should be passed on to 
  TIP/ic. Web browsers (and therefore TIP/ic) process one input message and
  then one output message is accepted. Sending a second output message is
  and indication of a logic error in the application.
  When a second output message is sent a message is now written to the
  HISTORY file. 
  Default: 'NO'; secondary output messages to TIP/ic will be discarded.
  But if you really do want them sent add WEBUNSOLOUT=YES.
  *** Keep in mind that this option may not be a good thing to do. ***

2017/03/03 2.5 R0 - 0353
* Fixed bug related to cleaning orphaned message from the message queue
  This bug was introduced in November of 2000

2017/02/18 2.5 R0 - 0352
* New code added for tipdtp to do an internal trace back if aborts 
  on HP Itanium and Linux platforms. This will aid in finding problems.

2017/02/17 2.5 R0 - 0351
* Some self-checking code added to tipdtp to check on TIP/ic sessions

* Enhanced tipix.conf option for PARAM WEBTIMEOUT;
     PARAM WEBTIMEOUT=min,LOGOFF,LOG
  For WEB, TIP/ic sessions if LOGOFF is defined, then after 'min' minutes 
  of a program waiting for the next input, the program will be aborted
  and the session forced to log off TIP/ix

  If LOG is specified then a line is written to HISTORY file 
  (Both of LOGOFF and LOG are optional)

* Enhanced tipix.conf option for PARAM TIMEOUT;
     PARAM TIMEOUT=min,LOGOFF,LOG
  If the LOGOFF is defined, then after 'min' minutes of a program waiting
  for user input, the program will be aborted and the user forced to
  log off TIP/ix

  If LOG is specified then a line is written to HISTORY file 
  (Both of LOGOFF and LOG are optional)

* The TIP/ic Client IP address will now get stored in TIP/ix which can be 
  displayed using the  'whoson -I' command.
  This featured also needs the latest version of TIP/ic

2017/01/17 2.5 R0 - 0350
* Build with updated version of GnuCOBOL

2016/12/16 2.5 R0 - 0349
* Fix issue with tipdtp aborting when TIP/ic socket is closed

2016/12/13 2.5 R0 - 0348
* csmon fixed problem in scanning for Content-Length: value
* Updated sample (makefile) make.cit for COBOL-IT
  With COBOL-IT, use -std=fixmf and copy the fixmf.conf to CIT config subdirectory

2016/11/29 2.5 R0 - 0347
* Add some more safety checking code to tipmon

2016/11/02 2.5 R0 - 0346
* Fix 'isreorg' to correctly set file ownership/permissions when converting
  D-ISAM to VB-ISAM and vice versa
* Fix for 'genmain' related to using COBOL-IT

2016/10/31 2.5 R0 - 0345
* Fix issue with tipdtp aborting under heavy use of TIP/ic

2016/10/22 2.5 R0 - 0344
* Any unknown files lying in the $TIPROOT/log directory will be moved to
  $TIPROOT/savelog on system startup.

2016/10/14 2.5 R0 - 0343
* New additional tipix.conf option to define the largest I/O buffer allowed
     PARAM MAXIOBUF=maxval
  The default is 550K
* New additional tipix.conf option to define the largest CDA size
     PARAM MAXCDA=maxval
  The default is 350K
* Added some defensive error checking code to TIPFCS
* Added some extra logging to tipdtp

2016/09/30 2.5 R0 - 0342
* Changes made to SOAP message processing 

2016/09/13 2.5 R0 - 0341
* Updated sample make.cit for COBOL-IT
* Change made to SOAP/URL GET input processing 

2016/08/20 2.5 R0 - 0340
* Fixes for UniAccess interface

2016/08/04 2.5 R0 - 0339
* Change made to SOAP/JSON output processing to process partial fields
  supplied by application. Previously the MCS-COUNT had to account for
  a complete data field.

2016/07/30 2.5 R0 - 0338
* csmon will now scan for Session-Id value in URL for POST message types
  The Session Id is always scanned for as a cookie (i.e. Set-Cookie: )
* csmon will now check for a compromised control file (/tmp/connserv.pid)

2016/06/24 2.5 R0 - 0337
* Build for LINUX 6 32 & 64 bit the VB-ISAM support modules for use with
  COBOL-IT

2016/06/11 2.5 R0 - 0336
* The change made in build '2009/02/23 2.5 R0 - 0151' is disabled if the
  terminal Erase character is a Ctrl-H. This now forces Ctrl-H (ie. Backspace)
  to always be handled as a Backspace and not a Delete key.
  This is for ASYNC terminals only.

2016/05/25 2.5 R0 - 0335
* For batch programs using STTFH, the default is now such that STTFH will read
  LINE SEQUENTIAL files by itself. If you want the COBOL I/O module to do the
  reading put STTFHLS=N into the environment. For example
    setenv STTFHLS N
    export STTFHLS=N
* Improve handling of @ASG,X (lock file) in ECL processor
  Now all @ASG will check if the file was locked by ASG,X in some other job
  If the file is locked, the name of the job having it locked is displayed
* Fixed TIP/dbi issue emulating ISAM files via TIPFCS to restore sequential
  position after a TIPSUB 
* Changes to csmon to increase buffer size Content-Length has not been read yet
  
2016/05/04 2.5 R0 - 0334
* Fixed some TIP/dbi issues with combining PIC X OCCURS fields into a single
  column and some DML preprocessing issue with DATABASE-KEY
* TIP/ix now defaults to reading session.conf when a new session starts up
  If you do NOT want this done, then add PARAM SESSIONCONF=NO to tipix.conf

2016/04/25 2.5 R0 - 0333
* If tipmon finds an invalid I/O buffer size request it aborts the transaction
  as this is likely something gone astray
* TIP/dbi fix to better handle SUPPRESS SET (and SUPPRESS ALL)

2016/04/15 2.5 R0 - 0332
* TIP/dbi fix to handle reconnect when Oracle instance does a fail-over
* TIP/dbi validate and correct bad Dates before they go to Oracle
* 'status'  numbers displayed will handle more digits (larger values)

2016/04/12 2.5 R0 - 0331
* Sub-System: 'ssctl ping '  will check that routines are alive and well
* Fixed error in TIPFCS handling of FCSS files related to NFS file locks
 
2016/04/07 2.5 R0 - 0330
* TIP/dbi will confirm Oracle is alive and connected on each IMPART
  if env var <schema>_FOCHK = Y

2016/04/05 2.5 R0 - 0329
* TIP/dbi fix for DBIXFH for indexes that allow duplicates
* TIP/dbi will reset SESSION parameters on Oracle status 1843
* Improvements to record locking for shared FCSS files
* Implement feature for caching defined number of FCSS records
  in memory for defined maximum number of seconds
* PIB-HOST-ID   value is set via tipix.conf PARAM HOSTID=
* PIB-HOST-TYPE value is set via tipix.conf PARAM HOSTTYPE=

2016/03/23 2.5 R0 - 0328
* Fix problem that was resulting in CDA not getting set with correct
  data. It was keeping data from last program used. This is now fixed.

2016/03/18 2.5 R0 - 0327
* TIPFCS will wait up to 2 seconds for lock on FCSS record
* Tidy up logging for when the log file reaches the MAX size
* An environment variable MAX_LOG_SIZE may be set to a number
  which is the maximum number of K that the log file may grow to
  Default is 100 
* Add some checks for loop condition with CITA interface
* TIP/dbi II for TIPFCS will now return PIB-NOT-FOUND for an FCS-SETL
  when the key is higher than last record in file

2016/03/09 2.5 R0 - 0326
* For DMS2200 schema TIP/dbi will now default NLS_DATE_FORMAT to YYYY-MM-DD
  If you want it to revert back to YYYYMMDDHHMISS add the following 
  schema clause:   DATE IS "NO-RDMSDATE"
* Fix to JSON/XML processing module for end of data check
  and also computing location of fields under nested OCCURS
* Fix MCS problem selecting correct 'help text' for a field when the MCS format
  was defined to start at other than row 1 on the screen
  A fix for TIP/fe for this problem will be coming in some time

2016/03/04 2.5 R0 - 0325
* Check for addtional Oracle status that means Oracle is no longer connected
* Add some checks for race condition with CITA interface
* TIP/dbi for DMS, if env var <schemaname>_RDLCK = Y
  then promote OPEN area UPDATE to be PROTECTED UPDATE
  This means all FETCH impose lock at FETCH time rather than MODIFY time

2016/03/02 2.5 R0 - 0324
* Fixed MCB read issue with wrong status being set
* Fixed possible CPU loop in tipixcita

2016/02/15 2.5 R0 - 0323
* Fix dbischema to create INDEX for all parts of a FOREIGN KEY
* Changed UCSSNAP to write to both application log file and defined PRINTER file
* Check for large enough I/O buffer for very large TIPLIST usage

2016/02/03 2.5 R0 - 0322
* Fixes to support COBOL-IT.
  genapi -O   : will now create a directory $TIPROOT/libcit and that needs
              : to be used for linking your applications when using COBOL-IT

2016/01/21 2.5 R0 - 0321
* Implement feature to ECHO heartbeat message back for CITA interface

2016/01/12 2.5 R0 - 0320
* TIP/dbi II updated to handle UNLOAD TO 'file' SELECT ....
* If TIP/ix system does not startup and is complaining about shared memory
  Run:  tipinstall -L 0
  This will reset the shared memory backing file.
  Then do 'tipctl boot'

2016/01/06 2.5 R0 - 0319
* Fixed problem with SOAP interface on HPUX platform

2016/01/01 2.5 R0 - 0318
* Changes to csmon to set KEEPALIVE on socket

2015/12/03 2.5 R0 - 0317
* Fixes for 'dbipre' for some EXEC SQL processing

2015/11/20 2.5 R0 - 0316
* Fix problem with dbireload when DBKEY value was more than 32 bits would hold.
  This required some data structure changes so if you are using TIP/dbi you will
  need to recompile all of your batch COBOL programs with this update.
* Changes made to support COBOL-IT version 3.9.x 
  'maketipcit' script to recompile the TIP/ix COBOL modules using the
  COBOL-IT compiler

2015/11/11 2.5 R0 - 0315
* Fix problem with tipinstall during initial install of TIP/ix

2015/11/01 2.5 R0 - 0314
* Fix coding error related to SOAP JSON output messages
* Changes to MCBDEF-UCOB for 64 bit systems

2015/10/08 2.5 R0 - 0313
* Fix coding error related to SOAP XML output messages
  Some messages would get truncated when there was a Group item in the 
  data description

2015/09/19 2.5 R0 - 0312
* Fix coding error related to use of TIPMSGXO

2015/09/16 2.5 R0 - 0311
* Fix for the TIP/dbi II EXTFH module called DBIXFH to return status 23
  on START GREATER THAN OR EQUAL if there is no record to read

2015/09/09 2.5 R0 - 0310
* TIP/dbi II, dbischema accepts the clause in the schema header:
        DATABASE-KEY IS n
   Where n is a number from 4 thru 8. The default is 4.
   This defines that the DATABASE-KEY should be larger than 4 bytes.
  *** If you are using TIP/dbi (DMS or RDMS) it would be a good idea ***
  *** to do some testing before placing this release into production ***
* TIP/dbi enhanced to handle dates in the format used by ER TDATE$
  The Date format for this is MMDDYYZZZZZ
  where ZZZZZ is the number of seconds past midnight
* armsort/os3sort fixed a problem with parsing the control statements

2015/07/19 2.5 R0 - 0309
* Make parsing of SOAP/XML more flexible by allowing 
  <Soap:Body> or <s:Body> or <soap-env:Body> etc... to begin the XML data
  The matching </whatever:Body> is required to close it where 'whatever'
  was the name used to open it. Also ignore all attributes in <s:Body ... >

2015/07/08 2.5 R0 - 0308
* New TIP/dbi II schema clause:  SIGN IS ASCII
  and is appropriate for former OS3 customers
  The TIP/dbi II schema clause:  SIGN IS EBCDIC
  may also be used and is appropriate for former OS2200 customers
  The COBOL compiler needs to use a matching compile setting

2015/07/01 2.5 R0 - 0307
* Fix for SOAP/XML processor to handle nested OCCURS
* TIP/dbi II, dbischema accepts the clause in the schema header:
    KEEP VARCHAR ALL
  This uses VARCHAR2 for all PIC X fields and also removes trailing spaces
  from the field for storage and WHERE clause usage;
* Improve handling of @ASG,X (lock file) in ECL processor

2015/06/23 2.5 R0 - 0305
* See TIP/ix Installation manual for description of PARAM QBLCHECK (tipix.conf).
  The default for QBLCHECK used to be 0, meaning NEVER but that was changed
  to check and do compression of the QBL files whenever they reached the
  max size defined by PARAM QBLMAXSIZE.
  This update puts the default for QBLCHECK back to NEVER.
  Also, the default QBLMAXSIZE is now 5MB.
* More fixes for TIPMSGXO, TIPMSGXI 
* readjrn -c  will attempt to detect and repair large chunk of garbage in middle
              of the journal file

2015/06/09 2.5 R0 - 0304
* Fixed problem with 'dbiexpimp' that was duplicating data during unload 
* New TIP/dbi II schema clause:  KEEP VARCHAR ALL
  which will retain VARCHAR column type even for columns which are part 
  of an index. The default is any column that is part of an index should
  be defined as CHAR type.
* Fixes for TIPMSGXO, TIPMSGXI 
* Improvements to generating DMS unload programs using dbibldul

2015/05/29 2.5 R0 - 0303
* All Linux, MAC OS, Sun Solaris versions of TIP/ix are now built with GnuCOBOL

2015/05/28 2.5 R0 - 0302
* Initial release of TIPMSGXO, TIPMSGXI for very large data over SOAP
  interface for customer testing

2015/05/13 2.5 R0 - 0301
* Added ENCRYPT support to TIP/dbi II.  In Oracle the column is given 
  the ENCRYPT defintion.  In the RECORD definition add. 
  Example:
      ENCRYPT (CM-DATE, CM-PK-DATE)
      ENCRYPT  CM-DAY-OF-YEAR

* If a column is being used by the application to hold a DATABASE-KEY, it
  needs to be defined so that the database reload procedure knows to
  update the value. Such DBKEY fields should be PIC 9(18). 
  In the RECORD definition add. 
  Example:
      DATABASE-KEY (MY-DBKEY, THE-DBK)

2015/05/04 2.5 R0 - 0300
* Fixed TIPFCS problem with doing a sequential FCS-GET on a duplicate key 
  when a record with the key value was marked as 'logically deleted' and 
  there was another record with that same key value in the file.
* Correction to TIP/dbi II 'dbischema' to handle field name of 'spool'

2015/04/28 2.5 R0 - 0299
* Change SOAP interface to send out ampersand (&) as &amp;
* Change to eclexec and the filename.stt files to include information
  about INDEXED file that have multi-part keys

2015/03/24 2.5 R0 - 0298
* Additional fixes in TIPFCS for when reading file sequentially and 
  deleting records. (Follow on to builds 293& 283)

2015/03/02 2.5 R0 - 0297
* Add some additional safety checks to TIPFCS. If TIPFCS aborts, avoid
  changes to shared memory while dump is happening

2015/02/25 2.5 R0 - 0296
* When a SOAP reply message has 'Connection: close' the actual sending of
  the message will be deferred until the transaction(s) terminate. Also, 
  in this condition if the transaction program does a TIPMSGI following
  TIPMSGO (with 'Connection: close') then the transaction will be aborted.

2015/02/24 2.5 R0 - 0295
* Additional work on solving the 'SOAP race condition'. If the reply message
  has 'Connection: close' then TIP/ix will wait for all of the running
  transactions to terminate before closing the session.

2015/02/16 2.5 R0 - 0294
* Reduce race condition for SOAP Transactional interface
  for when the client side may reuse a socket connection when
  SOAPLINGER=NO 
  If the client side is going to reuse the open socket and you have
  LINGER=NO there is a race condition. This update reduces but does 
  not remove the 'race'. Either change the client side to never
  reuse the socket or set SOAPLINGER=n where n is number of seconds
  that TIP/ix SOAP should wait for the next message

2015/02/05 2.5 R0 - 0293
* Additional fixes in TIPFCS for when reading file sequentially and 
  deleting & re-adding records. (Follow on to build 283)

2015/02/02 2.5 R0 - 0292
* Fixed problem with common routines used for parsing COBOL syntax
  to resolve problems with tipcblxml, dbipre & cobcnv

2015/01/28 2.5 R0 - 0291
* All Linux & MAC OS versions of TIP/ix are now built with GnuCOBOL
   If you are using OpenCOBOL, you should upgrade to GnuCOBOL
   You may download a pre-built version of GnuCOBOL from the www.inglenet.com
  website or after installing TIP/ix use the command:
    tipctl downloadgc
   If you do not want to upgrade to GnuCOBOL then you will need to run the
  'maketipoc' script to recompile the TIP/ix COBOL modules using your
  OpenCOBOL compiler
   If you are using the Micro Focus COBOL compiler there is no need to run
  'maketipoc' but you do need to run 'maketipcobol' 

2015/01/21 2.5 R0 - 0290
* See the notes under build: 2013/02/17 2.5 R0 - 0237
  for details on tipctl commands to download/install software
* To download a copy of GnuCOBOL 2.1 for your system:
     tipctl downloadgc
* To download&install a copy of GnuCOBOL 2.1 for your system:
     tipctl updategc
* If already downloaded, then to install GnuCOBOL
     tipctl installgc gnuCobolxxxxxx.tar.Z
* As of this release TIP/ix on Linux 7 (Redhat/Centos) is using GnuCOBOL
* isreorg utility has new option '-c' which checks if ISAM file has any
  problems and then uses 'dpack' to rebuild the file if there is any problem
  If the file has no problems then the file is not re-built.

2015/01/12 2.5 R0 - 0289
* Fix coding error in build 288
* TIPFCS now uses two different semaphores when there are more than 1
  Quick Before Look files being used.
* Slight improvement in performance when more than 1 QBL file is being used
* Corrected a race condition with the QBL file(s)

2015/01/08 2.5 R0 - 0288
* Semaphores are used to control access to critical operations such as 
  writing data to the QBL file.
  Parameters to control waiting for a semaphore via tipix.conf
       PARAM SEMRETRY=n
  Defines retry acquire of semaphore at 'n' second intervals.
  Default is 1. A value of 0 indicates to wait forever until acquired.
       PARAM SEMMAXWAIT=m
  Defines max seconds to wait at 'n' second intervals.
  After 'm' seconds, if the second parameter is 'GIVEUP' then TIP/ix
  aborts the attempt to lock the semaphore. This will likely cause TIP/ix
  to shutdown. However, waiting forever could also cause a system stall 
  that goes undetected for a longer period of time. Example:
       PARAM SEMMAXWAIT=120,GIVEUP
  Will retry locking the semaphore for up to 120 seconds then give up which
  will likely cause the system to shutdown.
   Example:
       PARAM SEMRETRY=1
       PARAM SEMMAXWAIT=90
  Will retry locking the semaphore for up to 90 seconds then go into a hard wait.
* Improvements for Conversational SOAP interface
  for TIPMSGO the FCC & CURSOR mods are now processed

2014/12/10 2.5 R0 - 0287
* Due to changes to TQL for 64 bit platforms, you need to recompile all 
  TQL programs after installing this upgrade if you are using a 64 bit
  version of TIP/ix.
  The script   recomptql    can be used to do the recompiles
* New options for whoson:
   -i  shows I/Os, -v shows average I/Os, -r shows average response time
  Each of -i, -v, -r may be following by a number and only those users
  that exceed that value will be shown. Eg. whoson -r0.50  shows only users
  whose response time exceeds 1/2 second
* New option for status:    
     status r    - list programs and show average response time
     status ra   - list programs and show average I/O per transaction
* Fixed problem with 'tipix' hanging if TIPXCTL done immediately after TIPLIST
* Added SSL support to connection server for Conversational SOAP interface
  using OpenSSL. Only available on LINUX version at present.

2014/12/01 2.5 R0 - 0286
* Improvements for Conversational SOAP interface

2014/11/22 2.5 R0 - 0285
* Working on the new SOAP interface (csmon is still in testing mode)
* whoson no longer displays the message queue id (Qid)
  whoson -q   - Will display the message queue id (Qid)

2014/11/19 2.5 R0 - 0284
* whoson -I   - Will display the IP address of the client

2014/11/17 2.5 R0 - 0283
* New additional tipix.conf option for PARAM WEBTIMEOUT;
     PARAM WEBTIMEOUT=min,LOGOFF
  If LOGOFF is defined, then after 'min' minutes of a program waiting
  for the next input, the program will be aborted and the user forced 
  to log off TIP/ix
* Fixed problem in TIPFCS, when reading file sequentially and deleting
  records. It was skipping every other record & this has been corrected.
* In session.conf you can now add ALLOW & DENY keywords within any section.
   ALLOW=ipaddress  or DENY=ipaddress
  These can be used to ALLOW or DENY specific IP address from connecting
  to the given port. An asterisk (*) is a wild card. Example:
    ALLOW=192.168.*.*
    DENY=172.43.10.88
  You may have multiple ALLOW & DENY statements.

2014/11/11 2.5 R0 - 0282
* eclexec: @JOBS improved to show if job is waiting for a file lock
           and which other job has the file locked

2014/11/07 2.5 R0 - 0281
* Fixed problems with SOAP Transactional interface
* Build TIP/ix for Linux 5 with more support for large files (over 2GB)

2014/11/05 2.5 R0 - 0280
* When armsort is sorting an ISAM file and creating a Line Sequential 
  output file, and if the records have binary data, then the Micro Focus
  style of NUL insertion is done to the data records written out

2014/11/01 2.5 R0 - 0279
* Fixed problem with new SOAP interface (csmon)
  (csmon is still in testing mode)

2014/10/22 2.5 R0 - 0278
* New features for support of SOAP Web Services.
  If you are interested in this or if you currently use the old feature
  request the latest documentation and review it.
  TIP/ix will DEFAULT to supporting SOAP in transactional mode unless 
  SOAPLOGIN is declared. 
  If you want it to use 'conversational mode' of operation add the following 
  to the tipix.conf file
     PARAM SOAPCONVersational=YES
  Or add CONVERSATION=YES to the session.conf file for the TCP/IP port
  that is to be used for conversational SOAP interface.
* A new module called csmon is now used to manage conversational SOAP
  sessions. The program csctl can be used to manage this program.

2014/10/08 2.5 R0 - 0277
* Fixed problem with BATFCS interface. 
  (It was clearing PIB-DETAIL-STATUS by mistake)

2014/09/29 2.5 R0 - 0276
* Fixes for problems that happen with TIP/dbi FCS access when an Oracle
  tablespace data file exceeds 1 million blocks in size. For an 8K block
  size that means a limit of 8GB in the datafile is all that is handled.
  There is a new schema directive:
      DATABASE BLOCK nnnn RECORDS
   Where 'nnnn' is 4096, 2048 or 1024. The smaller the number the larger
  the data file can be. For 8K blocksize and 2048 the file could grow to
  16GB, For 8K blocksize and 1024 the file could grow to 32GB. For 8K
  blocksize in the Oracle database and 4096 the largest file is 8GB.
   This change has been made to both the old TIP/dbi and TIP/dbi II.
   The default value is now 2048.
   The old value used was 4096.

* isreorg will now use new key/index information defined via the -k parameter
  even when reoganizing an existing ISAM file.
  Previously you would have had to export and import the data to a new file
  to change the index definitions

* New feature for 'Sub-Systems'. A Sub-System is a COBOL subroutine that runs
  as a separate process and retains all of its state information from CALL to CALL.
  See the TIP/ix Installation manual for details on setting this up.

2014/09/18 2.5 R0 - 0275
* Fixed problem with PARAM TIMEOUT=mn,LOGOFF and using TIPTIMER call

2014/09/11 2.5 R0 - 0274
* New additional tipix.conf option for PARAM TIMEOUT;
     PARAM TIMEOUT=min,LOGOFF
  If the LOGOFF is defined, then after 'min' minutes of a program waiting
  for user input, the program will be aborted and the user forced to
  log off TIP/ix
* A correction was made to the response time computation.
  It had been overstated and is now correct to measure time between arrival
  of the input message and the first output message for each transaction.

2014/08/17 2.5 R0 - 0273
* TIP/dbi II 64-bit mode now uses an 8 byte binary field (PIC S9(18) COMP-4) 
  to store the DATABASE-KEY for DMS/2200 programs.
* If you are currently running a 64-bit version of TIP/ix, then after installing
  this build you need to recompile all of your TQL records and programs.
  There is a script called  'recomptql' which can be used to recompile

2014/08/07 2.5 R0 - 0272
* Additional corrections for new conversational SOAP interface
* Fixes to armrpg to handle over printing

2014/07/16 2.5 R0 - 0271
* Corrections to scansrc for OS2200 migration issues
* Correction to socket interface for HPUX
* Fixed default setting for TIPDMS for dbischema to be consistent
* Fixed formatting of JSON messages for SOAP interface

2014/06/16 2.5 R0 - 0270
*  Fix problem with clearing MCS-DATA during MCB batch connected session
*  New option to display time of last input message via:
     whoson -b

2014/05/23 2.5 R0 - 0269
* New options for tipix.conf to control usage of 'tipix -u user' 
   PARAM CHANGEUSER=NO       - indicates that no one except 'root'
                               may assume the identity of another user
   PARAM CHANGEUSER=MASTER   - indicates that only a TIP/ix user who
                               has master level security may assume 
                               the identity of another user
   If CHANGEUSER is not defined, then you may use 'tipix -u userid'
   provided you know the password for 'userid'

2014/05/15 2.5 R0 - 0268
* TIPFCS has been enhanced to support ISAM files with SPLIT KEYS.
  ***** This was previously not supported. *****
  TIPFCS will now handle such files but 'smfile' still has no way to 
  define them so TIPFCS can only work if the ISAM file was created by a 
  batch COBOL program.
  A 'Split Key' may be defined in COBOL like the following:
      ALTERNATE RECORD KEY IS SPLIT-KEY2
         SOURCE IS CM-TELEPHONE,CM-MACHINE WITH DUPLICATES 
  For TIPFCS, whenever there is a 'key' field parameter which is for an
  index of a 'Split Key' make sure the 'key' field is a concatenation
  of all parts of the key/index
  TIPFCS can handle split secondary keys with up to 5 parts.
* ddu and status will also now handle 'Split Keys' in ISAM files

2014/04/28 2.5 R0 - 0267
* Fixed a problem with TQL related to programs having PASSWORD PROTECT
* Fixed armrpg to better handle RPG code that is not 100% correct

2014/04/15 2.5 R0 - 0266
* New armrpg options (-a -mis -pa -P). See armrpg usage information for
  more details.
* Some cleanup of compiler warnings on MAC OS

2014/03/21 2.5 R0 - 0265
* Fixed problem with 64 bit operation on Linux and MAC OS

2014/02/23 2.5 R0 - 0264
* Change to D-ISAM 7 code for use with Micro Focus batch cobol programs
  to cause a READ NEXT from an empty input ISAM file to return EOF (status 10)
  instead of status 46
* Many new features for support of SOAP Web Services.
  If you are interested in this or if you currently use the old feature
  request the latest documentation and review it.
  TIP/ix NOW DEFAULTS to supporting SOAP in conversational mode. If you
  want it to revert back to the old original 'transactional mode' of 
  operation add the following to the tipix.conf file
     PARAM SOAPCONVersational=No
     PARAM SOAPLINGER=NO

2014/01/23 2.5 R0 - 0263
* eclexec @SYM with no ,U used interactively will ask user if they want
  all cycles removed or just the cycle printed
* eclexec @SYM with no ,U will only remove the cycle printed
* eclexec @SYM with ,X will remove all cycles of the file after printing

2014/01/22 2.5 R0 - 0262
* For AIX & LINUX, LDAP is now completely optional
* Add 'tipinstall -h' option to display usage information

2014/01/04 2.5 R0 - 0261
* Added retry/abort logic to ERACSF/ERXCSF functions
  This is to avoid a complete hang if something goes off the rails

2013/11/22 2.5 R0 - 0260
* eclexec option to delete files based on @VIEW selection
    @VIEW,X  qual*file,daysold
  Example: @VIEW,X co-posts,240  
  Will ask to delete all files in the co-posts qualifier that are older than 240 days
    @VIEW,XY  qual*file,240
  Will automatically delete all files in the co-posts qualifier that are 
  older than 240 days without asking permission to proceed
  So the ,X option means to delete and ,Y option means to assume Yes answer

* eclexec  Fixed problem with @start xyz when there is a file called xyz 
           as well as xyz.ecl
* New commands portup/portdown to close (or open) TCP/IP ports that TIP/ix
  may be listening on.  portdown 256   would close down port 256.
  You may also use generic port names:
    UTS  or INT1     refers to UTS over INT1 ports
    SOAP             refers to the port defined for SOAP/XML
    CITA or AION     refers to the port defined for CITA interface
    UA or UNIACCESS  refers to the port defined for the UniAccess ODBC interface
  To close down access to the Infoconnect UTS port(s) and wait for current 
  users to terminate on their own:
     portdown UTS
  To close down access to the Infoconnect UTS port(s) and force termination of
  any active users:
     portdown UTS FORCE
  To get a list of current status of the ports:
     portup -l

2013/10/26 2.5 R0 - 0259
* New options for eclrc (control file)
  JOBEMAIL=NO   For jobs with a delayed start time, the Linux/Unix 'at'
                utility is used. This parameter indicates that an email
                should not be sent when the background job terminates

2013/10/13 2.5 R0 - 0258
* tipix.conf PARAM TIPLISTSIZE=nnn lets you define how large a buffer
  should be used to transmit TIPLIST data from TIP/ix to TIP/ws.
  The default is 2560 bytes. Can not be larger than PARAM MCSBUFSIZE

2013/10/02 2.5 R0 - 0257
* New armrpg option -C to indicate use of DECIMAL IS COMMA
  armrpg support for RRDS, KSDS & READ01 file device types

2013/09/18 2.5 R0 - 0256
* Added eclrc BLOCKJOB parameter BACKGROUND=NO which will prevent
  the named job from being run in background. Example:
     BLOCKJOB=TSTPR  BACKGROUND=NO
* For Linux, if eclexec has started an application program which
  then goes into some kind of CPU and/or I/O loop the following
  option may help to figure out what is happening.
  To collect a trace log file using 'strace' and 'gdb' do:
    @jobs jobname -T
  Or from in eclexec:
    @jobs,t jobname
* Fix TIP/dbi II dbipre to check for FETCH|STORE generic-record-name
  and then also insert code to copy LOCATION MODE DIRECT records
  with an AREA-KEY to DIRECT-DBK OF DMCA so TIP/dbi knows what record
  should be accessed

2013/08/28 2.5 R0 - 0255
* New options for eclrc (control file)
  LOGEXPIRE=nD   indicates to remove daily log files older than 'n' days
  CATREMOVE=YES  indicates to remove an old data file with current 
                 cycle value if it exists
  @CAT,I    will also remove any old data file of the same cycle as just
            advanced to
* Fixed TIPFCS problem with doing an FCS-GET on a duplicate key when a
  record with the key value was marked as 'logically deleted' and there
  was another record with that same key value in the file.

2013/08/21 2.5 R0 - 0254
* TIP/dbi II: fixed problem with SORTED SET DESCENDING DUPLICATES FIRST
  Problem introduced in build 2012/04/22 2.5 R0 - 0217 
  Data was being loaded correctly by dbireload but if a DUP was later
  stored it was put in the wrong order (like DUPS LAST)
* On Linux eclexec sometimes hangs on a 'futex' system call.
  To free a stuck job do one of the following:
    @jobs -h
  Or from in eclexec:
    @jobs,h
  If you add to eclrc:  FREEFUTEX=YES  then any job detected to be
  hung will be freed immediately

2013/08/11 2.5 R0 - 0253
* Add code to 'tipdtp' to verify pointer during session abort
* New TIP/dbi II schema clause:  CONCATENATE TRANSACTION END
  which indicates that for programs using more than one schema
  such as a DMS and an RDMS schema, if one does Commit/Rollback
  then the other is also automatically Commit/Rollback processed

2013/08/08 2.5 R0 - 0252
* New eclexec option for PRINTCOMMAND and SYMBQUEUE is KEEPOVER which
  will retain data lines doing over printing.
* Fixed eclexec problem with option to start job in background
  @start myjob -b
* If any log file reaches 50MB in size it will now be assumed have some
  runaway condition and turn logging off.
* TIP/dbi one more change of memcpy to memmove
* All TIP/ix code for Linux now uses memmove instead of memcpy
* Fixed error in calculating DATETIME for UniAccess RPC API

2013/07/26 2.5 R0 - 0251
* Changed  a subroutine used by TIP/dbi and TIP/dbi II to 
  use 'memmove' instead of 'memcpy'. 
   A recent change in the Linux glibc for 'memcpy' results in severe 
  data mangling if the 'from' and 'to' fields overlap in memory,
  and the copy 'from' field falls on a 256 byte address boundary 
  in the machine and it has a newer CPU like an i7 then using memcpy 
  for an overlapping shift results in data mangling.
   'memcpy' was being used to shift a numeric value to insert a decimal 
  point when converting from COMP to display for storing by Oracle. 
   Now 'memmove' is used by TIP/dbi which is documented to work with 
  overlapping memory moves.
   On all other platforms and even older versions of Linux the 'memcpy' 
  works as historically expected. 
  <******************************************************************>

2013/07/24 2.5 R0 - 0250
* for UTS (Int1) session, 'fin' will send 'Terminal logged off' message
* for UTS (Int1) session, do not roll screen on Invalid transaction message
* Implemented @jobs -L   to display ECL jobs in 'at' queue
* Fixed problem in eclexec, parsing comment lines with a label

2013/07/10 2.5 R0 - 0249
* Fixed armsort to correctly handle environment variable TIPTYPEIN set
  to the value ASCII to indicate a normal text file as input.
* TIP/dbi II schema now accepts CHAR 9 (field1, field2, ...) in record
  The CHAR clause tells TIP/dbi to treat the field as a CHAR column
  in the database.
  The CHAR 9 clause tells TIP/dbi to treat the field as a CHAR column
  in the database, but translate any SPACEs into ZERO in the field.
* TIP/dbi II now accepts the following clause in the schema header:
         CHECK CHAR FOR NUMERIC
  This tells 'dbischema' to check for any field declared as CHAR, if the 
  the field and/or all sub-fields are PIC 9 DISPLAY, then translate
  any SPACEs in the data field to ZEROs
* TIP/dbi II fixed to handle SIGN SEPARATE fields for EXEC SQL

2013/06/11 2.5 R0 - 0248
* TIP/dbi fixed for FETCH NEXT DUPLICATE WITHIN 'set' USING field
  when 'set' is SORTED and DESCENDING order
* Fixed EXEC SQL preprocessing of GETERROR statement to not require
  colon before each host variable
* ERTERM now checks if application was connected to TIP or not

2013/06/01 2.5 R0 - 0247
* Fixed problem in CITA (aka AION) interface
* Fixed problem in os3sort with reading an empty ISAM file
* Fixed eclexec for rare abort issue
* Fixed ssg to correctly handle empty string
* Added BLOCKJOB directive for 'eclrc' for eclexec to prevent certain
  jobs from running at certain times of the day and/or days of the week
* Implemented 'start-time' for the @RUN statement in eclexec

2013/05/15 2.5 R0 - 0246
* Enhanced trim, isreog & seqreorg to accept file names that represent
  files using the 2200 style of file names. If the file name starts with
  and @ then it is parsed as if it was an @ASG,CP filename and the 
  resulting Unix path & filename is used. 
  The environment variable TIPECLQUAL defines the default 'qualifier'. 
  The environment variable TIPHOMEDATA defines the base directory.
  For example:
   trim -f -O @fileout  filein
      will copy filein to the 2200 file defined by 'fileout'
      & change NUL to spaces during the copy
   trim -f -O '@qual1*myfile(+1)' mynewdata
      will copy 'mynewdata' to the next cycle of QUAL1*MYFILE 
      & change NUL to spaces during the copy

  isreorg looks for -i filename & -i '@filename', -o filename & -o '@filename'
  seqreorg looks for -i filename & -i '@filename', -o filename & -o '@filename'
* trim -B bgn:end   will clear those column positions to SPACES if there is
                    any byte between 0x00 and 0x20

2013/05/07 2.5 R0 - 0245
* Fixed error in os3sort utility
* Fixed error in eclexec related to using @SSG
* Fixed eclexec to set read/write permission on /tmp/ecl.nn/tipconswfle

2013/04/19 2.5 R0 - 0244
* Changes to support MF Visual COBOL  2.1
* eclexec has a simple pattern matching feature to select print disposition
  command. An interactive @SYM without the ,U will now ask if you want
  the file removed after printing. Before it would just remove it.
* Fix TIP/dbi II dbipre to check for FETCH record RECORD dbkey
  when the schema clause DATABASE-KEY WITH RECORD is used that
  dbkey has the same record name as 'record'. If not then status 0008
  Fixed dbipre to better handle variable qualification and subscripting.

2013/04/09 2.5 R0 - 0243
* Fix MCS handling for numeric fields for DPS & Zero suppression via
  InfoConnect session
* eclexec updated to pass accunt/userid during @START processing
* Fix os3sort (aka armsort) to correctly set record size for record
  sequential input files.
* For armsort (@SORT) implement ACCEPT= ... OCT to test for octal value
  The octal value is picked up but then truncated to 8-bits for comparing
  It will also accept the data type of HEX followed by hexidecimal pairs
  and also the type SPC to indicate a value of all spaces. 
  The following 3 examples are equivalent:
      ACCEPT=33,9,HEX,NE,202020202020202020,AND
      ACCEPT=33,9,SPC,NE,,AND
      ACCEPT=33,9,OCT,NE,040040040040040040040040040,AND
* for armsort, fixed bug with SELECT=
* TIP/dbi EXEC SQL, fixed problem with allocation of storage for numeric work fields

2013/03/22 2.5 R0 - 0242
* Added UCSINFO$ subroutine
* New utility called 'dbiunl' to handle RDMS UNLOAD TO FILE 
  The program looks for a 'columns.tbl' in $TIPROOT/conf
  which should have been created bu 'tiprdms' when loading
  the RDMS tables
* Fix to cobcnv for PIC H9 conversion to PIC 9 COMP
* Fix dbipre to insert 'INTO' for EXEC SQL INSERT tablename statement
* Fix dbipre to handle :varname (pos:len)  - Reference modification
* Improve error messages from armsort/os3sort

2013/03/12 2.5 R0 - 0241
* Back out change to TIP/dbi to return 'first of set' following the 
  end of set status. This effectively treats an instance of a SET as 
  if it was a ring.
  If the schema has the clause:  
        ALLOW FETCH AFTER END
  then TIP/dbi will return 'first of set' following 'end of set' status.
  The default behaviour is that TIP/dbi returns 'end of set' until something
  causes the set currency to change such as a FETCH OWNER or FETCH FIRST.

2013/03/08 2.5 R0 - 0240
* Fixed problem with new TIP/dbi II schema clause DELETE RECORDS which
  allows you to logically remove records from the DMS schema & database
* Enhanced 'cobcnv' to look for IF PIC-X-field >= number
  and translate that into       IF PIC-X-field >= 'number'
  It converts the numeric literal into a string so correct field
  comparison happens. Eg.  
     IF  MYPICX > 0 and MYPICX has all ZEROS, it tests TRUE.
     IF  MYPICX > '0000' and MYPICX has all ZEROS, it tests FALSE.
  On OS2200 the test would have been FALSE.
* Another fix for armsort to read sequential files using Micro Focus method 
  of handling embedded binary data. 
  A NUL (0x00) precedes each non-printable character.
  Also, fix to handle "large files" over 2GB in size on platforms that support it.

2013/03/05 2.5 R0 - 0239
* Fixed problem with TIP/dbi II  USE AREA CODE  option
* Added support for ECL @TEST TEP & TOP operators
* Fixed problem with run-time handling of EXEC SQL statements with passing
  parameters to Oracle
* Fix armsort to read sequential files using Micro Focus method of handling 
  embedded binary data. A NUL (0x00) precedes each non-printable character.
* Fixed problem with UniAccess ODBC interface with a NULL CHAR field
* eclexec now supports "date=ccyymmdd" on the command line to declare
  and alternate date to be picked up by Micro Focus runtime. Example:
     @start myjob date=130227
  Runs the job, but sets up an MF COBOL (COBCONFIG) file with the date
  2013/02/27. A notifying message is also written to the joblog file
  If you enter: @start myjob date=0227 it assumes the current year.
  You may also enter: @start myjob date=20130430  

2013/02/23 2.5 R0 - 0238
* Fix eclexec to handle multiple @ADDs following an @XQT
* Fix TIP/dbi to return 'first of set' following the end of set status
  This effectively treats an instance of a SET as if it was a ring
* Enhanced STTFH to do its own reading of LINE SEQUENTIAL files OPEN INPUT
  And handle lines that are too long or too short plus CR LF as well a LF.
  Fixed to set cobol status 00 on good read.
* Change to dbiunload for DMS schema with use of 'USE AREA CODE' clause
* New TIP/dbi II schema clause
          ALLOW NO FOLD
  which declares that dbischema should never try to combine fields of an
  OCCURS into a single SQL column. The default is to combine the fields 
  if they are all display data and the total length is less than 20 bytes.
* New TIP/dbi II schema clause
          FOLD NUMERIC SIGN
  which declares that dbischema should try to combine fields of an
  OCCURS into a single SQL column even if the sub-fields are PIC S9.
  This used to be the default action.
  Now if the sub-fields are PIC S9 there will be no combining of fields into a single
  column to improve performance. This option is to allow the behaviour to revert
  back to the way it used to work. This option is not likely needed but was added
  just in case it was.

2013/02/17 2.5 R0 - 0237
* New armrpg option -vse to indicate conversion of IBM VSE RPG II programs
* After installing this update you will have the following features:
* New function for tipctl to download the next update for your TIP/ix system.
  Your current system that is running TIP/ix needs internet access for this.
     tipctl  download
  tipctl will connect to ftp.inglenet.com and check the version of the build
  available that matches the current Unix/Linux system and it will download
  XXXX.tar if the build is newer. Where XXXX is your platform type.
  If there is not a newer build a message is returned.
  If you want to force the download regardless then run:
     tipctl download force
* New function to download/install the next update for your TIP/ix system.
  Your current system that is running TIP/ix needs internet access for this.
     tipctl  update
  tipctl will connect to ftp.inglenet.com and check the version of the build
  available that matches the current Unix/Linux system and it will download
  XXXX.tar if the build is newer. Where XXXX is your platform type.
  If there is not a newer build a message is returned.
  Following the download, tipctl then runs the 'install'.
  If you want to force the download regardless then run:
     tipctl update force
* New function for tipctl to reinstall TIP/ix
  place the platform.tar file (eg. REDHAT5.tar) in a working directory and 
  cd to that directory then run:
      tipctl install platform.tar
  You may also run:
      tipctl install platform.tar /my/local/tiproot
  Where 'platform.tar' is the TIP/ix release tar file you downloaded
  and /my/local/tiproot is an alternate location to install the software.
  If /my/local/tiproot is not defined then the current $TIPROOT value is used
* To download the TIP/ic software run:  
     tipctl downloadic

2013/02/08 2.5 R0 - 0236
* If TIP/ix FCS runs out of free memory it returns PIB-FULL status and the
  transaction had to decide what to do.
  Now if a PIB-FULL status is returned, the transaction will be rolled back
  and aborted. This is much like a DEADLOCK status.
* If TIP/ix runs out of shared memory for key holding entries it was not
  freeing up the memory after the transaction aborted. It will now free up
  the memory.
 
2013/02/07 2.5 R0 - 0235
* Enhanced STTFH to do its own reading of LINE SEQUENTIAL files OPEN INPUT
  And handle lines that are too long or too short plus CR LF as well a LF
* Fixes for cobcnv
* Fixes to armrpg to handle /INCLUDE and correct edit mask issue

2013/02/03 2.5 R0 - 0234
* armsort updated to retain ISAM file naming convention for output file
  to be the same style as the input ISAM file
* armsort/os3sort will also retain file permissions & ownership when
  copying from ISAM to sequentail and sequential to ISAM
* For SOAP/XML, check for NUL in middle of data field and skip over that

2013/01/15 2.5 R0 - 0233
* Change to D-ISAM build so that 'fnctl' is used for file locking
  instead of lockf

2013/01/01 2.5 R0 - 0232
* Fresh build of TIP/ix for the New Year
* Initial port of TIP/ix to Apple MAC OS X (Darwin/Intel)

2012/12/19 2.5 R0 - 0231
* New TIP/dbi II schema clause
          REMOVE RECORDS (name, name2)
  which declares the named records to be 'obsolete'. They are left in
  the schema but any reference to them results in a warning message
  at compile time and an error status at run-time.
  The $TIPROOT/log/HISTORY will also get the offending program recorded.
* tipix.conf PARAM FCSVERIFY=NO  if you do not want ISAM file updates to
  be verified at time the file was updated. This applies to new records
  and record with an index key change only.
* eclexec will remove COBASLMF form environment if started in background
  And @START from a transaction may have this environment variable 
  carried forward and that then confuses the batch COBOL program
* Fixed problem for FCS sending Alert emails on HPUX Itanium
* Fixed problem with UniAccess ODBC driver doing the 'Test driver' function
* New feature:    tipctl alert "Your message"
  will send the short message as an email to the address defined in tipix.conf
  with PARAM ALERT=  Keep the message less than 80 characters

2012/11/16 2.5 R0 - 0230
* Improve support for UniAccess ODBC use of SELECT as well as RPC calls
* Handle DECIMAL fields for UniAccess ODBC correctly
* Preliminary support for UniAccess ODBC UPDATE/INSERT/DELETE statements
* New 'chgcode' utility for making TIP/dbi DMS database changes and
  update all programs referencing changed fields
* 'cobcnv' has new option to force COBOL verbs and/or variables to upper
  or lower case. See cobcnv usage information

2012/10/18 2.5 R0 - 0229
* Improvements to 'eclexec' @VIEW command to just display small files
  and @VIEW,E for a 1 line file will let you edit the line inline
* eclexec: @VIEW,R will invoke 'tipview -x' to display the file
  one record at a time. In Hex & Character if the record has binary data
  This command only works with files that have LF as a record separator
* Fixed problem with support of UTS INT1 over TCP/IP and DPS
  Some data fields near end of screen were getting cleared to spaces
* eclexec will log via a 'fifo' to a logging server process. This allows
  more flexible control of the ECL log file
* armsort (aka @SORT) now reads $TIPROOT/conf/sortchar.conf which allows
  you to change the sort order of the characters
* TIP/dbi II dbipre changed to check for reserverd words used as column
  names and then enclose them in double quotes for Oracle.
* Fix for armrpg for MOVE of numeric fields of different sizes
* Fix for UniAccess RPC transactions to handle 'multi record sets' sent
  back for a single RPC

2012/09/19 2.5 R0 - 0228
* New tipix.conf option
    PARAM FCSREBUILDINDEX=YES
  This will cause TIPFCS to have D-ISAM check&rebuild the index if an
  ENOCURR status is reported on the read&lock which is done after a new
  record is added to the ISAM file. The ENOCURR status is likely an
  indication that the index has been corrupted.
* Change to D-ISAM 7 code to detect DUPS AHEAD to verify it has a record
  number that is within the file range to avoid getting ENOCURR on isread
* Improve 'usage report' for fopen
* fopen may now be run to change the acces mode from shared to exclusive
  or exclusive to shared without requiring the file be fclosed first.
  This provides more flexible use of the ISAM file sharing features.

2012/09/14 2.5 R0 - 0227
* TIP/ix supports the InfoConnect UTS terminal emulator that uses INT1 protocol
  This update provides support for UTS60 style terminal emulation
  and DPS using COLOR options
* TIP/ix also supports DPS COLOR processing options for Async Color 
  terminal emulators such as putty in xterm mode.
* TIP/ix has been provisioned for a future release of TIP/fe and TIP/ws
  that will also support the DPS COLOR processing
* Change to InfoConnect interface to better handle grabbing all data off 
  the screen
* Enhancement to TIP/dbi SQL preprocessor to handle missing colon before
  a host variable
* Change to SOAP interface to avoid early termination of the transaction

2012/08/28 2.5 R0 - 0226
* If a transaction is being rolled back and there is an I/O error on
  an ISAM file then TIPFCS must take some action as the rollback 
  has not completed.
  If the ISAM file is NOT being journalled then force journal on
  If the ISAM file is being journalled 
  then the file is closed and the rollback images are written 
       to the journal file. A message is written to HISTORY and
       sent as email to 'PARAM ALERT=' email address.
       Someone then needs to check/repair the file and then do
       a 'rollfwd -y filename'. The rollfwd will effectively back
       out the transaction which was being rolled back when the
       problem happened. The do an 'fopen filename' and TIP can
       then continue using the data file since it has now been 
       repaired.
* isreorg utility has new option to skip records; option -e 

2012/08/23 2.5 R0 - 0225
* More improvements for some rare rollback problems

2012/08/12 2.5 R0 - 0224
* Fixed bug introduced in change to ISAM code in build 223
* New file type for seqreorg -I linec & vlinec are LINE SEQUENTIAL with
  COMP data handled via Micro Focus trick for data <= 0x1f
* TIP/dbi II, Fixed EXEC SQL to remove all trailing spaces from PIC X
  parameters to be more compatible with RDMS/2200
* If doing a 'rollback' then verify ISAM file index
* tipctl boot, will check if system was not fully shutdown and do a shutdown
* If rollback fails on start up, then on the next startup the QBL files
  will get repaired, if need be
* Changed armrpg to set filename-LEVEL-INIT to TRUE instead of OFF
  during INITIALIZATION

2012/07/26 2.5 R0 - 0223
* Changed D-ISAM 7 code to detect DUPS AHEAD differently to resolve
  the issue found in build 222
* Another fix for armjclsr to work with OpenCOBOL and not require MF Cobol

2012/07/17 2.5 R0 - 0222
* Fixed problem with TIP/dbi handling of EXEC SQL statements when
  COBOL is using SIGN is EBCDIC style for PIC S9 DISPLAY fields.
* Fixed armrpg for missing WHEN OTHER introduced in previous change
* Fixed armjclsr to work with OpenCOBOL and not require MF Cobol
* CAUTION: There is an issue with return of the PIB-DUPS-AHEAD
  status for TIPFCS and also the handling of the DUP-COUNT parameter
  on calls to TIPFCS. This is being worked on.
* If you want to use the D-ISAM binary library released with TIP/ix for
  your batch MicroFocus COBOL programs use the following compile options:
      -L $TIPROOT/lib -m ixfile=cixfile +l disam
  If you use these parameters in a 'makefile' then it is coded as:
      -L $(TIPROOT)/lib -m ixfile=cixfile +l disam

2012/07/11 2.5 R0 - 0221
* New tipix.conf option
    PARAM FCSCHECKINDEX=YES
  This will cause TIPFCS to have D-ISAM verify the index whenever a 
  record is updated and a key field was changed, or a record was added
  or deleted. If the index is corrupt then the index will be rebuilt.
  The rebuild is only done if TIP/ix has the file open for Exclusive use.
  Message will be written to the HISTORY file if anything was done.
    PARAM FCSCHECKINDEX=YES,n
  The 'n' is the interval to check index. Every 'n' record updates it will
  check the index. The default interval is 50.
    PARAM FCSCHECKINDEX=YES,n,REOPEN
  The 'REOPEN' parameter tells TIPFCS to close the ISAM file not defined to 
  have exclusive use to TIP/ix and then reopen them as exclusive in order 
  to rebuild the corrupted index. If the re-open fails a message is written
  to the HISTORY file and the file is unavailable until a person solves the
  problem.
    If you also had PARAM ALERT=email defined then a message is sent to that
  email address.
* Fixed armrpg for misplaced WHEN OTHER and misplaced END-IF in DETAIL-OVERFLOW

2012/06/28 2.5 R0 - 0220
* Fixed armsort. It was looping with the new D-ISAM 7

2012/05/11 2.5 R0 - 0219
* In build 210 TIP/ix was updated to use D-ISAM version 7 from Byte Designs 
  for handling ISAM files. It had been using D-ISAM version 3.2.1
   This seems to resolve some compatibility issues between Micro Focus
  rebuild and D-ISAM dcheck utilities.
   However, there seem to be some issues if the old ISAM files had keys
  with HIGH-VALUES in them. TIP/ix is including a D-ISAM utility called
  'dpack'. 
   It is strongly recommended that you run 'dpack' on all of your ISAM 
  files at least once to rebuild them and correct any potential problems.
     dpack  isamfilename

  Example:
     dpack  tspfile
* dpack changed to retain original ISAM file permissions and
  naming conventions
* eclexec now does more searching for file used via @START and @ADD 
  inside an ECL job
* eclexec  @XQT,X prog   will run the program and not intercept stdin/stdout
* eclexec  @ADD,I file   will add the file on initial load of the job
* eclexec  @ADD,X file   will add the file during execution of the job
* isreorg changed to retain original ISAM file permissions and naming

2012/04/26 2.5 R0 - 0218
* Fixed problem with 'eclexec' when doing @DELETE of ISAM file created
  by COBOL-IT

2012/04/22 2.5 R0 - 0217
* eclexec now defaults to DEFERADD=YES. If you really want @ADD processed
  as the ECL is read by eclexec, then add DEFERADD=NO to your eclrc file
* Fixed eclexec bug for temp file (@ASG,T) and later used with @ADD
* Fixed several problems with support of UTS INT1 over TCP/IP and DPS
* Improvements to the SSG processor
* TIP/dbi II: fixed problem with SORTED SET DESCENDING DUPLICATES FIRST|LAST
  The duplicates where being placed in the wrong order
* Improved queuing of output messages to match names better
* Fixed CITA (AION) interface

2012/04/08 2.5 R0 - 0216
* Fixed problem with BATFCS that was causing an abort
* Log some details to HISTORY file when TIPUSRST fails
* TIP/ix use of D-ISAM version 7 changed to have files be more C-ISAM 
  compatible so they work better with Micro Focus COBOL
* Fixed eclexec problem when @START had more than 2 parameters

2012/02/29 2.5 R0 - 0215
* More Corrections to ECL & SSG processors (more work needed for SSG)
* Corrected problem related to DPS when using INT1 or TCP/IP (InfoConnect)

2012/02/20 2.5 R0 - 0214
* Corrections to ECL & SSG processors
* Report error if ECL label is too long and increase to max 15 chars

2012/02/07 2.5 R0 - 0213
* For SOAP/XML set TIP userid to defined by PARAM WEBTIPUSER in tipix.conf

2012/01/24 2.5 R0 - 0212
* TIP/dbi II schema record clause REDEFINES xxx IF expression USE yyy
  has been enhanced so that for LOCATION DIRECT records the database
  key value for PAGE-NUM and RECORD-NUM may be tested

2012/01/14 2.5 R0 - 0211
* For SOAP/XML messages in XML format:
  If XML tag is missing then leave COBOL field as LOW-VALUES
  If XML tag is present but no data, then leave COBOL field as SPACES
  If XML tag is present but no data and PIC 9 then leave as ZERO 

  Before if there was no data then the COBOL field was left as LOW-VALUES
  so it was not possible to tell between 'not present' and 'no data'
* D-ISAM 7 and 'tipfcs' are built to support 'large ISAM files'  (> 2GB)
  on Linux, HPUX(IA64) & AIX (even in 32bit mode)

2012/01/06 2.5 R0 - 0210
* TIP/ix build for REDHAT 6.2 (CENTOS 6.2) in both 32 & 64 bit versions
  is now available
* TIP/dbi II has been updated to recognize Oracle 11g
* TIP/ix updated to use D-ISAM version 7 from Byte Designs for handling
  ISAM files. It had been using D-ISAM version 3.2.1 from 1992
* Preliminary release of support for UniAccess RPC transactions. 
  RPC requests may be sent from Windows to TIP/ix via either the 
  UniAccess ODBC driver or via MS SQL Server ODBC driver.

2011/12/12 2.5 R0 - 0209
* TIP/dbi II schema clause
          DATABASE-KEY WITH RECORD
  which causes an extra field to be generated inline to hold the RECORD
  name as well as the DBKEY value

* TIP/dbi II implemented FETCH dbkey provided schema has
   DATABASE-KEY INCLUDES RECORD
     -- or --
   DATABASE-KEY WITH RECORD

* Users of TIP/dbi II will need to rerun dbischema & dbisubschema on your
  schema & subschemas and then recompile all batch programs which are using
  TIP/dbi II such as DMS programs.
  This is due to changes in the format of the data dictionary.

* Fixed error in armrpg related to record which is all key

2011/10/27 2.5 R0 - 0208
* Fixed coding error in armrpg and added new option for OpenCOBOL support

2011/10/04 2.5 R0 - 0207
* New tipix.conf option
    PARAM TRANSUSPENDCDA=YES
  Will save the CDA on TIPSUSPEND PUT and restore the CDA on TIPSUSPEND GET
  This makes it easier for transactions using this feature to save and
  restore currency information in the CDA

2011/09/21 2.5 R0 - 0206
* Initial support for Micro Focus Visual COBOL compiler

2011/09/20 2.5 R0 - 0205
* Fixed problem related to TIP/ix running on HPUX 11.31 64 bit
* Fixed problem with using %20 inside parameter value of SOAP GET message
  (A workaround is to enclose the value in quotes ")

2011/07/11 2.5 R0 - 0204
* Implement CGI_GETCONTENT to return data passed via CGI_PASSOFF

2011/06/17 2.5 R0 - 0203
* Fixed coding error introduced in Build 199

2011/06/03 2.5 R0 - 0202
* msgar DElete  will do better checking and report if there was any 
  problem removing the MCS format
* Fixed problem with 'tipfcs' if it was sent a bad parameter value

2011/05/27 2.5 R0 - 0201
* TQL will do a TIPTIMER for 1 second every 20 times the 'Max Reads' 
  value defined via 'tqlmon UC'
  Every 'Max Reads' records read TQL check for an input message from 
  terminal and also displays the 'Working please wait' message
* Code added to check for something smashing a value in shared memory

2011/05/12 2.5 R0 - 0200
* In session.conf specifying LOGSAVE=Y will cause previous version
  of log.tipixTERM file to be saved in the $TIPROOT/log directory
* Fixed coding error related to support of COBOL-IT
* Fixed problem with automatic detection of VB-ISAM files for COBOL-IT
  on SUN, HPUX Itanium & AIX systems
  
2011/05/02 2.5 R0 - 0199
* Fixed bug that was resulting in a COMMIT instead of a ROLLBACK when a
  SOAP/XML connection was broken
* New option to have TIP/ix set the COBANIMSRV variable to a predefined
  value just before executing a transaction program. The value can be 
  defined via smprog when setting the 'debugger option'. Then a programmer
  can set COBANIMSRV with the matching value and run 'cobanimsrv'.
  This will allow you to use the Micro Focus animator for transactions which
  are started on behalf of SOAP/XML, TIP/ic (WebTS), background or LEMS.
  This works with Micro Focus Server Express 5.0 and later.
* If tipix.conf has  PARAM PREVENTDEBUG=YES then any transaction defined
  with the debug options will have the debug option completely ignored.
  This might be something to use on a production system.

2011/04/22 2.5 R0 - 0198
* Fix bug introduced in build 196 when using TIP/dbi as an FCS Server for a file
* If tipix.conf has  PARAM SESSIONCONF=YES then $TIPROOT/conf/session.conf is 
  checked for all users. This would allow you to turn logging on/off for specific
  end users via this control file.

2011/04/18 2.5 R0 - 0197
* Fix problem introduced in build 196 when using -x as FCS Server name for a file
* Unixware 7.1.3 is now being used to build TIP/ix for Unixware

2011/03/03 2.5 R0 - 0196
* Preliminary support for COBOL-IT Cobol compiler
  Added for RedHat LINUX x86 32-bit, AIX 32-bit,
   HPUX Itanium 64-bit & SUN Solaris SPARC 32-bit versions of TIP/ix

2011/02/17 2.5 R0 - 0195
* Enhanced CALL ERACSF to allow invoking of Unix programs in addition to
  the normal ECL statements

2011/01/21 2.5 R0 - 0194
* If 'tipctl stop' is used log 'forced shutdown' to HISTORY file
* Fixed 'dbiexpimp' to ignore trailing data on input records when loading to a table
* eclexec should now display file sizes greater than 2GB.
* Marker is placed at end of PIB to detect memory overwrite
* Fix bug that was introduced in build 179 that was causing files to be
  left in the AFT until the user logged off

2010/12/08 2.5 R0 - 0193
* Using an ISAM file which is on an NFS file system with HPUX causes some problems
  related to file locking. As a work around a new 'File Access' option of "A"
  as been added which you can define via SMFILE. This sets the ISAM handler
  into 'single user' mode and does no file locking at all. If you use this
  option you might also want to isolate the file to a separate 'TIPFCS' process
  by defining an 'FCS Server' tag of something like -Z or -X etc.
* Fixed eclexec problem when @FREE ABC was followed by @USE ABC
  This was resulting in the environment variable for ABC getting removed
* Fixed @SORT (armsort) to provide better error messages if file was not defined
  Fixed @SORT (armsort) to allow length of key to be longer than 'guessed' record size

2010/11/23 2.5 R0 - 0192
* Fixed coding error in general semaphore management routine
* Fixed problem in tipdtp when TIP/ic asks for an MCS format

2010/11/03 2.5 R0 - 0191
* eclexec changed to defer processing @ADD,E following @XQT until just
  before executing the @XQT to avoid timing issues related to data file
* TIP/ix on RedHat Linux 5.x is now released built using OpenCOBOL 1.1
  You may still use Micro Focus but it is not a requirement for Linux
* New function for tipctl to install TIP/ic (Internet Connector)
  place the platform.tar file (eg. tipicREDHAT5.tar) in a working directory and 
  cd to that directory then run:
      tipctl installic platform.tar
* New function for tipctl to install OpenCOBOL as released from Inglenet
  place the platform.tar file (eg. openCobolREDHAT5.tar.Z) in a working directory and 
  cd to that directory then run:
      tipctl installoc platform.tar.Z

2010/10/22 2.5 R0 - 0190
* Fixed problem with DD transaction aborted while DDU worked
* Further improve 'tipctl stop' to avoid stalling during shutdown
  (Only implemented for 'tipctl stop' not 'tipctl s')
* added code to avoid internal deadlock between use of semaphores and zombie processes

2010/10/01 2.5 R0 - 0189
* Fixed problem to correct parsing of the session.conf control file
* Added option LOGMSG = Y|N to session.conf 
   If defined for DMPP-2020 then the session input/output 
  messages will get recorded in $TIPROOT/log/dmpp<term>.log 
   If defined for SOAP then the session input/output 
  messages will get recorded in $TIPROOT/log/xml<term>.log 
    Where <term> is the terminal name.
* For SOAP/XML sessions with application debug logging turned on 
  (LOGAPP=Y in session.conf) the XML input text is logged after the 
  TIPMSGI and the XML output text is logged after the TIPMSGO
* sections of the session/conf or tipix.conf config files may now be
  optional based on presence of a file or directory or on the host name

2010/09/30 2.5 R0 - 0188
* In session.conf when using LOGAPP=Y, the application debug log file
  will be appended to for SOAP & TIP/ic sessions unless APPPENDLOG=N is
  also specified.
* Fixed problem with TIPMCS file for msgar & tfd on AIX platform

2010/09/14 2.5 R0 - 0187
* New function for tipctl to reinstall TIP/ix
  place the platform.tar file (eg. REDHAT5.tar) in a working directory and 
  cd to that directory then run:
      tipctl install platform.tar
  You may also run:
      tipctl install platform.tar /my/local/tiproot
  Where 'platform.tar' is the TIP/ix release tar file you downloaded
  and /my/local/tiproot is an alternate location to install the software.
  If /my/local/tiproot is not defined then the current $TIPROOT value is used
  Of course, this feature only works for versions of TIP/ix after this one.
* tipctl ping
  Tells most of TIP/ix to reread the tipix.conf parameters and reset them in the
  running system. This command will now also scan the $TIPROOT/patch directory and
  update the binaries to the $TIPROOT/bin directory setting correct permissions

2010/09/13 2.5 R0 - 0186
* Improved 'tipctl stop' to avoid getting stalled during shutdown
* Enhanced semaphore routines to retry at 1 second intervals instead of
  waiting forever for a semaphore. This should avoid some potential stalls.
  In tipix.conf you may add PARAM SEMRETRY=n where n is the number of seconds
     Default is 1 seconds.
  If you set SEMRETRY=0 then it waits forever until the semaphore is acquired.

2010/09/10 2.5 R0 - 0185
* Check for bad pointer when allocating Active File Table entry and correct
* New option for seqreorg -T rcsz   to truncate records if need be
* Fixed problem checking permissions in eclexec
* armsort now checks for environment variable SORTWORK to point to directory 
  for the 'sort' program temp files
* armsort now checks for environment variable SORTTEMP to point to directory 
  for 'armsort' temp files

2010/08/03 2.5 R0 - 0184
* Additional tipix.conf parameter for DMPP-2020 protocol
     PARAM DMPPACKOUT=n
  Defines how many output messages could be sent before the last input message 
  must be acknowledged Default is 1. (ACK is sent just before the nth output)
* Corrected problem with passing MCB (PASSOFF) messages larger than 5120 bytes

2010/08/02 2.5 R0 - 0183
* eclexec $F parameter for PRINTER definition command will get full file name 
  if eclrc option SYMLINK = NO
  if eclrc option SYMLINK = YES, then $F is the file name without the .nnn cycle number
* eclexec will enclose report file name in quotes following the -t parameter
  for the $B parameter replacement when building the Unix print command for @SYM
  The 1st parameter of @SYM is used if there is no 'banner' given on the @SYM

2010/07/24 2.5 R0 - 0182
* New option for seqreorg -F to get file information from TIP/ix
  (changed seqreorg to no longer be setuid root)
* eclexec @STOP jobname can be used to kill another running job
* eclexec fixed to recognize that file cycle was previously assigned
  for the @COPY command
* tipmon enhanced to do some better clean up of orphaned session tables
* Additional tipix.conf parameters for DMPP-2020 protocol
     PARAM DMPPACKTIME=seconds
  Defines how many seconds before the last input message must be acknowledged
  Default is 3. An ACK is also sent as soon as the transaction completes.
  (The old default was hard coded at 10 seconds)
* If a DMPP2020 transaction aborts then the input message is written to
  $TIPROOT/log/dmppTERM.log where TERM is the terminal name.
  The text <LOST TRANSACTION comment Tranid> will appear before the message being logged
  Where 'Tranid' is the program running at the time and 'comment' is a terse description

2010/07/12 2.5 R0 - 0181
* Fixed TIP/dbi II problem with FETCH NEXT DUPLICATE if the application
  did anything to clobber the key fields in the record area.
  The correction will use data from the previous read of the record.
* Enhance eclexec to better handle @mailx when invoking the Unix 'mailx' program
  @unixprg,P  - 'P' indicates to send data via Unix pipe to 'unixprg'
  @unixprg,D  - 'D' indicates to end each line with CR LF instead of just LF
                when sending via Unix pipe
* Fixed 'cpygen' to translate variables names that are COBOL reserverd words
  to something else (as per cobcnv.conf)
* New utility called 'tipview' for viewing report files on Unix TTY terminal
* TIP/dbi no longer requires Oracle SID value be defined when using 'dbipwd'
  ORACLE_SID may be used from the environment and only UID/PWD defined via dbipwd
* Fix bug in handling of DMPP2020 heartbeat loop
* If TIP$KONS is defined COMSTORE = Write thru then do not init the data on tipctl start
  
2010/06/08 2.5 R0 - 0180
* Fixed to removed queued up PASSOFF transactions when CALL 'ABORT' is
  done. This applies to OS2200 applications using MCB
* Fixed error in eclexec handling DELETE/ASG +1/FREE/ASG,A
* Increased max FCS I/O processes from 80 to 128
* Additional tipix.conf parameter to define additional Unix groups for TIP/ix
  PARAM UNIXGROUPS=name,name2 
  For example, you may need to make TIP/ix a member of the Oracle DBA group
  or some local application group

  To define the max file size (default is unlimited)
  PARAM MAXFILESIZE=unlimited or nnnM 
* Correction for TIPSUSPEND to suspend and resume a transaction

2010/05/07 2.5 R0 - 0179
* Fixed problem so that WebTS 2200 PID value is retained from user session
  cookie called PIDPOOL_ID, otherwise differnt sessions could end up with 
  same 2200 PID value
* TIPPRINT on FCS-OPEN and the file is already open will now return
  PIB-DUP-AFT-NAME instead of PIB-FUNCTION
* Fixed a race condition related to CALL 'DISCON' used by batch 2200 programs
  to dis-connect from TIP/ix
* Additional tipix.conf parameters for SOAP/XML session
  PARAM XMLPREFIX=x      1 or 2 letters used to prefix a unique terminal name
                         default is 'X'
* tipmon validates user shared memory on logout. It will now catch itself
  aborting during this memory validation and assume the shared memory has 
  been clobbered and then just dump it out for inspection

2010/05/03 2.5 R0 - 0178
* Add @JOBS command to eclexec to display list of currently active ECL jobs
* Fix problem with 'input overrun' on DMPP-2020 protocol
* Fixed problem in eclexec resolving @ADD QUAL*FILE/VER names
* Fixed problem in eclexec with interactive @ADD 
* Fixed problem on cobcnv related to EXEC SQL conversion
* Fixed problem with TIPGRPST
* Fix to better handle a transaction doing CALL ABORT

2010/03/31 2.5 R0 - 0177
* New eclexec options -b to run job in background.
  So at Unix prompt: @start myjob -b
  Will cause eclexec to move into background and then run myjob
* Fix problem with FCS-SELECT when an ORDER clause is passed

2010/03/22 2.5 R0 - 0176
* Correct TIP/ix to solve a problem introduced in build 2009/10/14 2.5 R0 - 0163
  that would cause you to sometimes get the following message:
     "Error9, User record <userid>  was Zero!"
* Preliminary implementation of TIPSUSPEND to suspend and resume a transaction
* New TIP/dbi schema clause:  SIGN IS EBCDIC
  to tell TIP/dbi to use the EBCDIC style of signing PIC S9 DISPLAY fields.
  If Using Micro Focus COBOL you will also need SIGN=EBCDIC compile option
* New tipix.conf option PARAM SIGNEBCDIC=YES to tell TIP/ix that
  The applications are using SIGN=EBCDIC compile option
  If using OpenCOBOL the option for this is -fsign-ebcdic for that compiler.
* Corrected eclexec @CYCLE command to perperly rename files

2010/03/10 2.5 R0 - 0175
* eclexec will start execution of @START as it occurs in the ECL.
  If you would like @START to be deferred until the job reaches normal completion
  add DEFERSTART=YES to the eclrc control file.
  Then if the current fails, the @START is not done.
  @START,F  overrides this and runs the job in foreground

2010/03/04 2.5 R0 - 0174
* Changes to TIP/ic & TIP/ix for WEBTS applications
* cobcnv will insert reference modification if MOVE literal to PIC 9 field
  so the MOVE is treated like a PIC X move
* Corrected to allow TIPXCTL during SOAP/XML processing

2010/02/15 2.5 R0 - 0173
* eclexec supports multiple labels with the same name by doing a forward
  circular search for the label from the current position in the ECL job
* Additional tipix.conf parameters for DMPP-2020 protocol
     PARAM DMPPHEARTBEAT=minutes
  Defines how many minutes of inactivity before sending a Heart Beat message
  The method is often needed to keep the TCP/IP socket alive
* Additional tipix.conf parameters for DMPP-2020 protocol
     PARAM DMPPOFF=minutes
  Defines how many minutes to wait for the next transaction. If nothing 
  arrives within that time, then the socket is closed and waits for the
  message switch to connect back for more work
* Additional tipix.conf parameters for Web Service support
     PARAM SOAPERROR=myext 
  Where 'myext' is the name of the template file extention to use for sending
  back error messages on the SOAP/XML interface. The actual file name will be
  in $TIPROOT/tipsoa and called  default.myext
  You can pick any name you like for 'myext' and make the file have what you want.
* Attempt to better detect when DMPP-2020 socket has gone away on AIX
* whoson -w  Will report the time of the last transaction processed by the session
* whoson -b  Will report the time of the last heart beat message (DMPP-2020)
* Also log any DISPLAY UPON PRINTER to any active application log file
* smterm can use IP Address 'PORT#nnnnn' for defining TCP/IP port # session

2010/01/25 2.5 R0 - 0172
* New option for tipxblxml to define length of text for TIPMSGE
       tipcblxml -m 'TF$TSP1_' -e 34 XM-TSP1X 
  Compiles the XML/COBOL data descriptions and assigns the TIPMSGE length to be 34

2010/01/24 2.5 R0 - 0171
* Improving support for WebTS
* TIP/dbi II will not correct bad data in key field on a read so the read will fail
* TIPMSGOV/TIPMSGRS are not supported by TIP/ic so these functions are not being passed
  to TIP/ic from TIP/ix. TIPMSGOV gets cahnged to TIPMSGO and TIPMSGRS is ignored.

2010/01/14 2.5 R0 - 0170
* Correct problem parsing SOAP 'POST' message header

2010/01/13 2.5 R0 - 0169
* Start of a New Year
* Added extra checks for 'tipmon' to avoid abort during forced removal of 
  user session

2009/12/18 2.5 R0 - 0168
* If write to JRN/QBL file is incomplete on first attempt then retry 2 more times
  before forcing the system to shutdown
* Updates for improved 2200 migration
* In TIP/dbi II a PIC 9 field may have BLANK WHEN ZERO 
  to indicate if the value is ZERO, return BLANKs to the application
* Add support for @XQT to eclexec as a link. With this you can run
  a single (former 2200) batch program
* Added initial support for executing transaction programs as shared object
  modules instead of separate executables
* Improved eclexec to handle @anyprog -opts as valid ECL statements
* Improved dbiexpimp to better read/write flat files

2009/11/25 2.5 R0 - 0167
* If you installed build 164, 165, or 166 install this build to fix a problem
  which would have forced you to recompile all of your applications.
  This build (167) puts TIP/ix back to be compatible for previous versions
  It is critical that you install this build to replace build 164, 165 or 166.

2009/11/02 2.5 R0 - 0166
* Format of tipapi.conf file used by genapi and genmain has changed

2009/10/31 2.5 R0 - 0165
* Add AIX 64 bit build
* Improved support for OpenCOBOL 1.1
   A second directory called 'liboc' can be created with the API hooks for
   OpenCOBOL 1.1 (or later) using the following command:
       genapi -O
   Then when linking use -L$(TIPROOT)/liboc  instead of -L$(TIPROOT)/lib

2009/10/22 2.5 R0 - 0164
* smsec updated to define execute option flags for 2200 transactions (XOPTS)
* tipctl will read kons.conf to populate the KONS area with initial values
  when the system is started up
* More checking of possibly clobbered shared memory table

2009/10/14 2.5 R0 - 0163
* TIP/dbi II (dbireload & tiprdms) are now compiled with _LARGE_FILES on AIX
* Add new file type to 'smfile' of TIPFL which is for an OS/2200 TIP/HVTIP file
  All TIPFLs should be named as just a number. Eg. 00000299

2009/08/25 2.5 R0 - 0162
* Corrections to scansrc and TIP/dbi II for OS2200 migration issues

2009/08/18 2.5 R0 - 0161
* See 2008/09/25 2.5 R0 - 0144 for description of 'tipix -E' & 'tipix -e'
  If the end user terminal is a TTY and -E is used then stderr will be captured
  and written to $TIPROOT/log/PRINTER
  Normally for TTY sessions, stdout and stderr are not captured.
  tipix -o enables capture of stdout; tipix -O disables capture of stdout

2009/07/20 2.5 R0 - 0160
* TIP/dbi II has workaround to problem caused when using MS SQL Server
  and MS SQL Server encounters a deadlock situation.
* Corrected TIP/dbi II DBIXFH module for coding error

2009/07/08 2.5 R0 - 0159
* Additional tipix.conf parameter for handling of DEADLOCK.
    PARAM DEADLOCK=DUMP
           this tells TIP/ix that on any deadlock status it should
           send a message to the user's terminal (if present) and
           then do a TIPDUMP and abort the program.

           The default behaviour is to return the PIB-DEADLOCK-DETECTED
           status and let the program decide what to do about it.
           When a deadlock has been detected the transaction has already
           been aborted and rolled back.

* For TIP/dbi II you are now able to define the type of transaction
  concurrency you want to use for Oracle and SQL Server database. 
  Following the SCHEMA NAME you may add one of the following clauses:
    TRANSACTION READ WRITE
        - This clause establishes statement-level read consistency.
        - For SQL Server this implies ISOLATION LEVEL READ UNCOMMITTED
    TRANSACTION READ COMMITTED
        - This clause establishes transaction-level read consistency.
        - If the transaction requires row locks held by another transaction, 
          then it waits until the row locks are released.
    TRANSACTION SERIALIZABLE 
        - This clause establishes transaction-level read consistency.
        - If a serializable transaction attempts to update any resource that 
          may have been updated in a transaction uncommitted at the start of 
          the serializable transaction, then the transaction fails.

   If the TRANSACTION clause is defined then it is used for both batch and online.
   If the TRANSACTION clause is not defined the default:
    - for online transaction programs is TRANSACTION READ WRITE for Oracle
      and READ UNCOMMITTED for SQL Server. 
    - for batch is TRANSACTION READ COMMITTED.

2009/06/29 2.5 R0 - 0158
* In TIP/dbi II, correct the handling of DEADLOCK status
  Return PIB-LOCKED in PIB-STATUS and PIB-DEADLOCK-DETECTED in detailed status
  A transaction ROLLBACK would have already been completed on return to
  the application code. This matches the behavior using ISAM files.
* Optional new feature to journal reads from an ISAM or DAM file.
  In smfile in the field for 'Journal :' you may also enter one of:
     R  - To journal all random reads plus before & after images
     S  - To journal all sequential reads plus before & after images
     A  - To journal all random & sequential reads plus before & after images
     Y  - To journal before & after images
     B  - To journal before images only
     N  - No journal at all

2009/06/17 2.5 R0 - 0157
* Change TIP/dbi II DBIXFH module to check for OPEN I-O and ACCESS DYNAMIC
  and then a random READ will change the sequential file position
  If the file is not ACCESS DYNAMIC, then a random READ does not affect
  the sequential file position

2009/06/10 2.5 R0 - 0156
* Fixed problem with 'Welcome' message appearing in IMA for User 'Start up' 
  program.
* New option for 'armsort' to tell it to treat MODE=SDF files like ACOB format
      armsort -a
    or set an environment variable
      ARMSORTSDF=ACOB; export ARMSORTSDF
  ACOB format is fixed size records with no record separator. 
  This is like the Micro focus compile option SEQUENTIAL=RECORD

  MODE=UNIX or SDF is like the Micro focus compile option SEQUENTIAL=LINE
  Also, for input files defined as UNIX or SDF, armsort will verify that the first
  record does end with a CR or LF. But if no CR or LF is found it will assume
  the input file is MODE=ACOB and read/write fixed size records.    

2009/05/12 2.5 R0 - 0155
* Fixed problems in 'tipdtp' related to using 'tipic' (Web Interface)
* TIP/dbi II add support for NLSLANG schema clause
  NLSLANG IS "code"  To define a value to override/define NLS_LANG env variable
                     For performance it is important that the database and
                     Oracle client applications like TIP/dbi use the same
                     national language set.
                   For example: NLSLANG IS "AMERICAN_AMERICA.WE8ISO8859P1".

2009/04/23 2.5 R0 - 0154
* Improving stability of 'tipdtp' to recover from badly formed messages
* tipctl will check for 'patch' directory and install binary module on startup

2009/03/27 2.5 R0 - 0153
* Corrected TIP/dbi II problem in 'dbischema' for records which had
  FILLER fields as sub-fields of a REDEFINES.
* Fix dbiexpimp to use password file created by dbipwd

2009/03/03 2.5 R0 - 0152
* New utility for TIP/dbi II called 'dbipwd' for creating <schema>.pwd 
  control files to hold encrypted User/Password information for connect
  to database. Supported for both Oracle and ODBC database

2009/02/23 2.5 R0 - 0151
* For ASYNC terminals the 'Delete' key was being handling like 'Backspace'
  This has been corrected so the 'Delete' key does delete the character
  under the cursor

2009/01/08 2.5 R0 - 0150
* New option for 'armsort' to tell it to treat MODE=SDF files like UNIX format
      armsort -u
    or set an environment variable
      ARMSORTSDF=UNIX; export ARMSORTSDF
* Improvements to support for MCB, CMCB & MCB$ENT. 
  Check out transactions using any of these APIs, they may need to be recompiled 
  after installing this release of TIP/ix.
* Added BLOB support to TIP/dbi II. (This is much like the RAW clause.)
  In Oracle RAW has a max size of 2000 while BLOB is much larger.
  TIP/dbi II has imposed a max size of 65530.
  On individual records and fields you can do things like the following:

      BLOB (CM-DATE, CM-PK-DATE)
      BLOB  CM-DAY-OF-YEAR

2008/12/08 2.5 R0 - 0149
* Change TIP/dbi DBIXFH module to only do bulk data load for an
  OPEN file OUTPUT if there is an environment variable of
  schemaname_BULK  defining how many records to load at once.
  For example if your schema name is 'SURV' then if you set:
    SURV_BULK = 5
  Then on an OPEN OUTPUT, DBIXFH will table 5 records at a time
  before sending to the database. Note that if your program could
  get duplicate keys or other data errors during the WRITE then
  do not use this option. Also for it to be effective you would
  also want to define TIPDMSCOMMIT to a number equal to or larger
  than the BULK add array size.

2008/11/28 2.5 R0 - 0148
* Fix coding error in TIP/dbi II ODBC driver module

2008/11/18 2.5 R0 - 0147
* Fix TIP/dbi II file handler for Micro Focus to check correct duplicate
  status value during WRITE operation
* TIP/dbi II dbischema compiler will check for a file $TIPROOT/conf/tipdbi.conf
  and if present copy/process the file just after collecting the
  SCHEMA NAME
  This allows you to have global options for TIP/dbi which would be used
  for all DMS schemas processed by TIP/dbi II.
* TIP/dbi (II) has a new option for the DMS schema header.
    USE AREA CODE
        This option directs TIP/dbi II that for records which are in multiple
        areas all records should be stored in the same SQL table.
    NO USE AREA CODE
        A separate table is created for each Record/Area combination.
        (** This is the default)
* TIP/dbi (II) added an option for the DMS schema header. 
    TRIM NAME FOR INDEX
         The COBOL field name gets subscripts appended to create a unique
         SQL column name. If the total lenght would be too long then the
         COBOL name is chopped before appending the subscript value.
         (** This is the default for TIP/dbi II)
    NO TRIM NAME FOR INDEX
         The COBOL field name gets subscripts appended to create a unique
         SQL column name.  The subscript is appended and then the result
         is validated and forced to be unique if needed.

2008/11/12 2.5 R0 - 0146
* TIP/dbi (II) added an option for the DMS schema header.
    LOW-VALUES ARE NULL
         When a COBOL field is all LOW-VALUES then the corresponding
         SQL column is set to NULL. On reading a NULL column LOW-VALUES
         would be returned to the application
         (** This is the default for TIP/dbi II)
    NO LOW-VALUES ARE NULL
         On reading a NULL column SPACES would be returned to the application
         (** This is the default for the old version of TIP/dbi)
* Enhanced TIP/dbi II to better enable transition from the old TIP/dbi

2008/11/08 2.5 R0 - 0145
* Fixed problem with WEBSERVICE (SOAP/XML) if transaction does TIPMSGI/O
  and there is an XML rules file but no MCS format
* TIP/dbi II (dbischema) changes made to avoid chopping the table name
  when the DMS record name is longer than 25 bytes.
* fclose/fopen using a 'wildcard' will now be logged to HISTORY file
* TIP/dbi II default in the schema header is REMOVE FILLER which means that 
  if the last field of the record is FILLER that is not added to the 
  SQL table as a column.
  If you want FILLER to become a column then add RETAIN FILLER.
  If you want all FILLER to be removed than add REMOVE ALL FILLER.
* When TIP/dbi II has to split a large field into 2 or more parts so that
  each column is within the size limits of the SQL database, TIP/dbi II will
  append a sequential number to the field name to make it unique. Normally
  you would want this number to be reset to 1 for each record but for 
  backward compatibility there is an option for the DMS schema header.
    NO SEQUENTIAL FIELDS BY RECORD
         continues the sequential number from one record to the next
         (This is the default for SUN platform)
    SEQUENTIAL FIELDS BY RECORD
         resets the sequential number to 1 for each record definition
         (This is the default for all other platforms)

2008/09/25 2.5 R0 - 0144
* Improve DPS mix of GETFL & READ calls so data area is not clobbered
* Fix TIP/dbi II to better handle long data/record names
* Fix TIP/dbi II to correctly compute size of PIC S999 SIGN TRAILING SEPARATE.
* Fix TIP/dbi II to use Old TIP/dbi options if ORACLE7 SIZES defined
* New option for 'tipix':  tipix -E will capture output sent by transaction
  programs to 'stdout' and 'stderr' and log it to $TIPROOT/log/PRINTER
  but not display it on the terminal. The default is that any output from
  a transaction program to stdout or stderr is captured, logged and displayed
  on the terminal.
  Also, if 'stderr' is already being redirected to a file, then 'tipix' will
  not attempt to capture that at all and just leave it redirected.

2008/07/23 2.5 R0 - 0143
* Fix TIP/dbi II to correctly return fields of format  PIC SV999

2008/07/07 2.5 R0 - 0142
* New feature to have TIP/ix limit to single sessions per terminal name.
  If a terminal defined via 'smterm' has a value of "S" in the 'Unattended'
  field, then when a user logs on with that terminal name all previous 
  sessions using the same terminal name will be purged. For example:
     "Unattended operation (Y/N/B) ..... S"

2008/06/10 2.5 R0 - 0141
* Enchanced DATE support to TIP/dbi II
  Translate date of all ZEROS to minimum allowed date
  Translate date of all NINES to maximum allowed date
  For most database the maximum date is 9999-12-31
  For MS SQL Server the minimum date is 1753-01-01
  For MySQL the minimum date is 1000-01-01
  For Oracle the minimum date used is 0001-01-01
  On reading a date field with the 'maximum date' TIP/dbi returns all 9s
  On reading a date field with the 'minumum date' TIP/dbi returns all 0s
* If you want a COBOL date field with a value of ZERO to have the SQL column
  set to NULL instead of the minumum date add the following clause to the
  TIP/dbi schema definition IDENTIFICATION DIVISION:
       DATE ZERO IS NULL
  This will cause any 'date' column that is NULL to be returned to the COBOL
  field as a value of ZERO.
* Normally TIP/dbi II will fold an array with PIC X members where the total
  length is less than 20 bytes into just one SQL column. This is being
  done to improve performance by reducing the number of columns.
  'dbischema' will emit a message the following to indicate it is doing the fold
     Note: Treating xxxx size nn as one column
  If you do not want this to happen you may add to the RECORD definition
  a clause  
       NO FOLD name
       NO FOLD (name1, name2, ..., namex)
  You may also code NO FOLD ALL to prevent all such folding of data fields
  into single columns.

2008/05/26 2.5 R0 - 0140
* Fixed problem in old TIP/dbi that would result in a core dump
  of the TIP/dbi server I/O process. Recompile your old TIP/dbi
  schema and remake the I/O module after installing this update.
* Fixed problem with aborting a distributed transaction that would
  cause TIPFCS to abort and take TIP/ix down. The problem was a race
  condition which may or may not happen depending on timing.
* Fixed problems in TIP/dbi II ODBC interface for FCS-NEXT/FCS-PREV usage.

2008/05/19 2.5 R0 - 0139
* New TIPFCS function for files handled by TIP/dbi II MIRAM emulation
  FCS-COLUMNS allows you to supply a list of columns to be read
           05  INVEN-SEL.
               10  SEL-LEN                     PICTURE 9(4) BINARY.
               10  SEL-LIST                    PICTURE X(64).

               MOVE 12                      TO  SEL-LEN
               ADD   2                      TO  SEL-LEN
               MOVE "PART_NUM,QTY"          TO  SEL-TEXT
               CALL "TIPFCS"             USING  FCS-COLUMNS
                                                INVEN-PACKET
                                                INVEN-SEL
               CALL "TIPFCS"             USING  FCS-GET
                                                INVEN-PACKET
                                                INVEN-RECORD
   Only the names columns plus any index columns will be read.
   This can be used in combination with FCS-SELECT.
   On the next transaction end point, the list of columns
   reverts back to all columns in the table.
   You can manually revert back to all columns by setting
   the column name list to an asterisk "*".
   The length of the text areas may from 4 to 1024.
   The FCS-GETUP, FCS-PUT, FCS-ADD functions will use all
   columns in the table regardless of FCS-COLUMNS.
     If the table has a lot of columns and you want to read only 
   a few columns but from many records, then limiting the columns
   to be processed may speed things up.


2008/05/06 2.5 R0 - 0138
* Improvements to closing a remote (DTP) file to avoid race condition

2008/05/01 2.5 R0 - 0137
* If TIP/dbi II sees HIGH-VALUES in a key then all 9s will be given to SQL.
* Preliminary release of TIP/dbi II support for EXEC SQL statements
  This allows the TIP/dbi user to mix SQL statements with DMLP and/or
  ISAM Read/Write via DBIXFH. TIP/dbi II provides the preprocessor for
  the EXEC SQL statements as well as the run-time support. This provides
  co-ordinated recovery for all database I/O.
  Please contact helpdesk@inglenet.com for more details.

2008/04/13 2.5 R0 - 0136
* TIP/dbi II now checks for too many fields in an index
* TIP/ix startup now gives instructions to repair a damaged Quick Before Look
  file if the QBL file is damaged and the system can not start

2008/03/30 2.5 R0 - 0135
* For TIP/dbi & TIP/dbi II you are now able to define the type of transaction
  concurrency you want to use for Oracle database. Following the SCHEMA NAME
  you may add one of the following clauses:
    TRANSACTION READ WRITE
        - This clause establishes statement-level read consistency.
    TRANSACTION READ COMMITTED
        - This clause establishes transaction-level read consistency.
        - If the transaction requires row locks held by another transaction, 
          then it waits until the row locks are released.
    TRANSACTION SERIALIZABLE 
        - This clause establishes transaction-level read consistency.
        - If a serializable transaction attempts to update any resource that 
          may have been updated in a transaction uncommitted at the start of 
          the serializable transaction, then the transaction fails.

   If the TRANSACTION clause is defined then it is used for both batch and online.
   If the TRANSACTION clause is not defined the default:
    - for online transaction programs is TRANSACTION READ WRITE. 
    - for batch is TRANSACTION READ COMMITTED.

2008/03/27 2.5 R0 - 0134
* Implement support for FETCH-WITH-LOCK flag for DMS/2200 programs in
  TIP/dbi II

2008/03/14 2.5 R0 - 0133
* Fixed problem in 'rollfwd' that was causing it to abort
* Fix bug that was causing count of web users to increase even if there was
  insufficient memory to log them on.
* Enchanced DATE support to TIP/dbi II
  You are now able to define a global default date format for the "schema"
  following the SCHEMA NAME and before DATA DIVISION.
  Example:
      DATE "YYYYMMDDHHMISS"

   Then on individual records and field you can do things like the following:

      DATE  (CM-DATE, CM-PK-DATE)
      DATE "YYYYMMDD" (CM-SHORT-DATE, CM-SALE-DATE)
      DATE "YY%60MMDD" CM-PIVOT-DATE
      DATE "YYY+1800MMDD" CM-BASE-DATE   
      DATE "YYYYDDD" CM-DAY-OF-YEAR

    If the date format is omitted then it defaults to the global date format.
    The Y is a place holder for a YEAR, MM for month, DD for day, HH hour, 
    MI minutes, SS seconds 
    If the Ys are followed by '%' then the digits after the '%' define a pivot year
    used to convert to a 4 digit year. In the above example if the YY value is 
    below 60 then the year is 20YY else 19YY
    If the Ys are followed by '+' then the digits after the '+' are added to the Y value.
    In above example, the year is 1800 + YYY value.
    DD means day of month, DDD means day of year.

2008/03/08 2.5 R0 - 0132
* Fixed problem in TQL (OPEN) that was causing it to randomly abort
* Fixes for TIP/dbi II ODBC interface for MySQL (InnoDB) & MS SQL Server

2008/02/21 2.5 R0 - 0131
* New utility to copy/convert sequential/relative files 
   run  seqreorg -h   to get usage information
* The ISAM utility has new options as well. see: isreorg -h

2008/02/14 2.5 R0 - 0130
* Fixed bug in eclexec related to @USE name,/Unix/Path/to/file
* eclexec new keywords for 'eclrc' control file (/etc/default/eclrc)
  TPFTOTEMP=YES Indicates that TPF$ files should be placed in the job
                temporay file created by eclexec. 
            NO  means that TPF$ files will go to $TIPHOMEDATA directory
             YES is the default.
  APPEND_D=YES  Any file referenced with an element will have .d 
                appended to the directory name in the Unix file system.
            NO  There will be no .d appended to file/directory
                that has elements.
              NO is the default.

2008/02/10 2.5 R0 - 0129
* TIP/dbi II with ODBC interface verified using MySQL (InnoDB) on Linux

2008/02/08 2.5 R0 - 0128
* Add checks for precompiling DMS programs if the DMS dictionary is out
  of date with the TIP/dbi II software

2008/02/05 2.5 R0 - 0127
* Fix bug in TIP/dbi II for online TIP/ix transactions that was causing
  folded columns to be processing in the wrong sequence resulting in
  some data getting destroyed.
* Enhancements to scansrc/cobcnv for future migration project
* TIP/dbi II performance improvment for ODBC interface
  For TIP/dbi ODBC to MS SQL Server, make sure you have Easysoft version:
    odbc-sqlserver-1.0.49-linux   or later.

2008/01/17 2.5 R0 - 0126
* Code added to try and solve a race condition between tipfcs and TIP/dbi
  during a transaction commit/rollback.
  You will need to recompile I/O module if using old TIP/dbi.

2008/01/11 2.5 R0 - 0125
* New feature for 'tippcstm' (Transaction and Database interface thread
  manager) to search its environment by prefixing the user's group name(s)
  to the schema name and if present, then set the environment of the
  TIP/dbi II server process to <schema>_xxx from <group>_<schema>_xxx
  where 'xxx' is any of CON, DSN, SID, UID, PWD.
  This feature will allow you to have different users be connected to
  different instances of the database based on the user's TIP/ix group
  membership. By default this feature is disabled. To enable it add
  the following to tipix.conf:
      PARAM PCSGROUPSEARCH=YES 

* New feature to have 'tippcstm' completely reload its environment from 
  the tipix.conf whenever a 'tipctl ping' is issued. Normally only
  the PARAM statements get processed but with the following option added
  to tipix.conf, tippcstm will now also reestablish its environment.
      PARAM PCSRELOADENV=YES 
  This feature will be helpful if adding/changing TIP/dbi II environment
  variables while the system is running.

2008/01/05 2.5 R0 - 0124
* Enhanced smterm to accept a Unix Userid which will be used to auto 
  logon a terminal connected to TIP/ix using TIP/ws Direct connect.
  In the smterm, terminal update screen new fields are:
    Logon user:     - Unix userid to be used by default for this terminal
                         when using TIP/ws Direct connect to TIP/ix
        Domain:     - Windows domain name sent by TIP/ws during login
                         If this is defined then it must match.
                         If it is not defined then whatever the user
                         enters will be accepted.
       App log:     - 'Y' to turn on logging for all applications
                         executed by the terminal
                         Remember to turn this off later and delete
                         the log files.
        UI log:     - 'Y' to turn on TIP User Interface log
                         Remember to turn this off later.
   Any log files will be created in the Unix user's $HOME/<termname>.logs

2007/12/18 2.5 R0 - 0123
* Fixed bug in tippcstm (DBI Thread manager) that would cause it to
  stop processing requests and the whole TIP system would stall
  This was a timing problem related to expiry of server processes
  If you see any of the following messages in the tippcstm log file
  then you have this problem and need to upgrade:
     PROBLEM! Seg ### already waiting
     Could not find waiting app P###

* Retested TIP/dbi II with ODBC interface to MS SQL Server 2005
  using Easysoft ODBC driver in Linux version 1.0.39
* New TIP/dbi II utility called 'dbiexpimp' to Export/Import
  flat data/ISAM file to database

2007/12/08 2.5 R0 - 0122
* Fixed call "tipupsi" to be CALL "TIPUPSI" in TC-SWGET, TC-SWPUT
* TQL COUNT command will also report how many records read to 
  produce the count. 
* Initial implementation of Web Service support for TIP/ix
  This allows transactions to be processed using SOAP/XML messages
  New APIs: GETWEBSERVICE, TIPXML, FIRSTXMLTAG
  For details please contact helpdesk@inglenet.com
* Additional tipix.conf parameters for Web Service support
  PARAM WEBSERVICE=n    n is TCP/IP port that TIP/ix is to listen on
                        for SOAP/XML connections and messages
  PARAM WEBMCSBUFSIZE=n  is the size to be reserved for receiving SOAP/XML
                        messages. This defaults to 32K. Keep it under 64K.

  
2007/11/15 2.5 R0 - 0121
* Various code changes to ensure that LD_LIBARAY_PATH remains defined
  RedHat LINUX 5 was removing this for some security reasons however
  TIP/ix requires it to be set correctly or MF COBOL transactions
  will not find the shared code they need.

2007/10/01 2.5 R0 - 0120
* New for tipix.conf to define how long to keep log archives created with
  the SAVELOGS parameter.
    PARAM SAVELOGEXPIRE=n[H|D]
  For example, SAVELOGEXPIRE=30D keeps for 30 days, 36H keeps for 36 hours
  The default is 90 days. If you want to keep the log archives forever then
  you must specify PARAM SAVELOGEXPIRE=0

2007/09/17 2.5 R0 - 0119
* Retry connect sequence for TERM=tipfe to work around network timing issues

2007/08/23 2.5 R0 - 0118
* Error message added to 'smfile' to warn if a key length is greater 
  than the internal limit of 100

2007/08/02 2.5 R0 - 0117
* 'tipmcsio' is the MCS format cache manager and it also attempts to
  synchronize the contents of the 'tipmcs' file which holds the screen
  formats for run-time use with '.t3z' files used by the Windows verison
  of TFD via Samba. For DPS screen formats there is also a '.t3b' file
  which holds extra information for DPS and Windows version of TFD would 
  be used to edit the '.t3b' file. If using DPS then the Windows TFD should
  be used for screen maintenace and not the Unix version of TFD. TO avoid
  overwriting the file by mistake add the following parameter to tipix.conf:
     PARAM MCSDPS=YES

2007/07/04 2.5 R0 - 0116
* Enhancements to scansrc and API routines for future 2200 migration project

2007/06/27 2.5 R0 - 0115
* tippcstm changed to set real & effective Unix uid the same when loading
  TIP/dbi I/O modules to avoid possible shared code library problem
* Enhancements to scansrc and TIP/dbi II for future 2200 migration project

2007/06/26 2.5 R0 - 0114
* Enhancements to scansrc and TIP/dbi II for future 2200 migration project

2007/06/19 2.5 R0 - 0113
* Enhancement to genapi for created lower case APi routine names to keep
  Micro Focus COBOL happy.  genapi -l 

2007/04/27 2.5 R0 - 0112
* Fix old TIP/dbi to also check for Oracle status of 3135, 3113 & 3114 to
  detect if the Oracle connection has been lost by Oracle

2007/03/26 2.5 R0 - 0110
* Fix TIP/dbi problem with doing a DELETE record. which has an OPTIONAL MANUAL
  index. (This issue had already been solved in TIP/dbi II).
* Changed TIPH2P to recognize that TIP/ws is being used and send 'directory'
  to the correct location for TIP/ws (which is different from TIP/fe)
* Fixed problem with 'tipmon' which could cause the system to crash when
  purging a user session from the system.

2007/03/15 2.5 R0 - 0109
* Improve error reporting when an smfile definition for RDBMS file results
  in an error finding/loading the TIP/dbi I/O module for that file
  An error message is now written to $TIPROOT/log/HISTORY and also to
  the application debug log file if one is open.

2007/03/05 2.5 R0 - 0108
* Fixed problem with 'tipmcsio' when MCS formats had a period ('.') in 
  their name. The period caused repeated attempts to save the format.
* Change to create application log files with read+write permission

2007/02/19 2.5 R0 - 0107
* Code changes to attempt to handle the value from 'times' overflowing.
  According to the man page, 'times' could overflow and that can cause
  TIP/ix to stop reporting response time. 
  The solution is to reboot Unix/Linux before 248 days have gone by.

2007/02/13 2.5 R0 - 0106
* Correction to armjcl.rc for use on Linux to prevent armjcl scripts
  from stalling after a program executes. This change elminates logging
  of keyboard input to batch programs
* Improve reporting of TIP/ix internal aborts on LINUX

2007/02/01 2.5 R0 - 0105
* Corrections to dbisubschema (TIP/dbi II) to better handle
  level 88 items 

2007/01/25 2.5 R0 - 0104
* Improved dbipre support for SELECTION OWNER IDENTIFIED BY LOCATION MODE 
  Note: If using FETCH RECORD-NAME RECORD where RECORD-NAME is a
  generic 'data name' instead of a 'record name' then the Owner
  record is not specifically read first

2007/01/22 2.5 R0 - 0103
* Fix dbipre problem with FETCH FIRST/LAST of set when
  set is defined: SELECTION OWNER IDENTIFIED BY LOCATION MODE 
* Fix dbidiff to emit missing INDEX and SEQUENCEs
* Improved error reporting for TIP/ix internal core dump for AIX 5 platform

2007/01/04 2.5 R0 - 0102
* Improved CLOSE processing of DYNAMIC files in TIPFCS to avoid crash

2006/12/21 2.5 R0 - 0101
* Fix for dbipre to compute correct size of COMP fields in 
  subschema REDEFINES 

2006/12/14 2.5 R0 - 0100
* Changes to genapi to make it more immune from local compile options
  defined in $COBDIR/cobopt
* Fix TIP/dbi II dbischema & dbireload utility for DMS2200 issues
* Fixed currency problem in TIP/dbi II in the following case:
    DELETE ABCREC followed by FETCH NEXT ABCREC WITHIN XYZ AREA when
    ABCREC is the owner of a SET with members which are also in the XYZ area

2006/11/27 2.5 R0 - 0099
* Changed fse  MC (move column) command to adjust target column postion
  by 1. 
* Fixed bug with tipix not resolving the IP address for the smterm definition

2006/11/10 2.5 R0 - 0098
* Fixed problems with TIP/dbi II unload/reload tools
* Reduce time delay on FCS-CLOSE from 1/10th to 1/100th second
* purge -y  user   will proceed with purge even if more than 1 present

2006/10/24 2.5 R0 - 0097
* Fixed problem with TQLMON PP command

2006/10/13 2.5 R0 - 0096
* smterm will translate embedded spaces in the 'Host name' field to an
  underscore. This will allow you to enter PC Computer names that contain
  and underscore character. The underscore will redisplay as a space unless
  you use tipixtty. With tipix and TIP/fe or TIP/ws the underscore is 
  always removed.

2006/09/28 2.5 R0 - 0095
* Additional DMS2200 syntax support in dbischema
* Fixed bug in dbiunload that was causing duplicates
* New environment variable TIPPRINTAUXTR may be defined as a list of
  hex values to be used for translating characters for printing to AUX1.
  For example:
  csh:   setenv TIPPRINTAUXTR "7B=E9,7E=E0" 
  ksh:   export TIPPRINTAUXTR="7B=E9,7E=E0"
  sh:    TIPPRINTAUXTR="7B=E9,7E=E0"; export TIPPRINTAUXTR
  Will cause a hex 7B in the print line to be changed to hex E9 before sending
  to the printer. Also, hex 7E is translated to hex E0.

2006/09/06 2.5 R0 - 0094
* Fixed problem with monitoring of a directory for input data that was causing
  some messages to be lost.

2006/08/28 2.5 R0 - 0093
* Enhancements to TIP/dbi II for DMS/2200 to support RESULT computations,
  ORDER BY RECORD-NAME, ORDER BY DATABASE-KEY, KEY name EQUAL TO name
  ALIAS, SET SELECTION LOCATION MODE OF OWNER

  As a result all pre-existing TIP/dbi II data dictionarys need to be
  recompiled. You need to re-run dbischema & dbisubschema and then
  recompile all of your DMS batch programs which use TIP/dbi II.

  If you get a message which reads as follows:
       ERROR TIP/dbi dictionary version does not match!
  Then you need to recompile your application program.
  
* Fixed problem with using 'fclose' when also using in tipix.conf
  PARAM MFEXEC=YES

2006/07/17 2.5 R0 - 0092
* Before starting a transaction program, tipix will now redirect 'stdout'
  to /dev/null. If the transaction generates any output to stdout, it will now
  be thrown away. Previously, TIP/fe would have tried to merge it into the
  screen format causing strange displays. TIP/ws ignores stdout data.

2006/06/16 2.5 R0 - 0091
* Fix problems with @USE and @CPFTP in eclexec
* Clean environment for programs started via smprint/TIPPRINT

2006/06/13 2.5 R0 - 0090
* Fix TIP/dbi II problem with DELETE followed by FETCH NEXT OF AREA

2006/05/23 2.5 R0 - 0089
* Preliminary release of API to send/retreive from a Web Service using
  SOAP protocol. Contact Inglenet if you are interested in using this.

2006/05/15 2.5 R0 - 0088
* Fixed problem with race condition for inbound DTP transaction which
  had closed the session while processing an input message

2006/05/05 2.5 R0 - 0087
* Fixed problem with race condition for inbound DTP transaction which
  does a TIPMSGO and than an immediate TIPRTN

2006/04/28 2.5 R0 - 0086
* New feature to have TIP/ix start pseudo terminal sessions. (tipix.conf)
  PARAM STARTTERMINAL=T103,RJNBCK
  The above command would start teriminal sessions for T103 and RJNBCK as
  they are defined using 'smterm'. This would normally be used for pseudo
  terminals used for monitoring directories. The 'smterm' definition 
  would likely include: "Unattended operation (Y/N/B) ..... B"

* New feature to have a terminal session (real or pseudo) to monitor a 
  directory for text files and process the files as messages. Another
  option is to have any messages sent to the terminal be written to a
  directory as a text file. This facility can be handy for interfacing
  with systems outside of TIP/ix such as Mapper C.
  Each terminal session started for look in the $TIPROOT/conf directory
  for a file called  <term>.conf  where <term> is the terminal name.
  In this terminal config file you may define any of several keywords:

  MSGDIR=dir       Defines the directory that is to be monitored
  MSGCHECK=min     Defines the interval in 'minutes' between checking
                   the directory for text files. You can also define
                   a value in seconds by appending 'S'. 
                   eg.  10S for 10 seconds
  MSGSAVE=dir      Defines an optional directory to copy the text files
                   to after being processed. This is for archival purposes.
  MSGEXECALL=YES   Declares that each text file will start with a transaction
                   code and is to be processed like an input message.
                   The default is that each text file is read and transmitted
                   to the terminal connected for this session.
  MSGEXECEXT=ext   Defines that if the text file ends with the extension '.ext'
                   then that file is to be processed as an input message with 
                   a transaction at the start of the file.
  MSGXMITEXT=ext   Defines that if the text file ends with the extension '.ext'
                   then that file is to be processed as an output message and 
                   transmitted to the terminal connected for this session.
  MSGOUTDIR=dir    Optionally defines a directory where each message sent to this 
                   terminal is to be written as a text file instead of really being 
                   sent to the terminal. Other transactions could send an unsolicited
                   message to this terminal and the data would then be written
                   out as a text file with a unique name.
  MSGOUTEXEC=script When MSGOUTDIR is defined and when a file has been created then
                   the 'script' is executed and the name of the text file is passed
                   as parameter one. (i.e. reference a  $1  in the script)
  MSGOUTPREFIX=(starter text) The text enclosed in brackets is written out as the start
                   of the text file created for output messages. This is optional but 
                   if used, should be used with MSGOUTDIR.
                   
  Examples:
    If there is a file called CPI.conf with the following contents:
      #
      # Terminal Session Rules
      #
      MSGDIR=/tmp/vcin
      MSGCHECK=5S
  
    Then the session for the terminal called CPI will check the /tmp/vcin directory
    every 5 seconds for text files and if found, transmit them to the CPI terminal.
  
    If there is a file called RJNXX.conf with the following contents:
        MSGDIR=/tmp/rjnxx
        MSGCHECK=8S
        MSGXMITEXT=xmt
        MSGEXECEXT=trn   
    Then the terminal session RJNXX will check /tmp/rjnxx every 8 seconds for text files.
    If the text file ends with '.xmt' then it is transmitted to the RJNXX terminal.
    If the text file ends with '.trn' then it is processed as an input transaction msg.
    Otherwise the text file is just transmitted to the terminal.
    If in addition, tipix.conf has  PARAM STARTTERMINAL=RJNXX then RJNXX is really a
    pseudo terminal so it is best just used for processing transactions.

2006/04/25 2.5 R0 - 0085
* Corrected error in DTP when using Remote File Access

2006/04/20 2.5 R0 - 0084
* Added new tipix.conf parameter
     PARAM JRNCHECK=minutes
  Defines how many 'minutes' to go without swapping the journal file.
  The journal file would be swapped when it reaches its max size 
  defined by JRNSIZE or if it has not been swapped for the defined 
  number of 'minutes'. To swap every 30 minutes:
     PARAM JRNCHECK=30

* rollfwd has a new command line option of  -r
  The -r option indicates that rollfwd should be quiet and it should
  open the ISAM files in shared access mode so that the files may
  be updated while TIP/ix is running. The ISAM files should also be
  defined to TIP/ix for shared access. The intent of this is for use
  by a semi-hot backup TIP/ix system to which you want to replicate
  the data from an active production system.

2006/04/19 2.5 R0 - 0083
* Add code to detect & recover from cycle in list of active transactions
* Added new option to prevent more than one of a given terminal session
  to be started via DTP by adding the following parameter to tipix.conf
  PARAM DTPONLYONE=TRM1,TRM9
   In the above example, TIP/ix would only allow one of each TRM1 and TRM9
   to be active at once. If a new session request arrives with the name
   as an already existing session, then TIP/ix will purge the existing
   session and then open the new session.

2006/04/11 2.5 R0 - 0082
* Correct problem related to race condition of input message and
  unsolicited output messages on an inbound DTP session

2006/04/07 2.5 R0 - 0081
* In conf/tipix.conf you may now place BACKSECUR=Y to have background processes
  take security from the USER-ID names of BACK$001, BACK$002, etc
                  (This would also required BACKNNN=YES)
    PARAM BACKSECUR=YES
  The default is that the background process inherits security settings
  from the user whos transaction did the TIPFORK.

2006/04/05 2.5 R0 - 0080
* Fix armdata problem when converting data which is already on disk
  If the data was being loaded/converted from EBCDIC tape it would work

2006/04/04 2.5 R0 - 0079
* Fix problem with system hang after swaping journal files

2006/03/23 2.5 R0 - 0078
* Fixed erroneous detection of looping transaction 

2006/03/20 2.5 R0 - 0077
* Internal change on Linux to use 'select' instead of 'poll' to try
  and avoid missing SIGHUP on sockets

2006/03/16 2.5 R0 - 0076
* Improved handling of an invalid local LOCAP name in tipix.conf
* Fixed problem for background transactions where the Active File table
  was not being cleaned up when the transaction completes
* New for tipix.conf to define how long to keep inactive TIP/dbi log files
  PARAM LOGEXPIRE=n[H|D]
  For example, LOGEXPIRE=36H keeps for 36 hours, 3D keeps for 3 days
  The default is 2 days.

2006/02/17 2.5 R0 - 0075
* Improvements to the conversion tools and TIP/dbi II parsing of DMS 2200

2006/02/06 2.5 R0 - 0074
* Fixed problem with TQL reference modification

2006/01/30 2.5 R0 - 0073
* Fixed problem with eclexec and @START

2006/01/25 2.5 R0 - 0072
* Clear Full Screen Transmit option on SENDERR and is user does Ctrl-A 
  to abort the transaction
* The MCS screen cache manager will now allow read-write permission by 
  others to better enable use of the Windows version of TFD

2006/01/18 2.5 R0 - 0071
* Fixed problem related to incorrect detection of a CPU loop when in an
  outbound DTP session

2006/01/01 2.5 R0 - 0070
* Added simple line editing for  tipinstall -n   command

2005/12/21 2.5 R0 - 0069
* Enhancements to 'setlog' command and API code so that logging for an
  application can be turned on while the transaction is running

2005/12/18 2.5 R0 - 0068
* New TIP/dbi II utility 'dbiupgrade' to help with moving from old TIP/dbi
* Fixed problem in TIP/dbi II which would randomly result in core dump

2005/12/09 2.5 R0 - 0067
* Fixed problem with IMS output for input message queuing when the message
  had leading spaces before the transaction code
* If a dynamic file is open and locked, now status will report 'Lck' under Sts
* fclose -f 'dynfile'  Will now properly force a close and unlock a dynamic file

2005/12/06 2.5 R0 - 0066
* Fixed problem with rollfwd on Linux
* dpscnv -d format   This will read the format.t3b file and recreate the
                     MCS screen format and DPS Copy book from that.
                     If you update a DPS format on one system using
                     the Windows version of TFD, the format.t3b file
                     is re-written by TFD. Copy that to another system
                     and run dpscnv -d format and it imports the 
                     changes into the new system.
  For example:
      dpscnv -d INSPCDUP.t3b 
      cp STKISSU.t3b $TIPROOT/tipfiles/sfg/tip\$y\$
      dpscnv -d STKISSU
      cp DPS00512.t3b $TIPROOT/tipfiles/sfg/tip\$y\$
      dpscnv -d 512
  If you specify any other options with -d to dpscnv then the appropriate
  flags in the format will get set accordingly.
* Fixed problem with IMS/90 CALL SEND when doing output for input queuing
  and the terminal being queued to was defined as unattended. The 1st
  message would return an error status to the CALL SEND even when there
  was no error.  This has been fixed. Recompile IMS/90 programs to get fix.

2005/12/01 2.5 R0 - 0065
* TIPFCS will log details of a deadlock to the HISTORY file
* New command to mark a DMS database down and up using tippcstm
    tippcstm down myschema      - Would shutdown all current usage
                                  of 'myschema' and record it as down
    tippcstm up myschema        - Would mark 'myschema' as available

    If a transaction tries to access a downed database the IMPART will fail
    The down/up status is persistent across TIP/ix system start/stop
    status x     will report of the database has been marked down

    The list of all DMS schemas which are marked down is kept in a file
    called  $TIPROOT/conf/dbidown.lst

2005/11/30 2.5 R0 - 0064
* Implemented a workaround to problem with semaphores on LINUX
  If you are using TIP/ix on LINUX, you need to recompile your
  application programs to have this correction fully implemented
* Corrections to avoid race condition with DPS call D$RETRANSMIT
* Improve FCS closing of files to avoid possible race condition

2005/11/18 2.5 R0 - 0063
* Fixed coding error with the IMS/90 UNLOCK function. 
  The error was introduced in 2004/10/06 2.5 R0 - 0001

2005/11/11 2.5 R0 - 0062
* eclexec new keyword for 'eclrc' control file
  FILEUID=num   Defines the numeric Unix user id value to be assigned to 
                files created by eclexec
  FILEGID=num   Defines the numeric Unix group id value to be assigned to 
                files created by eclexec
 If FILEUID is not defined, the default now is to place the user-id of the
 user which is running the ECL job on any files created by eclexec.
 Previously, the 'root' user id was being placed on files created by eclexec.

2005/11/07 2.5 R0 - 0061
* Fixed TIP/dbi II problem with FETCH DBKEY followed by FETCH NEXT WITHIN SET

2005/11/03 2.5 R0 - 0060
* Fixed compilation error with TIP/dbi shared code module

2005/11/02 2.5 R0 - 0059
* Change D$READ to set status '0' for value of ZERO and '4' for blanks on input
* Fixed Unix TFD to display fields correctly for DPS formats
* Add more support for DPS to the INT1/UTS terminal interface

2005/10/28 2.5 R0 - 0058
* Fix problem with generating FCCs for UTS terminal emulator

2005/10/27 2.5 R0 - 0057
* eclexec when used interactively now keeps a command history which
  can be recalled using the Up/Down Arrow keys. The Insert key also
  toggles between insert and overtype mode. This works when using
  TIP/ws (or TIP/fe)
* eclexec will issue warning when an application issues a ACSF for
  @START,F and then start the job in background as forground is
  not allowed in this case.

2005/10/23 2.5 R0 - 0056
* trandown -l   Will list all transactions marked down
* trandown/tranup will list the SMPROG name referenced
* whoson -c     Will list users computer name instead of terminal
* whoson -a     Will only list users with transactions active
* status t      Will now report transactions per second
* Fixed problem that was taking all TIP/ws Direct connect sessions down
  when tipdtp aborted and was restarted
* DMS/2200 applications running under eclexec will now report serious Oracle errors 
  into the joblog and PRINT$
* Online DMS (TIP/dbi II) transactions will now check MAXCALLS to detect looping
* New parameter for tipix.conf  PARAM DBILOG= may be used to set the TIP/dbi log options
  On  tipctl ping  the value of DBILOG is reset in the environment as TIPDMSLOG
* New logging option Z to indicate that the log file should be compressed when closed
* Added some loop detection code to TIP/dbi II for FETCH NEXT of SET
* TIP/dbi II now more accurately counts I/O for online transactions
* Fixed problem with TIP/dbi II INSERT to a MANUAL Set
* TIP/dbi now supports the options for controlling how long to wait for a record lock
  The options are placed in the SCHEMA NAME section. For example:
       IDENTIFICATION DIVISION  
       SCHEMA NAME IS XXX-SCHEMA IN TIP FILE 50 
         WAIT GETUP 3.5 RETRY GETUP 0.1
  This example would attempt to lock a record for update at 0.1 second intervals
  for a maximum of 3.5 seconds and then return an error status to the application
  Also, DBI-SQL-STATUS of the DMCA will have a value of 54 which is the Oracle status
  This only applies to online transactions. Batch program will continue to wait
  for the record to become available.
* New parameter for tipix.conf. The tipdtp process manages TIP/ws Direct connect
  by listening on the TCP/IP port. If for any reason tipdtp aborts it will also
  kill off all direct connect sessions. This is required to free up the TCP/IP
  port. If you want to leave those session running specify the following parameter
        PARAM DTPCLEANDIRECT=NO
  However if you do this, no more TIP/ws sessions will be allowed to connect
  because the TCP/IP port is not available until all running processes which use
  it terminate.

2005/10/19 2.5 R0 - 0055
* Fixed problem with SDMPS4, & TIP/dbi for Oracle 10
* Fixed problem with TIP/dbi II related to folded PIC 9 fields

2005/10/12 2.5 R0 - 0054
* eclexec changed to retain embedded spaces in SETENV command

2005/10/08 2.5 R0 - 0053
* Fix TIP/dbi II problem with IF affecting record currency
* Now records statistics in HISTORY file when tipix.conf has PARAM RESPONSELOG=
  defined. For example:
    2005/10/08 09:08 tipstats:  0 2 0 0 0 0 0.000
    2005/10/09 13:36 tipstats:  2 1708 16 41 937 260 0.066
  The numeric values following 'tipstats:' are as follows:
       Number of user sessions
       Number of minutes elapsed during interval
       Number of input messages during interval
       Number of output messages during interval
       Total number of data input/output operations during interval
       Total number of data update operations during interval
       Average transaction response time during interval

2005/09/30 2.5 R0 - 0052
* Enhance armsort (@SORT) to recognize MODE=LS for Line Sequential 
  & MODE=DA for Direct Acccess file formats

2005/09/28 2.5 R0 - 0051
* Correct TIP/dbi II problem with MODIFY following a FIND instead of FETCH
* Correct TIP/dbi II coding error related to recent changes

2005/09/16 2.5 R0 - 0049
* Corrected TIP/dbi II problem with FETCH rec VIA set USING field
  when the owner of the set was in multiple areas

2005/09/12 2.5 R0 - 0048
* Corrected TIP/dbi II problem related to FIND CURRENT SUPPRESS ALL|SET
* Fixed TIP/dbi performance problem with SORTed set with multiple members 
  and allows dups
* New TIP/dbi II clause for schema section  CONCATENATE WHERE which will
  result in using the Oracle concatenation operator where possible

2005/09/06 2.5 R0 - 0047
* New TIP/dbi II option to optimize cases where the owner of a set and 
  member of the set are in the same multiple areas.
  Add the following clause to the DMS schema header portion to get this
      FIND IN VIA AREA
* Fix problem in TIP/dbi with DELETE while reading thru INDEX that 
  allows duplicates
* eclexec will check for XQT,N 1st if the default is to send data for stdin 
  thru pipe to the application
  Optionally you can add the option XQTDATAON=x to .eclrc or /etc/default/eclrc
    Where x is the option characters to enable sending data thru the pipe for stdin
    Default value is C
  Optionally you can add the option XQTDATAOFF=x to .eclrc or /etc/default/eclrc
    Where x is the option characters to enable sending data thru the pipe for stdin
    Default value is N

2005/08/29 2.5 R0 - 0046
* Fixed problem in eclexec related to @SYM,F where a printout was being lost
* Changed eclexec so that @ASG,UP updates the file.stt immediately

2005/08/23 2.5 R0 - 0045
* Fixed problem with TIP/dbi II dbireload utility related to SORTED SET DUPS LAST
* Fixed problem with dpscnv related to heading fields separated by a single 
  space that holds a one byte field
* Fix TIP/dbi II problem related to FETCH by DBKEY when previously locked
  for update
* Fix problem with tipixtty not correctly restored TTY terminal settings

2005/08/05 2.5 R0 - 0044
* Partially back out code change made for WGKK related to DPS 'image'
  intensity as this caused problems for another customer (VSP).

2005/08/01 2.5 R0 - 0043
* Changed eclexec so that @CAT from an application (via ERCSF) is better
  handled by eclexec and not the application process
* Changed eclexec (& ERCSF) so that @ASG,A ... @FREE does not update catalog
* Setting the environment variable ANIMTERM to a Unix psuedo terminal name
  will result in the Micro Focus Animator session being redirected to that terminal
  For example:  setenv ANIMTERM /dev/pts/3
  This may even be done with the TIP/ix User Interface SETENV command after 
  entering tipix

2005/07/20 2.5 R0 - 0042
* The LOGOFF transaction is different for former OS/3 and OS/2200 customers
  The 'install' script will now ask you is you are a former OS/2200 customer
  and set LOGOFF as needed. Reply 'Y' is you were an OS/2200 customer.

2005/07/13 2.5 R0 - 0041
* Change name of 'open' and 'close' variables used in various data structures
  to avoid future problems if LARGE_FILE support is ever implemented
* Fixed TIP/dbi II problem with FETCH NEXT DUPLICATE of a CALC set

2005/07/12 2.5 R0 - 0040
* Fixed problem related to forced fclose of an indexed file. 
  (Do full install of this build)
* Fixed problem with cobcnv and EXEC SQL programs

2005/07/05 2.5 R0 - 0039
* The text in the message of the day file (see patch level 0037 below) is
  now scanned for escape sequences that get replaced by UTS codes.
  \\    - just becomes a backslash \
  \E    - ESC
  \F    - FCC
  \H    - The host computer name
  \I    - SI
  \L    - The long terminal name
  \O    - SO
  \R    - The TIP/ix Locap name
  \S    - The short terminal name
  \T    - TAB
  \U    - The User Id
  \<    - FS 
  \>    - GS
  \(row,col) - position cursor to row,col.  Eg.  \(10,2)
  \[row,col] - position cursor & erase screen.  Eg. \[1,1]
* Also, for the INT1 protocol TIP will send $TIPROOT/conf/prelogonint1.txt before 
  sending the logon screen to the end user.
  After logon, the file $TIPROOT/conf/motdint1.txt would then be sent, if present
  An example of the terminal setup file follows:
      \Eo\(2,66)UC\(12,7)C:\\TEMP                             \(12,7)\Eo

2005/07/04 2.5 R0 - 0038
* Fix problem with TIPUSR when passed 2 parameters
* Correct TIP/dbi II to handle large binary values for FETCH VIA USING.
* eclexec: fixed problem with @USE when file was temporary

2005/06/22 2.5 R0 - 0037
* When a user first logs onto TIP/ix the user interface process will
  check for the presence of a 'Message Of The Day' file and display it.
  This file is called motd.txt and is located in the $TIPROOT/conf directory.
  For User terminals using the INT1 (UTS) protocol, it looks for a motdint1.txt
  For User terminals using the TIP/ws direct connect feature, it looks for motddirect.txt

2005/06/20 2.5 R0 - 0036
* Fix problem with function keys and INT1 protocol
* eclexec cleans up better after @DELETE file(-1)
* eclexec:  @ADD,X file 
        Will defer including the contents of the file until the @ADD statement
        is reached. The default action is to include the file as the job
        statements are being read into memory before any statement gets
        executed.
    Optionally you can add the option DEFERADD=YES to .eclrc or /etc/default/eclrc
    to force all @ADD processing to be deferred as long as possible.
    An @ADD following @XQT is always processed immediately as the file being
    added may contain data for the program executed by @XQT

2005/06/13 2.5 R0 - 0035
* TIP/dbi II corrections for DMS/80 test suite
* Fix problems with tranup/trandown
  New option to up/down transaction in all groups
      tranup -t tranname
  New option to up/down all transactions in a group
      tranup -g groupname

2005/06/02 2.5 R0 - 0034
* TIP/dbi II now keeps a small cache of pre-parsed SELECT statements
  to improve performance
* TIP/dbi II: fixed problem with requencing an ordered set
* TIP/dbi II: fixed problem related to not having correct position within set
* eclexec: fixed problem with @USE when file name was the same but qualifier
  was different
* Added some more defensive code to tipfcs for bad pointers

2005/05/25 2.5 R0 - 0033
* TIP/dbi II will check for additional environment variables:
  schemaname_CON        If set is used for the Oracle data source name
  schemaname_TWO_TASK   If set, is used to set the value for TWO_TASK 
                        environment variable, used by Oracle
                        If set to the word NULL, then TWO_TASK is 
                        removed from the local environment before
                        connecting to Oracle
  ORACLE_CON            Would set the data source name for all DBI schemas
  ORACLE_TWO_TASK       Would define the value for TWO_TASK for all DBI schemas
                        i.e.  setenv ORACLE_TWO_TASK NULL  
                      Would cause DBI to remove TWO_TASK from the local environment
* Fix problem for field intensity/coloring on Linux for ASYNC terminals
* D$READ when program has Upper Case: Yes (via smprog) defined and the
  data field is an Output only field is now not translated to Upper Case

2005/05/13 2.5 R0 - 0032
* TIP/dbi II: fix dbireload problem with sorted sets which allow dups
* eclexec: add support for @FREE,I

2005/05/09 2.5 R0 - 0031
* TIP/dbi II: Fix problem for BINARY fields
    If the value of the field was numerically less than the previous record
    read it could happen that extra digits get returned resulting in 
    bad data given to the application
* TIP/dbi II: Added support of multi-member sorted sets which also
    allow duplicates.
* eclexec: fixed problem with @SYM and $F in printer command

2005/05/02 2.5 R0 - 0030
* Corrected problem with eclexec TCOPY command

2005/04/25 2.5 R0 - 0029
* Correct TIP/dbi II run-time problem with BINARY field in folded column
* Correct TIP/dbi II problem with ID IS (i.e. REDEFINES) when the ID column
  follows the redefined data
* eclexec: @SYM PRINT$ will now print the job log file on job termination
* eclexec @CPFTP will translate 2nd parameter of GET/PUT to Unix path name
* eclexec: @ASG,Q will test for file presence and set Condition word (S6).
            A value of 1 means file does exist
            A value of 0 means file does not exist         

2005/04/08 2.5 R0 - 0028
* Changes to LDAP authentication for K&P and WGKK
* Correct TIP/dbi II run-time for BINARY field with large values
* Correct TIP/dbi II run-time for PIC S9 BINARY field with negative values

2005/04/04 2.5 R0 - 0026
* Correct TIP/dbi II run-time so that DELETE verb would remove members
  of MANUAL sets that the deleted records owns
* Changed eclexec so that @USE names are not replaced when an '*' is used
  Also, if *FILE, then the @QUAL names is used, otherwise the qualifier on
  the @RUN card is used
* Backed out changes to dpscnv. Field MUST be 80 bytes or less

2005/03/24 2.5 R0 - 0024
* Fixed TIP/dbi II dbipre for problem related to STORE ... SUPPRESS ALL
* eclexec, initial release of @TCOPY for testing.
    Copy Data To/From tape
       @TCOPY,options  INPUT,OUTPUT,rcsz,bksz,vsn,lbl
    Options:
       A  - Convert data from Ascii to Ebcdic
       E  - Convert data from Ebcdic to Ascii
       F  - Tape is fixed length blocked format
            Default is Variable length
       L  - Log the records in ecl.log
       I  - Input is disk image of tape
       O  - Output is to be disk image of tape   
       R  - Disk file is Record Sequential
       D  - Disk file is Relative
       S  - Disk file is Line Sequential  
   If copy to tape, then:
       @TCOPY,E  MYQL*MYFILE,/dev/rmt/ctape1,512,12280
   If copy from tape, then:
       @TCOPY,A  /dev/rmt/ctape1,MYQL*MYFILE,512,12280

2005/03/22 2.5 R0 - 0023
* Fixed eclexec problem with @USE and later @ASG
* Partial support for HLC version in the INT1 protocol

2005/03/16 2.5 R0 - 0022
* Fixed STTFH to reset file naem for Micro Focus in case an inline
  ECL statement had been issued
* eclexec new keyword for 'eclrc' control file
  MAXCARDSIZE=num   Defines the maximum length of data lines following @XQT
                    The default is 2048
* Enhanced to support UTS INT1 DCP style over TCP/IP protocol. This is enabled
  by adding the following parameter to tipix.conf
  PARAM TIPINT1=YES

  If you want INT1 users to have to logon with a format, then use:
  PARAM TIPINT1=LOGIN
  TIP/ix will listen on the TCP/IP port 256 for connections using this protocol

  If you want INT1 users to logon with a command line style, then use:
  PARAM TIPINT1=DEMAND
  TIP/ix will listen on the TCP/IP port 256 for connections using this protocol

  You can also specify an alternate port number as follows:
  PARAM TIPINT1=259,DEMAND

2005/03/11 2.5 R0 - 0021
* Enhanced to support TIP/ws connecting directly to TIP/ix
  by adding the following parameter to tipix.conf
  PARAM TIPWS=32777
  In the above example, TIP/ix would listen for connections on port 32777.
  You may choose any port which is not already used as long as TIP/ws is
  defined to use the same port.

* For INT1 and TIP/ws Direct connect, the user must be authenticated
  If you want user authentication to be done using the Unix passwords
  then add the following to the tipix.conf file:
  PARAM LOGIN=UNIX

  If you want user authentication to be done using LDAP passwords
  then add the following to the tipix.conf file:
  PARAM LOGIN=LDAP

2005/02/28 2.5 R0 - 0020
* Fixed TIP/dbi II problem with folded columns
* Fix problem with ASG,CP vs ASG,UP

2005/02/24 2.5 R0 - 0019
* Fixed problem introduced to BATACTIV 
* Fixed TIP/dbi II problem with FOLD INDEXES option

2005/02/21 2.5 R0 - 0018
* Fixed build problem with original TIP/dbi

2005/02/18 2.5 R0 - 0017
* TIP/dbi correct for reading by key a sorted set with binary key fields
* eclexec new keyword for 'eclrc' control file
  ECLTOBRKPT=YES     Will log ECL statements executed to the BRKPT file if
                    other than PRINT$

2005/02/14 2.5 R0 - 0016
* eclexec new keyword for 'eclrc' control file
  KEEPCYCLE=YES      Will retain  filename.stt even if there is no data file
  EMPTYFILE=YES      Will create a zero length file on @ASG,P and @CAT,P
  DISPLAYBRKPT=NO    Will NOT display contents of the BRKPT file. Default is YES
* eclexec: @CAT when the file already exists results on abnormal job termination
* eclexec: @DELETE fixed to remove the correct file cycle
                   and also check for prior mising cycles and roll back the
                   current cycle number to the 1st existing file
* eclexec: filename.000 will never be created. Cycles will be from 001 thru 032
           If a filename.000 already exists, then the cycle will be renumbered
           so as to fall within the 001 thru 032 range

2005/02/06 2.5 R0 - 0015
* Fixed TIP/dbi II problem with SORTED SETS that have multiple members
  and the key fields are BINARY
* Fix TIP/dbi II problems with dbireload for 'folded' records

2005/02/01 2.5 R0 - 0014
* Rename the DPS text files from .xml to .t3b

2005/01/25 2.5 R0 - 0013
* Added some support for DPS Printing

2005/01/14 2.5 R0 - 0012
* dpscnv corrections for K&P
* TIP/dbi II: dbireload correction related to group item keys with sub-items PIC 1
* TIP/dbi II: dbischema correction related to group item keys with sub-items PIC 1
              Online API module will clear ERROR-STATUS on DEPART

2004/12/31 2.5 R0 - 0011
* TIP/dbi II: Fixed problem in computing/adjusting for largest of REDEFINES
* TIP/dbi II: dbiunload generates code conditional on DEPENDING ON value
* TIP/dbi II: dbireload correct related to FILLER fields
* TIP/dbi: changes to support Oracle 10

2004/12/18 2.5 R0 - 0010
* D_READ will set some of the field-STAT values
* Fixed problem in TIP/dbi related to sets where the own is in multiple areas
* eclexec will capture & log output from Unix scripts initiated with @START,F
* Fixed problem with getvaltab for AIX

2004/12/07 2.5 R0 - 0009
* Fix problem with LOCATION MODE INDEX RANGE KEY
* Corrections to TIP/dbi II for REDEFINES and LOCATION MODE INDEX
* Corrections to D_READ for function key input

2004/12/01 2.5 R0 - 0008
* TIP/dbi II support for PIC 1 IS BINARY option (default)
* TIP/dbi II support for PIC 1 IS DISPLAY option
* DPS Paging CURRENT-PAGE is only adjusted for RETR/REPLACE not STORE
* @SYM & @SORT now check for records size and file type in 'file.stt'

2004/11/18 2.5 R0 - 0007
* Corrections to dbiunload for K&P
* Corrections to D_GETFL for when input message has FCC separting fields

2004/11/14 2.5 R0 - 0006
* 'eclexec'; Changes to @USE implementation so that @USE name can be used
  in @ASG. i.e. @USE names becomes more like a short form or define of a value
* Corrections to dbiunload for K&P

2004/11/04 2.5 R0 - 0005
* Changes to TIP/dbi II for DMS/2200 to default to operating in "implicit thread" 
  mode rather than the more secure "explict thread" mode as described by UDS

2004/11/01 2.5 R0 - 0004
* Corrections to conversion tools cobcnv and scansrc for K&P
* Corrected D$GETFL/GETLI/GTSCN to return function key as 2 digits of text
  and set the correct Function Key status for the application
* Fix TIP/dbi II to handle binary field as Set SORTED BY for Quick Search

2004/10/26 2.5 R0 - 0003
* Corrections to TIP/dbi II for REDEFINES
* Corrections to conversion tools cobcnv and scansrc for K&P

2004/10/25 2.5 R0 - 0002
* Enhancements to MCS, (tfd, TIP/fe & TIP/ws) to support right justified
  alphanumeric fields. If you use a right justified MCS XXXX field, you will 
  also need the latest TIP/ws or TIP/fe to handle this.
* Corrections to TIP/dbi II for REDEFINES

2004/10/06 2.5 R0 - 0001
* Many changes to all API modules to support Micro Focus Server Express 4
* New utility 'genapi' created to generate the COBOL API stub modules
     If you are using the lower case API names ('tipfcs' instead of 'TIPFCS')
   then you need a special option. (Best is to only use the documented names)
        genapi -l     
* Corrections to conversion tools cobcnv and scansrc for K&P

2004/09/27 2.4 R0 - 0123
* Corrected problem in TIP/dbi II which was causing a loop
* Corrections to conversion tools cobcnv and scansrc for K&P

2004/09/14 2.4 R0 - 0122
* Fix bug in TIP/dbi II with OPEN area INITIAL LOAD when
  the area contained multi-member sets
* Corrections to conversion tools cobcnv and scansrc for K&P

2004/08/30 2.4 R0 - 0121
* Implementing support for REDEFINES in dbiunload & dbireload
* Correction for DDN Api 

2004/08/25 2.4 R0 - 0120
* Corrections to conversion tools cobcnv and scansrc for K&P
* Implement support for REDEFINES in dbiunload & dbireload

2004/08/18 2.4 R0 - 0118
* Added new feature for a TIP/ix user interface process to monitor a directory
  and send any files in that directory as output messages
* Fix problem with D_USERMSG not honouring D_CHGPID
* Fix problem with D_CLOSE that had prevented DMS I/O to be done after a D_CLOSE
* Add new DMCA field for TIP/dbi II called DBI-SQL-STATUS which will be set to
  the exact Oracle status code on an error.
* Partial implementation of REDEFINES for TIP/dbi II. Still testing.

2004/08/11 2.4 R0 - 0117
* Fix problem with doing early database commit for CRTRNU and TIPCDSEND
* Fix problems with interface to CPI message switch

2004/08/03 2.4 R0 - 0116
* Fix for the DDN API module
* Fix to eclexec for @COPY to a temp file

2004/08/02 2.4 R0 - 0115
* Fix coding error; tipctl ping would abort the MCS format server

2004/08/01 2.4 R0 - 0114
* Fix probem with TIPFORK to another terminal
* Fix problem with internal commit to TIP/dbi II
* For TIP/dbi II, AREA-KEY then PAGE-NUM & RECORD-NUM will now be 
  PIC XX COMP-X instead of PIC 9(4) COMP-4

2004/07/20 2.4 R0 - 0113
* Corrections to 'output for input queuing' due to an error introduced 
  in the last few months

2004/07/18 2.4 R0 - 0112
* Corrections to cobcnv for DECIMAL IS COMMA

2004/07/14 2.4 R0 - 0111
* Fix error introduced in build 0089 which was keeping CDA size at largest
  used in a group. The CDA should reduce if the transaction is defined so.
* For non-reusable transactions the MaxThreads value as defined in smprog
  will now be honoured to limit the number of copies of the same program
  that are running
* The ECL processor now scans statements for parameter replacement
  ${1} would be replaced by 1st parameter following job name

2004/07/12 2.4 R0 - 0110
* Corrections to handling of CRTRNU/O functions for 2200 apps
* Corrections to SEND/RECEIVE replacement API code

2004/07/08 2.4 R0 - 0109
* Add the following parameter to tipix.conf to limit time that a transaction
  may run. After the defined number of seconds the transaction would be aborted.
    PARAM MAXTIME=n

  Where 'n' is the number of seconds. (eg.  PARAM MAXTIME=20)

2004/07/05 2.4 R0 - 0108
* Corrections to handling of CRTRNU/O functions for 2200 apps

2004/07/02 2.4 R0 - 0107
* Corrections to SEND/RECEIVE replacement API code

2004/06/25 2.4 R0 - 0106
* Change in method of handling CRTRNU/O functions for 2200 apps

2004/06/21 2.4 R0 - 0105
* whoson -p   will show the 2200 PID value instead of the terminal name
              If the PID value is preceded by 'DB' then the programmer is
              testing using a test PID value
* Initial release of the DDN routines for testing

2004/06/17 2.4 R0 - 0104
* When running tipix if the evironment variable TIPPID2200 is defined, then
  its value will be presented to applications as the 2200/1100 PID value
  For example:
     setenv TIPPID2200 50
     tipix

2004/06/16 2.4 R0 - 0103
* Additional Corrections for batch connecting to TIP/ix

2004/06/10 2.4 R0 - 0102
* Additional Corrections for SEND to PROG trancode

2004/06/08 2.4 R0 - 0101
* Corrections for SEND to PROG trancode

2004/06/04 2.4 R0 - 0100
* Correct D$READ/D$OPEN to reset field attributes
* Changes to better interface with CPI message switch
* Changed DPS pager (dpager) to provide hints on function key usage

2004/05/31 2.4 R0 - 0099
* Improved FETCH rec VIA set USING performance for TIP/dbi
* Fixed D_READ to avoid an erroneous COMMIT
* Initial build for AIX 5 available for beta testing

2004/05/26 2.4 R0 - 0098
* Fix CRTRNO to pass data correctly
* DPS Paging utility fixed to display data correctly
* Fixed coding error in D_GETLI & D_GETFL routines

2004/05/25 2.4 R0 - 0097
* CRTRNU was setting the terminal in test Mode incorrectly
* eclexec was not parsing @START correctly to get the 'setc' value

2004/05/19 2.4 R0 - 0096
* Various corrections for DPS functions

2004/05/17 2.4 R0 - 0095
* Fix TIP/dbi II to corectly compute size of PIC 9(n) BINARY where n is > 10
* Fix TIP/dbi dbipre to emit code to set values fo Database Data Names when 
  defined as STORAGE COMMON

2004/05/16 2.4 R0 - 0094
* Fix TIP/dbi II for DMS2200 FETCH record VIA set
* Some corrections to better handle PIC 1 in TIP/dbi

2004/05/13 2.4 R0 - 0093
* Fix TIP/dbi II for reading via INDEX/CALC indexes
* Fixes for D_GETLI and D_GETFL
* Add the following parameter to tipix.conf to have DPS programs that STOP RUN
  retain the DPS screen information & also no give the TIP/ix user prompt
    PARAM DPSPROMPT=NO

2004/05/05 2.4 R0 - 0092
* Fix TIP/dbi II for multi-member sets
* eclexec will better check file names correctness

2004/04/30 2.4 R0 - 0091
* Fix for TIP/dbi II to FETCH VIA USING
* eclexec will now report back to terminal when background job completes

2004/04/25 2.4 R0 - 0090
* Interim build for K&P (HPUX)

2004/03/19 2.4 R0 - 0089
* New TIP/dbi II utilities dbiunload & dbireload

2004/03/10 2.4 R0 - 0088
* Changes to TIP/dbi II for multi-area records and DMS/2200
* Corrections to 'armsort' for 2200 sorting

2004/03/03 2.4 R0 - 0087
* Correction for TIP/dbi & MIRAM emulation for FCS-GETUP with RECORD WAIT defined
* Changes to TIP/dbi II for multi-area records to improve performance

2004/02/24 2.4 R0 - 0086
* Corrections to eclexec for @BRKPT, @ADD
* Corrections to TIP/dbi II for sets where the Owner is in multiple areas
* Correction to TIP/dbi for LOCATION MODE MIRAM

2004/02/12 2.4 R0 - 0085
* Corrections to eclexec for @COPY, @ED,IQ, @CYCLE...,0

2004/02/09 2.4 R0 - 0084
* Correction to DPS screen handling to remember field attributes
* Various corrections to eclexec for handling @START
* Internal corrections for TIP/dbi II

2004/02/05 2.4 R0 - 0083
* Correction for XR3IMS/XR7DMS and MF Server Express Cobol
* Release of tranup/trandown utilities to make a transaction UP or DOWN
* Correction to DPS screen handling for ending cursor postion

2004/01/30 2.4 R0 - 0082
* Change to TIP/dbi II to return status codes matching DMS2200

2004/01/28 2.4 R0 - 0081
* Additional corrections for DPS dynamic field control
* Corrected ECL interpreter to pass Qualifer for dynamic ECL execution

2004/01/22 2.4 R0 - 0080
* Corrections for multiple concurrent accesses to TIP/dbi II schemas

2004/01/14 2.4 R0 - 0079
* Fixed problem with DPS dynamic field protection near end of screen
* Fixed problem with DPS cursor positioning when using dynamic control
* Corrections for the TIP/dbi II code related to Multi-Area records
* tipdtp will not stop if it gets a bad Unix message queue id

2004/01/12 2.4 R0 - 0078
* Fix tipque schedule problem for queues defined for no messages

2003/12/23 2.4 R0 - 0075
* Release of make.ora9.HPUX for Oracle 9 under HPUX 11 for TIP/dbi
  Get this in the full download.

2003/12/19 2.4 R0 - 0074
* Fixed problem with delay in TIPQUEUE Open/Close
* Additional tipix.conf parameters for DPS/2200 programs
  PARAM DPSPROMPT=NO   This will result in no TIP prompt after
                       a DPS program terminates

2003/12/02 2.4 R0 - 0073
* Add code to TIPQUEUE to retry locking the control block an extra time
* Add support for @START to eclexec

2003/11/28 2.4 R0 - 0072
* Fixed some problems in the 2200 API code

2003/11/24 2.4 R0 - 0071
* Developed eclexec to interpret ECL
* Developed dbidmu to handle 2200 DMU commands

2003/10/15 2.4 R0 - 0070
* Recompiled TIP/ix API libraries for LINUX with an option needed by 
  Micro Focus Server Express.
  
2003/10/15 2.4 R0 - 0069
* Improvement on tipdtp fix added in build 0057

2003/09/26 2.4 R0 - 0068
* Due to some incompatibily between the different versions of Micro Focus
  COBOL, the source code for the TIP/ix utilities which are written in 
  COBOL will now be released in source code format and must be compiled 
  by the customer using your own locally installed version of 
  Micro Focus COBOL.  Whenever you get a new version of Micro Focus 
  COBOL, you should also recompile the TIP/ix (COBOL) utilities. 
  The source code for these utilities is only released for some 
  platforms. Also, the source code is only part of the full TIP/ix 
  release file and is not in the update.
  At the moment this is required for the following platforms:
     LINUX HPUX

  After getting the full TIP/ix install file and installing it. Then run a
  script called  'maketipcobol'  to recompile the utilities.
  You may have to make local changes to this script so that it compiles with
  your specific version of the Micro Focus compiler.

2003/09/11 2.4 R0 - 0067
* Fix problem introduced in build 0065 related to MCS formats and use on
  ASYNC terminals. Part of the MCS-DATA was being cleared to spaces in error.

2003/09/08 2.4 R0 - 0066
* Corrected problems related to using Micro Focus Server Express with 
  animation.

2003/07/21 2.4 R0 - 0065
* Fixed problem in tipmon that was causing it to loop 
* New tipix.conf parameter  MCSLONGTIME=YES  will cause MCS to display
  embedded the time field $HHMM as HH:MM:SS providing there is space
  on the screen.
  This requires TIP/fe 2.4 build 3 or later to work. Older version of 
  TIP/fe will function, but not handle the long TIME display.

2003/07/12 2.4 R0 - 0064
* Fixed problem in tipdtp that was causing it to core dump

2003/07/02 2.4 R0 - 0063
* Fixed bug in rollfwd for DAM files. If 2 or more DAM files where rolled 
  forward then the data was being written for all files for the length of 
  the longest file. This problem has been corrected.

2003/06/23 2.4 R0 - 0062
* Changed rollfwd to always read tipix.conf. If -j had been given it was not.

2003/06/12 2.4 R0 - 0061
* Changed TIP/ix build of OpenUNIX8 to Unixware 7.1.3

2003/04/25 2.4 R0 - 0060
* Added code to tipix -m so that it will pass to tipback if there is no
  UNIX TTY assigned

2003/04/03 2.4 R0 - 0059
* Fixed problem in tipdtp if it is given a bad session id from TIP/30

2003/03/25 2.4 R0 - 0058
* Added code to clean up lost tipback processes started for TIPPEER

2003/03/17 2.4 R0 - 0057
* Fixed problem in tipdtp 

2003/03/11 2.4 R0 - 0056
* Fixed problem in tipmon & tipback

2003/02/24 2.4 R0 - 0055
* Fixed problem in tipdtp
* Improved error reported for application abort on Unixware platform
* status r    will now list the file I/Os per transaction

2003/02/17 2.4 R0 - 0054
* Fixed problem with TIP/dbi to improve error handling

2003/01/20 2.4 R0 - 0053
* Removed activation key check for TIP/ic as this is part of the TIP/Studio
  packaging.

2003/01/01 2.4 R0 - 0052
* Fixed a TIP/dbi problem with IF MEMBER of an Optional Manual Index
  if that index was also the primary index
* Fixed TQL problem related to subscripted variables
* TIPPRINT clears PIB-LAST-MCS-NAME when the print destination is
  AUX0, AUX1, or ROLL because the screen is most likely altered.
  However, if TIP/fe or TIP/ws is being used and operating in front
  end mode, the screen is not altered for AUX1, so in this case
  PIB-LAST-MCS-NAME will not be cleared.

2002/12/05 2.4 R0 - 0051
* Periodically remove unprocessed unsolicited message for save area
* More checking on MCS messages that could be too large to handle
* Fixed problem in TQL with SUM command when variable is subscripted

2002/11/15 2.4 R0 - 0050
* Fix problem with setting Unix Group-id for in-bound DTP sessions

2002/11/12 2.4 R0 - 0049
* Added code to User interface to try and detect missing child process
* Fixed problem with tipdtp and TIP/ix introduced in build 0048
* The MFEXEC parameter has an additional option
  PARAM MFEXEC=YES,HOLD     
                        will keep the parent process active. This verifies
                        there is an MF License seat available and is a 
                        bit faster. But, the Micro Focus license manager
                        may end up holding seats longer than you want.

  PARAM MFEXEC=YES,RELEASE     
                        will stop the parent process is no transaction is
                        active. This will free up the MF License seat.
                        RELEASE is the default if only YES is given.
 Note: Using MFEXEC is only helpful for applications that use the TIP/ix TIPSUB

2002/11/07 2.4 R0 - 0048
* Corrected problem with BATFCS on LINUX
* Improved performance of tipdtp on LINUX
* TLIB/COPY will now set the output file ownership to match the TIP/ix
  system admin user/group

2002/10/25 2.4 R0 - 0047
* Fixed bugs in SMS/90 support

2002/10/15 2.4 R0 - 0046
* Added code to IMS API module to try and catch unprocessed input message
  IMS progams would need to be recompiled to get this change.

2002/09/19 2.4 R0 - 0045
* Fix problem with tipbatsv, used with BATFCS. It was leaving an empty
  transaction which should have been cleaned up.

2002/09/18 2.4 R0 - 0044
* Fix problem with TIP/dbi unique to Henrico County POLDMS routine.
* Fixed problems in tipmon and tipdtp that caused occasional abort of TIP.

2002/09/16 2.4 R0 - 0043
* Fixed xfer. It was not computing MCS format length correctly when the
  MCS format included help text.

2002/09/09 2.4 R0 - 0042
* Solve a problem with using the latest version of Micro Focus Cobol
  The latest version of Micro Focus cobol checks each program execution
  against the allowable run-time license. The problem is that in TIP
  if you do a TIPSUB call, that eats another license key. For example,
  if you have a program that does a TIPSUB to another and then that
  program does another TIPSUB, then there have been 3 licenses used for
  just one user. On Micro Focus's advice, Inglenet has developed a special
  method that will allow any given user to run up to 4 TIPSUB nested 
  programs and only consume one license key. 
  This is allowed by the Micro Focus license manager. To activate
  this feature add the following to your tipix.conf file.
    PARAM  MFEXEC=YES

2002/08/27 2.4 R0 - 0041
* Implement feature for TIP/ws to auto assign session and hence terminal name

2002/08/23 2.4 R0 - 0040
* Fixed problem that was causing crash on very busy systems
* Fix problem with connecting to user computers that have digits in their
  computer name

2002/08/22 2.4 R0 - 0039
* fix coding error in build 37 & 38

2002/08/20 2.4 R0 - 0038
* Improve handling of key holding table

2002/08/16 2.4 R0 - 0036
* Improve handling of unsolicited messages

2002/08/12 2.4 R0 - 0035
* The thread manager (tippcstm) will log an error if LD_LIBRARY_PATH is not set
* Fix problem with MCS on UTS style terminal, with field ZZZZ.ZZ when user enters
   -.nn   The '.' was getting overlaid in error by the '-' on output. Now fixed.

2002/07/19 2.4 R0 - 0034
* Fixed problem with TQL adding files with more than 8 keys

2002/07/11 2.4 R0 - 0033
* Add missing modules to the update download file for 0032

2002/07/06 2.4 R0 - 0032
* Add some additional self-checking code to tipfcs

2002/06/27 2.4 R0 - 0030
* Fixed problem with FCS-SCRATCH. Any program using this must be
  recompiled to get new API module otherwise it may abort.

2002/06/24 2.4 R0 - 0029
* Fix error introduced in 0028 related to FCS-ADD to a DAM file

2002/06/17 2.4 R0 - 0028
* Add some additional self-checking code to tipfcs

2002/06/10 2.4 R0 - 0027
* Add some additional self-checking code to tipdtp
* Fix problem with schedule of delivery of unsolicited messages to a terminal

2002/05/31 2.4 R0 - 0026
* Add some additional self-checking code to memory manager

2002/05/28 2.4 R0 - 0025
* Additional tipix.conf parameters for TIP/ws and TIP/fe
  PARAM QUEUEUNSOLTO=(*prefix,*prefix2,...,*prefix8)
                  A list of up to 8 prefixes of terminal names that would 
                  would have unsolicited messages queued for. If an unsol 
                  msg is sent to a terminal name not matching this list, 
                  then it is NOT queued on disk for later processing.
         Example:
                PARAM QUEUEUNSOLTO=(*WM,*WN,*WQ,SPH1,*T91)

  PARAM QUEUEUNSOLKEEP=n   n is minutes to retain unsolicited messages
                       If a message is older then it is discarded
                       Default is to keep as long as possible

2002/05/23 2.4 R0 - 0024
* TIP/dbi will now record I/O counts for DMS usage and status will report it

2002/05/16 2.4 R0 - 0023
* Fix problem with schedule of delivery of unsolicited messages to a terminal

2002/05/07 2.4 R0 - 0022
* tipdtp will no longer restart system when tipmon has aborted unless 
  PARAM RESTART=YES was defined in the tipix.conf file.

2002/04/29 2.4 R0 - 0021
* Fix error in tipmon that could cause core dump when doing Output for Input
  queuing and MONLOG is set to 't' level

2002/04/27 2.4 R0 - 0020
* Active users was computed incorrectly when using Unattended terminal sessions

2002/04/24 2.4 R0 - 0019
* TIPPRINT now supports replacing ${envname} in Pipe command. 
   The name inside the braces is used as the name of an enivonment variable 
  and then the value of the variable is used to replace the ${name}
  For example:
       Method: P         (P - Pipe, F - Create File, Z - Create File & Fork Cmd)

     Print Cmd: (lp -s -d ${PRINTER} $F________________________________________)     
  (Also see new features described under 2001/07/05 2.3 R0 - 0097)

2002/04/23 2.4 R0 - 0018
* Fix coding error that causes users at TIP prompt to timeout and log off
  too quickly for DTP sessions

2002/04/19 2.4 R0 - 0017
* Change tipmon to validate destination terminal name for send unsol msgs to

2002/04/18 2.4 R0 - 0016
* Changes to tipmon to better validate terminal defintions

2002/04/17 2.4 R0 - 0015
* Additional tipix.conf parameter to send email of serious problems
  PARAM ALERT=me@mydomain.com    
     If there is a serious problem, like TIPFCS aborts or DTP aborts, or
     the system is getting low on memory, then an email would be sent to
     the address defined. Of course your Unix system must be able to send email.

* Additional tipix.conf parameter to attempt restart of system if it fails
  PARAM RESTART=YES

2002/04/16 2.4 R0 - 0014
* Changes for tipmon to better handle incorrectly defined terminal defintions

2002/04/14 2.4 R0 - 0013
* Fix some problems with handling of unsolicited output messages
* Fix problem that could sometime cause a hang/stall of DTP session

2002/04/10 2.4 R0 - 0010
* Fix some problems with handling of Output For Input message queueing
  when a transaction was already running

2002/04/09 2.4 R0 - 0009
* Additional subtle corrections for MOVE CURRENCY dbkey
* Extra logging for tipmon of Output For Input message queueing

2002/03/27 2.4 R0 - 0008
* Add support for new terminal types of MDT and OtherHost

2002/03/26 2.4 R0 - 0007
* Additional corrections for MOVE CURRENCY dbkey

2002/03/25 2.4 R0 - 0006
* Enhancements to better handle VCIN interace at Henrico County

2002/03/23 2.4 R0 - 0005
* Fix coding error in tipmon related to IMS API CALL SEND using OMA, "N".

2002/03/21 2.4 R0 - 0004
* Fix TIP/dbi to retain DMCA DBKEY in tact during MOVE xxx STATUS of SET.
* Add some safety checking code to tipmon when handling unsolicited messages

2002/03/14 2.4 R0 - 0003
* The 'install' procedure will not overwrite an transaction code definition
  unless it is a member of the set TIP$Y$

2002/03/11 2.4 R0 - 0002
* Fix problem with using UTS escape codes instead of DICE when transaction
  is defined on a different locap.

2002/03/05 2.4 R0 - 0001
* If running the Linux version, then Micro Focus COBOL version 4.1.40
  is required. Older versions will not work.
* The area used for staging terminal messages will be the larger of what
  is defined by MCSBUFSIZE (default 5120) and (#rows * #cols * 15/6)

2002/02/22 2.4 R0 - 0000
* Change from version 2.3 to 2.4 and reset update files back to near empty
* This version is paired with TIP/fe and TIP/ws versions 2.4 
  You would need to have TIP/ix 2.4 installed before deploying any
  TIP/ws or TIP/fe version 2.4
  The 2.4 versions of TIP/ws & TIP/fe will not work with 2.3 version of TIP/ix
* If running the Linux version, then Micro Focus COBOL version 4.1.40
  is required. Older versions will not work.

2002/02/20 2.3 R0 - 0130
* Fixed problem with FCS when TIP/ix was installed on an automount directory 
  on Solaris
* Fixed problem with handling of unsolicited input messages via DTP

2002/02/12 2.3 R0 - 0129
* When interfacing between TIP/ix and TIP/ws directly (i.e. TIP/cs is NOT used)
  TIP/ix will lookup the computer name sent by the new version of TIP/ws.
  Then via SMTERM, you can define the Computer name to Terminal name mapping.
  If the computer name is supplied by TIP/ws but not defined via smterm then
  TIP/ix will look up the terminal name using the IP address.
  Using the computer name works better when DHCP is being used since the IP
  address is not always the same value.
* You must install this version of TIP/ix (or later) before installing the new
  TIP/ws (or new TIP/fe, build 11 or later).

2002/02/07 2.3 R0 - 0128
* TIP/dbi DBIFH routines had a problem when a DELETE was done during an index
  scan of the same record and the index allowed duplicates. Fixed.
* Fixed problem with tipmcsio which prevented system from starting
* Fixed problem introduced in build 0124

2002/02/05 2.3 R0 - 0126
* Fix problem with SDMPS and negative numeric values
* Fix problem with support for "virtual terminal" type

2002/01/31 2.3 R0 - 0125
* Fixed problem with install/update procedure

2002/01/30 2.3 R0 - 0124
* Additional tipix.conf parameters for TIP/ws and TIP/fe
  PARAM MCSBUFSIZE=n   n is the size of the MCS staging buffer
                       this defines the maximum MCS Area.
                       Default is 5120
  PARAM QUEUEUNSOL=NO  Declares that message being sent unsolicited to a
                       terminal which is not connected should be discarded.
                       This is the default behavior.
  PARAM QUEUEUNSOL=YES Declares that message being sent unsolicited to a
                       terminal which is not connected should be queued
                       on disk until the terminal connects.
                       When TIP/ix starts all previously queued message
                       will be discarded.
  PARAM QUEUEUNSOL=/directory/tosave
                       Declares that message being sent unsolicited to a
                       terminal which is not connected should be queued
                       on disk in the named directory until the terminal connects.
                       When TIP/ix starts all previously queued message
                       found in this directory will be retained as queued.

* Fixed problem with TIP/dbi & MIRAM emulation reading through an index with
  many key field parts

2002/01/21 2.3 R0 - 0123
* smprint now allows a printer directory to start with $envname/ where
  The envname will be replaced by the value of the environment variable
  For printers, the user's local environment is searched.
* Fix problem with TIP/dbi and SETL-GE (or SETL). This backs out some code
  added in 1999 which looks to be incorrect.

2002/01/14 2.3 R0 - 0122
* Improve processing of unsolicited input message to a DTP session
* Implement T-FREE/T-CONTROL functions for TIPTERM
* Fix TQL problem with DECIMAL-POINT IS COMMA

2002/01/02 2.3 R0 - 0121
* New option in SMTERM to suppress displaying the welcome message 
  Welcome message (Y/N) ..... _
          N indicates to not display a welcome message at login
          V indicates this is a 'Virtual terminal' (i.e. another computer)

2001/12/14 2.3 R0 - 0120
* Fix problem with erroneous setting of output message due in tipixtcp/tipixcs

2001/11/30 2.3 R0 - 0119
* Fix possible system hang related to DTP sessions aborting

2001/11/29 2.3 R0 - 0118
* Fix TIP/dbi error in handling double word binary data.
  (This error was introduced in Dec 1999.)
* tipctl kill -y
    Will kill all active users without asking for confirmation.

2001/11/28 2.3 R0 - 0117
* New utility 'tiptrmix' which can be used to export/import a text file
  of terminal names. A matching utility (term2ix) is available for running 
  on Windows to extract the terminal name & computer name data 
  that TIP/cs uses.
* When interfacing between TIP/ix and TIP/ws directly (i.e. TIP/cs is NOT used)
  TIP/ix will lookup the computer name sent by the new version of TIP/ws.
  Then via SMTERM, you can define the Computer name to Terminal name mapping.
  If the computer name is supplied by TIP/ws but not defined via smterm then
  TIP/ix will look up the terminal name using the IP address.
  Using the computer name works better when DHCP is being used since the IP
  address is not always the same value.
* You must install this version of TIP/ix (or later) before installing the new
  TIP/ws (or new TIP/fe).
  You would then install a version of TIP/ws dated newer than Nov 28, 2001.
* Additional tipix.conf parameters for TIP/ws and TIP/fe
  PARAM TIMEIDLE=n     n is minutes of idle time before sending a ping
                       message to TIP/ws or TIP/fe.
                       default is never send a ping
  TIMEIDLE may be helpful if you have users to dial in and may be idle for
  sometime and you want to make sure the dial-up connection is kept alive.

2001/11/21 2.3 R0 - 0116
* Fixed problem with SDMPS interface
* Fixed problem with TIP/dbi, schema, generating code & compile on Solaris 2.8

2001/11/16 2.3 R0 - 0115
* Fix problem with TFD editing SDMPS screen
* Fixed coding error in tipixtcp that could have caused a hang

2001/11/14 2.3 R0 - 0114
* status and whoson will now check that TIP/ix processes are active
  If Unix had been rebooted without shuting TIP down, then status & whoson
  acted like the system was still running
* Fix problem with DBIFH and OPEN INPUT/ READ NEXT sequence.

2001/10/30 2.3 R0 - 0113
* Fixed error in logic added to tipmon to scan message queues for orphans.

2001/10/25 2.3 R0 - 0112
* Fixed error in logic added to tipmon to scan message queues for orphans.

2001/10/23 2.3 R0 - 0111
* Fixed error with TIP/dbi and the TIP/ix thread manager when server processes
  have been idle for some time. The problem is more likely to happen with
  a low value for MAXIMUM IDLE (or using the default). 

2001/10/18 2.3 R0 - 0110
* Improve recovery from an aborted TIP/dbi server process
* Additional tipix.conf parameters for TIP/Internet Connector
  PARAM JRNSYS=YES    Causes updates to the TIP$SYS control file to be 
                      journaled. Normally they are not.
* New options for the readjrn utility to list just a certain File or User.
    -F name : List only for this TIP file
    -U name : List only for this TIP user

2001/10/15 2.3 R0 - 0109
* Fix problem with DBIFH and REWRITE verb.
* Enhance tipmon to check for lost inbound DTP sessions

2001/10/12 2.3 R0 - 0108
* Fixed problem with armdata related to REDEFINES and Packed fields
* Added code to better handle a missing user record for BACK$001
* TIP/dbi new options in the Schema after the SCHEMA NAME clause
                   to get column names shorter.

  TRIM NAMES-      This will remove common prefixes and suffixes from the 
                   COBOL field names and 
                   translate embedded dashes to underscores.

  TRIM NAMES       This will remove common prefixes and suffixes from the 
                   COBOL field names as well as remove embedded dashes.

  NLSLANG "code"   To define a value to override/define NLS_LANG env variable
                   For performance it is important that the database and
                   Oracle client applications like TIP/dbi use the same
                   national language set.
                   For example: NLSLANG "AMERICAN_AMERICA.WE8ISO8859P1".

2001/10/05 2.3 R0 - 0107
* New logic added to tipmon to scan messages queues for orphaned messages
  and remove them. This could happen if some user applications abort or are
  killed.
* Fix problem with TIP/dbi related to TQL usage. When pressing F2/F3 to page
  through records it could get the wrong record on F3.

2001/10/03 2.3 R0 - 0106
* If smuser is invoked via command line to delete a user and you are a 
  Master level user and the command was DEL then you are not prompted to 
  confirm the removal of the user-id. For example:
    smuser del foobar
* Fixed problem in tipdtp that could crash the system if a user interface 
  process could not be started. 
  Ensure that you Unix kernal has enough space for message queues, 
  semaphores, etc. to avoid this problem.

2001/09/24 2.3 R0 - 0105
* Fixed bug in DBIFH module related to DBIFH-SELECT function

2001/09/21 2.3 R0 - 0104
* Enhancements to TIP/dbi file handler for Micro Focus Cobol (DBIFH)
  This provides for much easier implementation of TIP/dbi emulating
  ISAM files. Please contact Inglenet for detailed documentation.
  Now in addition to doing your own record selection, you can COPY one 
  table into another for backup purposes during batch processing.
* TIP/dbi new options in the Schema after the SCHEMA NAME clause
  NULL DATE ZERO   Indicates that NULL DATE columns should be returned
                   to the application as a value of ZERO.
                   (The default would be LOW-VALUES)
  PARALLEL         Causes TIP/dbi to do ALTER SESSION PARALLEL 
                   You would need to be running Oracle Parallel Server.

2001/09/12 2.3 R0 - 0103
* Fixed problem with SDMPS interface
* Release of fix for TIP/dbi and indexed records with multi-part keys to
  improve performance by keeping SELECT WHERE very simple for Oracle.

2001/09/10 2.3 R0 - 0102
* Release of TIP/dbi file handler for Micro Focus Cobol (DBIFH)
  This provides for much easier implementation of TIP/dbi emulating
  ISAM files. Please contact Inglenet for detailed documentation.

2001/08/30 2.3 R0 - 0101
* TIP/dbi new options in the Schema after the SCHEMA NAME clause
  DATE "format"    To define the Oracle style date format.
                   For example: DATE "YYYYMMDD".
  GUESS DATE "format"   To define the Oracle style date format.
                   and also attempt to guess what are date fields.
                   Following the "format" you may list some strings that 
                   are patterns used in date field names.
  NOT DATE "pattern"  You may list patterns which are NOT date fields.
        For example:
        GUESS DATE "YYYYMMDD" "-DT-", "-DATE-".
          NOT DATE "-DT-DEB-FACT-INV",
                   "-DT-PRELEV-INV",
                   "-DT-LANCE".              
  ALLOW CRLF       Tells TIP/dbi to retain in PIC X fields the ASCII
                   print/carriage control codes TAB, BS, CR, LF, FF.
                   Normally these would be translated to a space and
                   an error message logged.
  SPACEOUT CRLF    Tells TIP/dbi to change to a SPACE in PIC X fields the 
                   ASCII print/carriage control codes TAB, BS, CR, LF, FF.
                   (Nothing is logged)

* A new TIP API function to allow an application to change to a new user.
  When the call is done and verified, the user name, groups and all security
  is reset to that of the new user name. A COPY book called TC-USRST is
  provided for the new CALL "TIPUSRST" function.
      *   
      *  Format:   CALL 'TIPUSRST'  USING USRST-PKT. 
      * 

           05  USRST-PKT.
               10  USR-NAME            PICTURE X(8).
               10  USR-PASSWORD        PICTURE X(8).


2001/08/17 2.3 R0 - 0100
* TIP/ix version for Caldera Open UNIX 8 is built
  OpenUNIX 8 is the follow on release from UnixWare 7.1
  OpenUNIX 8 seems to run UnixWare 7 binaries with no problem.
  However, Micro Focus COBOL is not yet officially supported on UNIX 8.

* Changed build of TIP/ix for Linux from Caldera to Red Hat
  This was tested with Merant Cobol v4.1.30
  This seems to run fine on RedHat Linux 7.0.
  This seems to run fine on Suse Linux 7.1.
  This seems to run fine on Caldera OpenLinux eServer Version 2.3 

2001/08/14 2.3 R0 - 0099
* Improve handling of TIP/dbi when Oracle was not started

2001/07/25 2.3 R0 - 0098
* Changes to TIP/dbi to work with Oracle 8 on LINUX
* Log more information in $TIPROOT/log/tipdtp when an unknown computer
  attempts to connect to TIP/ix.

2001/07/05 2.3 R0 - 0097
* TIPPRINT now supports Unix mail as a destination
  TC-PRINT copy book has a new field PRINT-FULL-DESTINATION. 
  If PRINT-FULL-FILE-INFO has a value of "T", then PRINT-FULL-DESTINATION
  is present. When composing the 'Print Cmd' in SMPRINT there are 2 new
  parameters: $S is replaced by PRINT-SUBJECT
              $T is replaced by PRINT-FULL-DESTINATION
  To define a printer which is really going to send email, fill in
  PRINT-FULL-DESTINATION with the email address and define the printer like.

        Method: P         (P - Pipe, F - Create File, Z - Create File & Fork Cmd)

     Print Cmd: (mailx -s "$S" $T________________________________________________)

  Then in your application program do something like the following:

        MOVE "T"                TO PRINT-FULL-FILE-INFO
        MOVE "N"                TO PRINT-TITLE
        MOVE SPACES             TO PRINT-SUBJECT
        STRING "Hello " DELIMITED BY SIZE
               PIB-UID DELIMITED BY SPACE
               INTO PRINT-SUBJECT
        MOVE SPACES             TO PRINT-FULL-DESTINATION
        STRING   PIB-UID DELIMITED BY SPACE
         "@inglenet.com" DELIMITED BY SIZE
               INTO PRINT-FULL-DESTINATION         

2001/07/03 2.3 R0 - 0096
* Add code to TIPQUEUE to better handle large messages

2001/06/20 2.3 R0 - 0095
* Removed incorrect error message from tipfcs server

2001/05/25 2.3 R0 - 0094
* TIP/dbi new option in the Schema after the SCHEMA NAME clause
  DATE "format"    To define the Oracle style date format.
                   For example: DATE "YYYYMMDD".
  GUESS DATE "format"   To define the Oracle style date format.
                   and also attempt to guess what are date fields.

2001/05/09 2.3 R0 - 0093
* whoson -i   will now list the file I/Os per terminal
* The Journal LGOF record will now hold the file I/Os for the terminal

2001/04/18 2.3 R0 - 0092
* New TIPFCS function for files handled by TIP/dbi MIRAM emulation
  FCS-SELECT allows you to supply your own WHERE and ORDER BY clauses.
           05  INVEN-SEL.
               10  SEL-LEN                     PICTURE 9(4) BINARY.
               10  FILLER                      PICTURE XX.
               10  SEL-TEXT                    PICTURE X(64).

           05  INVEN-ORD.
               10  ORD-LEN                     PICTURE 9(4) BINARY.
               10  FILLER                      PICTURE XX.
               10  ORD-TEXT                    PICTURE X(64).
               ...
               MOVE "QTY > 20"              TO  SEL-TEXT
               MOVE 13                      TO  SEL-LEN
               MOVE "PART_NUM,QTY"          TO  ORD-TEXT
               MOVE 16                      TO  ORD-LEN
               CALL "TIPFCS"             USING  FCS-SELECT
                                                INVEN-PACKET
                                                INVEN-SEL
                                                INVEN-ORD
               CALL "TIPFCS"             USING  FCS-GET
                                                INVEN-PACKET
                                                INVEN-RECORD
   The file access is treated like an FCS-SETL, except that the positioning
   is lost on any transaction end point, so you cannot keep it active
   across terminal I/O.
   You may optionally omit the 4th parameter of FCS-SELECT.
   The length of the text areas may from 4 to 1024.

2001/04/05 2.3 R0 - 0091
* Performance improvements to TIPFCS I/O making it 25% to 50% faster

2001/03/28 2.3 R0 - 0090
* Fixed coding error related to TIP/dbi MIRAM emulation and FCS-ESETL
* Fix coding error in armecl that was causing it to core dump

2001/03/23 2.3 R0 - 0089
* Ported TIP/ix to Caldera OpenLinux eServer Version 2.3 
  This was tested with Merant Cobol v4.1.30
  This seems to also run on RedHat Linux 7.0.
  This seems to also run on Suse Linux 7.1.

2001/03/06 2.3 R0 - 0088
* Fix problem with TIP/dbi MIRAM emulation and FCS-SEQ-PREV
* Fixed problem in creating default WEBTIPUSER record for smuser.

2001/02/05 2.3 R0 - 0087
* Fix problem in tipdtp related to missing input notification on Unisys Unix
* TIPFCS will log to the history file whenever a UserId record is added or deleted

2001/01/22 2.3 R0 - 0086
* If using TIP/dbi for MIRAM emulation and you define BAD-DATA,
  for example BAD-DATA IS "0099" and at run-time your application presents
  a record with invalid data, then the status code will be set to PIB-IO-ERROR.
* Fix coding error in tipdtp related to session connects being rejected

2001/01/03 2.3 R0 - 0085
* Fixed TQL compile problem when using DMS
* Fixed problem in TFD with field combination of Z/2222

2000/12/15 2.3 R0 - 0084
* Enhancements to tipdtp to avoid problems with the PepGate machine
* Change to DDU to better handle characters between 0x80 and 0xFF.

2000/12/04 2.3 R0 - 0083
* Fixed error in tipmon that could result in tipmon aborting. The problem
  is related to users closing their terminal session while still in an
  active TIP/ix transaction.

2000/11/29 2.3 R0 - 0082
* Fix problem with BATFCS, when the application stops immediately after
  a BATCOMMIT. This could crash the system. This problem is now fixed.
* Fixed cpu loop in TIP/ix user interface when user closed terminal
  while still in TIP/ix.

2000/11/28 2.3 R0 - 0081
* Fix some coding errors in patch 0080
* Improved recognition of killed user interface for TTY ASYNC and TIP/fe

2000/11/23 2.3 R0 - 0080
* Improved recognition of killed user interface for TTY ASYNC and TIP/fe

2000/11/21 2.3 R0 - 0079
* Fix possible tipmon hang situation
* TIP/dbi new option in the Schema after the SCHEMA NAME clause
  TRIM NAMES       to get column names shorter. This will remove common
                   prefixes and suffixes from the COBOL field names.
* new option for the 'fopen' utility to change file definition
  from unix shell:  fopen -d filename schema     : Sets file to be RDBMS
                 :  fopen -x filename            : Sets file to be ISAM
   from tip shell:  fopen,dbi filename schema    : Sets file to be RDBMS
                 :  fopen,isam filename          : Sets file to be ISAM
* Fixed an error in the TIP/dbi schema compiler for handling data fields like
          A  REDEFINES B PIC X OCCURS n.
  If you want it to work the old way add IGNORE-0079 after schema name clause.


2000/11/15 2.3 R0 - 0078
* Fixed memory leak problem in tipdtp when locaps are incorrectly defined

2000/11/09 2.3 R0 - 0077
* Fixed coding error. If DTPHEARTBEAT was not defined tipdtp may go into a loop
* Fixed TQL compile problem when using DMS

2000/11/07 2.3 R0 - 0076
* If tipdtp detects that tipmon is not present, then it will shutdown
  and restart the entire TIP/ix system

2000/11/01 2.3 R0 - 0075
* Additional tipix.conf parameters for TIP/Internet Connector
  PARAM WEBSESSIONS=n    n is maximum web sessions allowed to be active
                         Is limited by the maximum users in the TIP/ix license
  PARAM WEBALTER=(bgn,end,num,bgn,end,num) where bgn & end specify time of day in 
                         hh:mm format. If only two digits are given, they are 
                         assumed to specify the hh value and the mm value will
                         be zero. For example 08 is 8:00AM, 17 is 5:00PM, etc.. 
                         If the current time of day is between bgn & end, 
                         then WEBSESSIONS is altered to be n.
                         You may supply 1 or 2 sets of alternate values.
  PARAM WEBTIMEOUT=n     n is minutes of idle time before timeout 
                         default is 120 minutes
  PARAM WEBUNIXUSER=usr  Unix User-id to be assigned to web users
                         default is 'nobody'
  PARAM WEBTIPUSER=usr   TIP/ix User-id to be assigned to web users
                         default is 'WEBDFLT'
  PARAM WEBPREFIX=x      1 or 2 letters used to prefix a unique terminal name
                         default is 'W'
* fixed problem with FSE and line number registers

2000/10/17 2.3 R0 - 0074
* Changes to support the Merant Server Express COBOL compiler
* Fix problems with tipdtp connecting to TIP/30 locaps

2000/10/15 2.3 R0 - 0073
* In conf/tipix.conf you may now place PARAM DTP30HEARTBEAT=YES.
  This is used in combination with DTPHEARTBEAT and sends a period 
  message to TIP/30 locaps to verify they are still active.
  (If unspecified the default is DTP30HEARTBEAT=NO)

2000/10/11 2.3 R0 - 0072
* Fix several problems with tipdtp connecting to TIP/30 locaps when the
  TIP/30 system is taken down and back up.

2000/09/30 2.3 R0 - 0071
* Fix problem related to TIPPEER not being given the same TIP user-id as the
  remote system opening the TIPPEER session
* Fix problem with tipmon, leaving transaction programs as orphan processes.

2000/09/28 2.3 R0 - 0070
* TLIB changed to not pass back any of the CDA when it is called by a user
  transaction.

2000/09/20 2.3 R0 - 0069
* TIP/dbi additional correction for handling of OPTIONAL MANUAL INDEXES
  which are ASCENDING DUPS FIRST or DESCENDING DUPS LAST.

2000/09/18 2.3 R0 - 0068
* Additional tipix.conf parameters for TIP/Internet Connector
  PARAM WEBTIMEOUT=n     n is minutes of idle time before killing session
                         default is 120 minutes
  PARAM WEBUNIXUSER=usr  Unix User-id to be assigned to web users
                         default is 'nobody'
  PARAM WEBTIPUSER=usr   TIP/ix User-id to be assigned to web users
                         default is 'WEBDFLT'
  PARAM WEBPERFIX=x      1 or 2 letters used to prefix a unique terminal name
                         default is 'W'
* Whoson will note a web user as  term@locap  in the display

2000/09/12 2.3 R0 - 0067
* Additional changes for TIP/ix to TIP/30 DTP

2000/09/06 2.3 R0 - 0066
* A change has been made to the TIP/ix <--> TIP/30 DTP protocol to avoid a
  problem with large messages being sent through PepGate.
  tipix.conf has a new parameter.
  PARAM DTP30MAX=3584    to define the largest message to pass in one step.
                         If a message is larger than this it will be sent
                         in segments. The default is 3584 which should be
                         adequate in most cases.
  For this to work, you also need TIP/30 version 6.2 patch 0043.
* Corrections to TQL when a Display holds the same number of records
  as are in the data file. Also, a fix for TQL/DMS & FIND NEXT DUPLICATE.
* A new tipix.conf parameter to save the logs files.
  PARAM SAVELOGS=directory   Defines where the log files will get saved into a
                             compressed tar file.
                             (Do NOT make a save directory which is a 
                             sub-directory of $TIPROOT/log.)
                             The log files get saved each time TIP/ix starts up.

2000/08/28 2.3 R0 - 0065
* Improved error reporting for TIP/ix DTP PEER sessions in log/tipdtp file
* tipctl ping   : Will cause the tipix.conf file to be reprocessed while the
                : the system is still running. This allows you to change many
                : options in the running TIP/ix system.

2000/08/25 2.3 R0 - 0064
* Fix potential problem with TIPDTP and socket I/O.
* Display greeting to TIP/cs users including if New Mail is available
* The DG version of TIP/ix for Intel has been upgraded to DGUX R4.20MU06
  and also to use Merant COBOL version 4.1. If you install this version
  of TIP/ix or later on DG Intel, you must do the same upgrade as well.

2000/08/18 2.3 R0 - 0063
* Fix a problem with TQL (tqlrun) related to NEXT RECORD when the end user
  also does "report FROM key". Then TQL could stop reading records too soon.

2000/08/14 2.3 R0 - 0062
* Fix problem setting bad status in TIPPEER when connection broke

2000/08/10 2.3 R0 - 0061
* Fix problems with TIP/dbi MIRAM emulation and FCS-SEQ-NEXT/FCS-SEQ-PREV
* Fix Y2K issue with SM utilities reporting and limited by date changed
* Change company name from Allinson-Ross to Inglenet Business Solutions.

2000/07/28 2.3 R0 - 0060
* SMLOCAP may now declare locaps of type 
  TIP/ic  for TIP/Internet Connector 

2000/07/14 2.3 R0 - 0058
* TIP/dbi new Options in the Schema to define time to wait for locking a record.
  WAIT  GETUP 1.5      To wait a maximum of 1.5 seconds (default 1.5)
                       (A value of 0 indicates to wait forever using Oracle
                        SELECT FOR UPDATE.)
  RETRY GETUP 0.25     Retry the record lock at 0.25 second intervals (dflt 0.1)
* The whoson utility will now display a '?' in front of the terminal name
  if that terminal has had no activity during the past fifteen minutes.

2000/07/07 2.3 R0 - 0057
* Attempt to fix a problem with TIP/dbi MIRAM emulation and FCS-SEQ-NEXT when 
  a key is changed during the middle of sequential reading.

2000/06/19 2.3 R0 - 0056
* Fix a problem with FCS-PREV with a key greater than all keys in the file 
  and when also changing indexes. This would result in a PIB-NOT-FOUND 
  status by mistake.

2000/06/15 2.3 R0 - 0055
* TIP/dbi new Options in the Schema.
  ALLOW ANYCHARDATA    To accept any hex value for PIC X fields.
                       Normally DBI validates the data based on
                       the local language setting. (see LANG env var)
* The TIP/ix PIB has new field PIB-IN-LOCAP to hold the inbound TIP locap
  name that the user connected in from. If this is SPACES then the session
  originated locally.

2000/06/13 2.3 R0 - 0054
* Enhanced the DBI feature that emulates MIRAM/ISAM for batch COBOL
  to support READ PREVIOUS and also a small performance improvement.

2000/06/05 2.3 R0 - 0053
* Enhanced DBI to use DMCA RECORD WAIT time to wait a shorter time when 
  locking records

2000/06/01 2.3 R0 - 0052
* Fix problem with concurrent update of same record by TQL using DMS
* Fix problem with TIPPRINT handling of characters with a value > 128

2000/05/26 2.3 R0 - 0051
* Fix problem with tippcstm (used for DBI and serial transactions) that
  could result on applications getting a PIB-GOOD status when in fact
  there was an error condition.

2000/05/25 2.3 R0 - 0050
* Fixed scheduling error with TIP/dbi and the TIP/ix thread manager
* Fix a problem caused by two TIPMSGO with function of 'M' in a row

2000/05/15 2.3 R0 - 0049
* When DBI set ROLLBACK Code, also force rollback of FCS

2000/04/24 2.3 R0 - 0048
* Fix small problems in status, emptyq, tipdtp & tippcstm

2000/04/26 2.3 R0 - 0047
* Compile TIP/ix for Unixware 7.1
* TIP/dbi, when OPEN AREA UPDATE issue LOCK TABLE for <schema>_NEXT_UNQ as well

2000/04/17 2.3 R0 - 0046
* Inbound TIPDTP sessions did not retrieve help text correctly.
* MENU and MENUDEF now support a program type of U to force the
  CDA-TEXT area to uppercase.

2000/04/17 2.3 R0 - 0045
* When a second DTP hope was involved sessions would hang after the
  first input message. This was caused by the session hang fix in
  builds 0043 and 0044. Input message relaying is now fixed.

2000/04/13 2.3 R0 - 0044
* TIP/ix DTP and MCS now handle unsolicited input received when processing
  TIPLIST requests. This was causing sessions to hang (and eat the CPU).
* TIP/ix DTP will now handle older TIP/cs versions too. This allows us
  to upgrade TIP/ix first, then each TIP/cs in turn.

2000/04/07 2.3 R0 - 0043
* A fix was made to TIP/ix DTP so that DTP & TIP/cs connected sessions
  do not hang occasionally due to a race condition.
* TIPH2P trailing space suppression fixed.
* Ctrl-\ (the "menu" key) now works for DTP and TIP/cs connected sessions.

2000/03/30 2.3 R0 - 0042
* TIPPRINT FLUSH fixed for AUX0 so that text is immediately flushed to
  the terminal.
* PURGE & DIE (WHOSON) fixed to flush AUX0 when prompting for user input.
* TIPDTP fixed so that MCS format request processing occurs on a private
  shared memory segment preventing message corruption.
* COPY (TIPLIB) CDA processing fixed for DOS filenames.

2000/03/17 2.3 R0 - 0041
* ROLL fixed to allow embedded SOE, ESC and TAB characters in text
* TIPPRINT fixed so that AUX1 does not inherit printer type from previous
  call to TIPPRINT.

2000/03/13 2.3 R0 - 0040
* New tipix.conf parameter  MCSNEGZERO=YES  will cause MCS to display
  the negative edit sign for numeric edited field that hold a value of negative 
  ZERO.  In March 1998, MCS was changed to not display negative zero, this 
  option allows you to revert back to the old style handling of this condition.
  This option also needs a new version of TIP/fe (2.3.5).

2000/03/09 2.3 R0 - 0039
* Fix UTS input message editing for inbound DTP and TIP/cs sessions.
* Fix input message processing for inbound DTP and TIP/cs sessions
  when any combination of TIPMENU, TIPTITLE and TIPMSGOV are used.
* User Startup Program (TCP) support has been added for TIP/cs sessions
* .tipixrc files are now processed for TIP/cs sessions.

2000/02/28 2.3 R0 - 0038
* Attempt to fix problem with being unable to Break a TQL printout
* Record locks where dropped when doing Auto XMIT over DTP connection, fixed

2000/02/22 2.3 R0 - 0037
* Attempt to fix unwanted "Transaction completed" msg from DTP relay
* Improve FCS trace logging
* small FCS performance improvement

2000/02/10 2.3 R0 - 0036
* fix problem in TFD with field combination of Z/2222
* TIPFORK will now issue Transaction End Point processing
* Fix problem in TIPFCS with the FCS-NOUP function that could take TIP/ix down

2000/01/26 2.3 R0 - 0035
* Fix error in computing response time
* Fix TIP/dbi problem with MIRAM emulation and sequence of
  SETL/GET/GETUP/DELETE/GET

2000/01/02 2.3 R0 - 0034
* Fresh build for the new century

1999/12/09 2.3 R0 - 0033
* Fixed problem related to IMS output for input queueing and IMSFORKW=YES

1999/11/16 2.3 R0 - 0032
* TIP/dbi IGNORE DUPS-BUG is no longer supported!
  (Actally this option has not worked well for some time now.)
  If you are upgrading from a release prior to 2.2 - 0110 you should follow
  the upgrade instructions and not avoid them. Or if you had been using
  IGNORE DUPS-BUG, please follow the instructions now and upgrade your 
  data base.

1999/11/11 2.3 R0 - 0031
* In conf/tipix.conf you may now place DTPHEARTBEAT=n where n is the number
  of minutes to go without hearing from another TIP/ix locap before
  sending a message to check if it is still there. The default is to never
  check. The value is given as a number of minutes.
  PARAM DTPHEARTBEAT=30
  Note: All other TIP/ix system must be upgraded to this patch level 
        before using this feature.
* More TQL/DMS fixes for DBI and TQL

1999/11/08 2.3 R0 - 0030
* More TQL/DMS fixes for DBI and TQL
* Small enhancements to WMI and WHOSON
* 'precob' will now add the size of the records in the sub-schema into the
  calculation of the correct LINKAGE SECTION item for the -u and -U commands.

1999/11/05 2.3 R0 - 0029
* TIP/dbi correction for FETCH VIA SET USING.
* FCLOSE will now double check the user count
* TIPPRINT to AUX1 will now clear PIB-LAST-MCS-NAME

1999/11/01 2.3 R0 - 0028
* In conf/tipix.conf you may now place BACKNNN=Y to have background processes
  given the USER-ID names of BACK$001, BACK$002, etc
  PARAM BACKNNN=YES
  The default is that the background process gets the same User-id as the
  process which did the TIPFORK.

1999/10/28 2.3 R0 - 0027
* Fix TIP/dbi problem with IGNORE DUPS-BUG option

1999/10/25 2.3 R0 - 0026
* TIP/dbi correction for FETCH VIA INDEX LAST EQ 

1999/10/21 2.3 R0 - 0025
* Fix armsort when input file is empty
* Fix for interface with TIP/cs

1999/10/19 2.3 R0 - 0024
* DBI/DMS fix to simulate re-open of areas after a BIND.

1999/10/05 2.3 R0 - 0023
* More TQL/DMS fixes for DBI and TQL

1999/09/28 2.3 R0 - 0022
* More TQL fixes

1999/09/14 2.3 R0 - 0021
* More TQL/DMS fixes for DBI and TQL
* fix problem with TIPFCS debug logging 

1999/09/02 2.3 R0 - 0020
* Fix minor Y2K issue with unsolciited TIPMSGO function.
* More TQL/DMS fixes for DBI and TQL
* Fix problem with TIP/cs interface to TIP/ix
* Fix problem with BATQUEUE

1999/08/28 2.3 R0 - 0019
* Fix TIP DTP to close down inbound session quicker.

1999/08/23 2.3 R0 - 0018
* FCS now defaults to lock edit buffers unless FDES-LOCK is "N"
* FSE ,,,Group,Buffer   will startup with the named edit buffer (contents).
* Correction for MAIL and sending mail from a transaction when invalid
  User-id names are given.
* fix problem with TIPFCS debug logging of Library I/O 

1999/08/17 2.3 R0 - 0017
* fix for TFD to change field Z.Z2 into Z.22
* fix problem with TIPFCS debug logging of Edit buffer I/O
* DBI was not handling PIC S9 fields correctly and reported it as bad data.
* Corrections for TQL run-time related to TQL and DMS.
* change TIPPRINT to allow Title page to be printed on AUX1

1999/08/04 2.3 R0 - 0016
* Correction for unattended terminals

1999/07/23 2.3 R0 - 0015
* Correction for TQL run-time related to TQL and DMS.
* Fixed problem with 'sorter' mixing up HELP with a group starting with H.
* Enhancements to armjcl.rc

1999/07/15 2.3 R0 - 0014
* TIP/dbi additional correction for handling of FETCH CURRENT OF SET USING.
* Correction to better detect broken TCP/IP connections

1999/06/29 2.3 R0 - 0013
* TIP/dbi additional correction for handling of OPTIONAL MANUAL INDEXES.
* Correction for TQL run-time related to TQL and DMS.

1999/06/24 2.3 R0 - 0012
* FSE,R starts up in Read Only mode

1999/06/15 2.3 R0 - 0011
* FSE will now avoid passing back junk in the CDA to an application that called it.
* FSE,K wil not scratch or close the edit buffer when it exits.
* Problem with ARMSORT related to NT fixed.
* TIP/dbi additional correction for handling of OPTIONAL MANUAL INDEXES.

1999/06/01 2.3 R0 - 0010
* Fixed armsort problems when sorting in memory
* TIP/dbi additional correction for handling of OPTIONAL MANUAL INDEXES.
* When starting TIP/ix:  tipctl boot TIPDATE=CCYYMMDDJJJ can be used to
  set a different value in the PIB date. eg. tipctl boot TIPDATE=20000112012

1999/05/27 2.3 R0 - 0009
* Fixed data alignment problem on ALPHA DEC-UNIX.
* IMS programs in external succession are cancelled after the TIMEOUT value.
  TIP/ix had been waiting for the TIMEOFF value.
* ARMDATA problem related to OCCURS within OCCURS is fixed.
* TIP/dbi additional correction for handling of OPTIONAL MANUAL INDEXES.

1999/05/18 2.3 R0 - 0008
* TIP/ix For 2000, PIB-DATE had the year portion being set to 100 instead of 00 
  for the COMP-3 field, if PIB-DATE which is PIC 9(6) COMP-3 was moved to a
  PIC 9(7) COMP-3 you would get the incorrect value. This has been fixed.
* MENU was not displaying the menu item help information and this is fixed.
* Corrected some problems with ARMCOB

1999/05/14 2.3 R0 - 0007
* TIP/dbi speed up processing of FIND CURRENT OF SET USING field

1999/05/13 2.3 R0 - 0006
* TIP/dbi additional correction for handling of OPTIONAL MANUAL INDEXES.

1999/05/06 2.3 R0 - 0005
* TIP/dbi, corrected an error related to changing the value of the key field
  of an OPTIONAL MANUAL index that the record was NOT a member of.
* TIP/dbi change in the way it handles OPTIONAL MANUAL INDEXES
  The original code constructed a SELECT using a "nested loops join" technique
  however this resulted in Oracle making very bad decisions about how to 
  process the SELECT and the end result was very bad performance.
  The new method issues a SELECT to the table for the optional manual index
  and then for each row returned it issues a second SELECT to the primary
  table. Essentially TIP/dbi does the "join" operation by itself. The issuing 
  of multiple, simpler SELECTs results in much better overall performance.

  If you really want it to work the old way you add a directive as follows
  in the Schema immediately after the SCHEMA NAME clause.
  USE JOIN        To use the original JOIN method which is slower.
                  The default is to use the new faster method.

1999/04/26 2.3 R0 - 0004
* TIP/dbi, corrected an error related to OPTIONAL MANUAL IS NULL.
* TIP/dbi, corrected schema setting a field to RAW by mistake.
* Fixed a problem with IMS programs doing CALL SEND to PRINT on another terminal

1999/04/23 2.3 R0 - 0003
* TIP/dbi emulating MIRAM/ISAM files in batch had some problems which have been
  fixed.
* Fixed TIP/dbi problem with a key change in an optional manual index
* Fixed problem with "curses" interface for Async terminals on AIX
* Corrections to ARMSORT and ARMRPG

1999/04/08 2.3 R0 - 0002
* TIP/dbi emulating MIRAM/ISAM files with Oracle 8 had a problem interpreting 
  the Oracle 8 ROWID. This has been corrected.
* TIPMSGO with Data Only and the Count less that MCSSIZE was not clearing
  the fields to the filler character. This has been corrected.
  You will also need TIP/fe build 301 or better.

1999/04/06 2.3 R0 - 0001
* Corrections to ARMMNU, ARMSORT and ARMCAT for both UNIX and NT

1999/03/31 2.3 R0 - 0000
* TIP/ix version advanced to 2.3. This will be the new base for doing updates.

1999/03/22 2.2 R0 - 0144
* Fixed a problem with TIP/dbi doing MIRAM emulation on HPUX
* Fixed a nasty race condition between the TIP/ix user interface, thread manager
  and TIP/dbi when using reusable transaction programs.

1999/03/15 2.2 R0 - 0143
* UnixWare 2.1.x platform being built again.
* Fixed Y2K issues in armcat utility.
* Fixed armsort problems when sorting in memory and output record size is larger
  than input record size.

1999/03/09 2.2 R0 - 0142
* TIPPRINT was corrected to better handle alternate character sets
* New tipix.conf parameter  MCSDATE=YES  will cause MCS to display
  embedded date fields $YYMMDD$ as YYYYMMDD, $MMDDYY$ as MMDDYYYY
  and  $DDMMMYY$  as  DDMMMYYYY. Display 4-digit year including century.
  MCSDATE=NO will cause the MCS heading dates to not be displayed at all.
  This requires TIP/fe build 300 or later.

1999/03/01 2.2 R0 - 0141
* Fixed problem with SETK, SETL in IMS application program interface.
* ARMSORT in memory sort which is invoked via the environment variable
  TIPHEAPS has been made significantly faster. This is suitable for small
  data files (a few hundred thousand records).
  If the storage required to sort in memory is less than 10MB then the default
  is to do an 'in memory' sort.
* ARMSORT now has an option to sort on a two digit year field, 
  adjusting for the century.
  armsort accepts SORT3, SORT and DATA type commands.
  Whereever you could specify a Numeric Unpacked data for sorting, 
  you can now also add a test for YY.
  
  For SORT, in addition to ZD, you can declare YY.
  Example:
  armsort -f -t'~' << '/*'
   SORT FIELDS=(3,2,YY,,6,15,CH,,1,4,ZD,D),WORK=3
   RECORD RCSZ=80,DEBLANK=(C,6)
   INPFIL BLKSIZE=1024,DATA=A
   OUTFIL BLKSIZE=2048,RCSZ=100
   OPTION CSPRAM=YES,DUMP,PRINT=ALL
   END                            
  
   For SORT3, in addition to U, you can delcare Y.
   Example:
   armsort  -f -t':' -3 << '/*'
        *   1         2         3         4
         *7890123456789012345678901234567890
          HSORTR     7A        0X  80
          O C   8   9EQC1A
          OOC   1   9EQC5
         * U       7GEF      8
          FNY   3   4
          FOC   6  25
          FNU   1   4
          FDC   3   4
          FDC   5   5
          FDC   6  64
          FDC   1   4
    /*                                         
  
    For SORT1100, in addition to Q, you can declare Y.
  
    It will also check for an env variable TIPCENTURY and if defined and 
    numeric, then the value is used for the century break year. 
    The default value for the century break year is 50.

1999/02/23 2.2 R0 - 0140
* TIP/ix to TIP/ix DTP has been improved.
  Previously when you did a "connect locap" the terminal support dropped
  down to UTS-style support only.
  Now all MCS functions, TIPMSGOV, TIPMENU, TIPTITLE, TIPASK, TIPASKYN
  are all supported in full TIP/ix-style MCS operation.
* SMLOCAP may now declare locaps of type 
  TIP/cs for TIP/Connection Server
  TIP/as for TIP/Application server
* TIP/dbi dbiload utility was generating code to unload records which are
  members of a set in the wrong order. This has been fixed.
* TIP/dbi: corrected an error related to OPTIONAL MANUAL IS NULL.
* TIPH2P was not handling 8-bit characters correctly. This is fixed.
* TIPPRINT to AUX0 was forcing the Page Length to 23. It will not set it
  the actual terminal size or that supplied by the application program.

1999/02/11 2.2 R0 - 0138
* If tipix.conf has PARAM FCSMATCH=YES, then TIP/ix will insist that DAM
  and SAM files exist before opening them. Previously FCSMATCH just checked
  for ISAM files existing and having matching attributes as defined.
* Fixed up make.ora8.UW7 for use with Oracle8 on UnixWare 7.0.1

1999/02/05 2.2 R0 - 0137
* Fixed a bug with using TIPMSGO with MCS-FUNCTION "D" for data only and
  when a field as set to LOW-VALUES. The field was being erased when the
  original data should have been left on the display. This is fixed.
  This will require a new version of TIP/fe as well.
* TIP/dbi new Options in the Schema immediatly after the SCHEMA NAME clause.
  OPTIONAL MANUAL IS NULL
  This tells TIP/dbi to set the columns used for set membership to NULL when 
  the record is NOT a member of the set. Normally TIP/dbi just sets the columns
  to a value of ZERO. Setting to NULL results in no zero entry being added to 
  the index.  Using this option would require changes to existing databases to 
  remove the NOT NULL constraint. If you are reloading the database anyway, 
  you may want to use this option.

1999/01/19 2.2 R0 - 0136
* New option for the fcsdbug command to just turn debugging on for an 
  FCS server which handles a specific file.
  fcsdbug on filename
  Where filename is the logical name of the data file.
* If TQL was started by TIPFORK on another terminal it was not getting all of
  the command from the CDA. This is now fixed.

1999/01/05 2.2 R0 - 0135
* Fixed a bug in TIPFCS that was causing DYNAMIC file to not be created
  if the UNIX directory did not already exist. This has been fixed.
* FSE command MC was truncating the string by one byte. This is fixed.
* Updating the security information of a Printer made it inaccessible. Fixed.

1998/12/18 2.2 R0 - 0134
* Fixed TIP/dbi to handle SORTED set with multiple members and when the
  sort field has multiple parts.
* <<< Changes made to HSP utilities >>>   (armdata)

1998/12/15 2.2 R0 - 0133
* New status command option.  status IC  or status FC will display only
  files which are closed.
* tipinstall now displays the size of the GDA
* TIP/dbi now implements SEPARATE SELECT for MIRAM emulation as well.

1998/12/11 2.2 R0 - 0132
* TIP/dbi was relying on the underlying relational database being able to
  order columns of an index in either ASCending or DESCending order.
  (For example, Informix does support this)
  Oracle accepts this syntax but it DOES NOT implement it.
  Oracle ONLY orders indexes in ascending sequence for all columns.
  This discovery has revealed some nasty performance problems and in a few 
  cases data may be returned in the incorrect sequence (within duplicates).
  This problem happens with any INDEX, CALC, or SORTED set which has
  the data field ASCENDING and DUPLICATES FIRST  or
  the data field DESCENDING and DUPLICATES LAST.
  In order to fix this problem a new column may need to be added to 
  tables (for CALC) which have this situation. 
  In addition some of the columns used for positioning within duplicates
  may need to be updated and changed to negative values.

  Several steps need to be done:
  0. It would be a good idea to take a backup.
  1. You will need to re-compile the oradiff utility. 
        cd $TIPROOT/src/dbi
        make -f Make.pc oradiff
  2. Then run the 'schema' utility on your DMS schema and re-make the
     I/O modules.
  3. also in your  <schema>.dd directory do  
       make load
     This will create a <schema>load binary. 
     (ie. if your schema name is foobar then it creates foobarload)
  4. Then run  oradiff on your generated  schema.ddl file to create
     a schema.alter SQL script. 
     You may see things like UPDATE table SET pos_xxx = row_xxx;
     in the schema.alter script. You may also see there is nothing to do.
  5. Run this <schema>.alter script through sqlplus to add the additional 
     columns and update the table data.
     (There could be no need to add columns so if <schema>.alter does not exist
      then you do not need to run it.)
     This may update a lot of records in the database.
     Make sure that your Oracle ROLLBACK segment is large enough for updating
     the complete largest table in your database.
  6. Run the <schema>load program with an option -D. 
     ie.   foobarload -D
     This may update a lot of records in the database.
     If there is nothing that needs fixing then you may see a message like:
        "Analysing database structure to determine what needs fixing"
        "No possible issues to deal with "
     Make sure that your Oracle ROLLBACK segment is large enough for updating
     a complete table in your database.
     (This generates a script in the current directory called fix<schema>.sql )
     ((ie. fixfoobar.sql). If you need to reverse the effect just edit this   )
     (script and remove the minus signs and re-run it.                        )
     (Normally you should not need to do this.                                )
  7. Run some tests to confirm that this problem has been fixed
     and everything else works as before.

1998/12/03 2.2 R0 - 0131
* TIP/dbi now supports Oracle8 on HPUX. 
  Oracle 8 has larger limits on the number of columns in a table and this
  could affect the "folding" of fields into columns. If you are creating a
  new database with Oracle8 then this is ok. If you have an existing
  database created before Oracle8 then you may need to tell TIP/dbi.
  There is a new option that can be placed in the Schema immediatly 
  after the SCHEMA NAME clause to tell TIP/dbi to use the old limits.
  ORACLE7 SIZES

* Enhancement to TIP/dbi to use pre-compiled SQL for 
  FETCH via ROWID FOR UPDATE. This is used for the DMS MODIFY verb.
* <<< Changes made to HSP utilities >>>   (armxxx, etc)
* TIP/dbi had an error in its handling of FETCH FORMAT 7B DML verbs.
  This is also known as FETCH-27. 
  If you have a FETCH-26  GREATER THAN OR EQUAL followed by FETCH-27 NEXT 
  and the index used is DESCENDING.
  Then the FETCH-27 would have returned the record which is the next one GE.
  However, according to the DMS manual, I it should return the next record 
  with a key LT, since the index is DESCENDING.
  (If the index was ASCENDING, then the correct result was returned.)
  This problem has been corrected.
  
* TIP/dbi new options in the Schema immediatly after the SCHEMA NAME clause.
  NO ROWNUM        To stop using ROWNUM=1 to limit the work Oracle does.
  USE ROWNUM       Tell TIP/dbi to use ROWNUM=1 to limit the data read.
  LIMIT ROWNUM n   Where n is a number. TIP/dbi will then limit all SELECT
                   WHERE by including  ROWNUM < n.
                   If you do use this option you must pick a number which is 
                   greater than the most number of duplicates you may have 
                   for any key value in any index.
 >> ROWNUM is not safe to use if Oracle does not do INDEX SCANS as it should! <<
 >> TIP/dbi default at present is to not use ROWNUM at all unless told to     <<

1998/11/24 2.2 R0 - 0129
* TIP/dbi I/O routine will now set the local language code. This is important
  when determining if data about to be stored is valid or not.

1998/11/19 2.2 R0 - 0128
* <<< Changes made to HSP utilities >>>   (armxxx, etc)
* HPUX 10.01 is no longer supported. You must be running HPUX 10.20 or later.

1998/11/10 2.2 R0 - 0127
* TIP/dbi uses a double float number to sequence members of ORDER NEXT & PRIOR
  sets. When many inserts are done into the set, it may happen that the
  numbers need to be resequenced. Previously DBI would generate new values 
  using an increment of 1. Now it uses an increment of 2 to reduce the number 
  of times this event may happen. 
  Also you may place an environment variable TIPDMSRESEQ with a numeric value 
  between 2 and 16 to be used. You may want to set this if you know your 
  program will be doing a lot of inserts.
  For example:
    setenv  TIPDMSRESEQ 6
  or in tipix.conf (this is not a PARAM) just place
    TIPDMSRESEQ=6
* TIP/dbi schema was not using exactly the correct ORDER BY for some SET 
  processing. It did not appear to affect anything, but it could for
  some versions of Oracle. This has now been fixed.

1998/11/06 2.2 R0 - 0126
* TQL will now process ERROR "msg" inside of ON DELETE.
* TIPFCS would loose its sequential position within a file if a SETL had been
  done then during GET processing a DELETE and ADD was done to the same file.
  This problem has now been fixed.
* TIP/dbi new Options in the Schema immediatly after the SCHEMA NAME clause.
  NO SEPARATE SELECT  to issue complex selects as a single SELECT with
                      a complex WHERE clause.
  After much experimentation it was found that when a WHERE clause has an
  " OR " condition that Oracle often makes bad decisions and may not access
  the data using the index provided and named in the INDEX Hint.
  To solve this problem, TIP/dbi will now issue 2 or more SELECT statments
  with just one part of the WHERE ... OR ... at a time until it completes
  all parts of it retrieves some data.
  Through testing it has been found that issuing multiple simple SELECTs
  runs about twice as fast as issuing one complex SELECT.
  The NO SEPARATE SELECT will make the system run the old way.
  The default is to run using this new method.
  For example:
       IDENTIFICATION DIVISION.
       SCHEMA NAME IS DMSSCH.
            ORACLE7 SIZES
            NO SEPARATE SELECT


1998/10/30 2.2 R0 - 0125
* New SMTERM feature. In the field for declaring an "unattended terminal"
  You may now place a value of "Y" for Unattened as before
  or a new value of "B" for Background Terminal.
  A background terminal will be started and stay active.
  This is for handling IMS output for input queueing to non-real terminals.
  IMS supported terminals names  BTH1, BTH2, BTH3, BTH4.
  With this feature you can define any terminal name you want.
  For the device name key in something batch or batch1, etc.
* TIP/dbi new Options in the Schema immediatly after the SCHEMA NAME clause.
  NO ROWNUM     To stop using ROWNUM=1 to limit the work Oracle does.
  USE ROWNUM    Tell TIP/dbi to use ROWNUM=1 to limit the records read by Oracle
                   >>> ROWNUM is not safe to use if Oracle does not do 
                       INDEX RANGE SCANS as it should. <<<
  NO INDEX-NAME Tells TIP/dbi to not give Oracle the index name in a hint
                with this option TIP/dbi will only tell Oracle the table name.
                Some versions of Oracle work better with the index name and
                some versions work better without.
* In conf/tipix.conf you may now place IMSO4IQUE=N to prevent output for input
  messages from being queued. 
  If this is specified, then if the terminal is already busy then a 
  status of  6,2 will be returned.
  The default is that output for input messages are queued until the terminal
  reaches an idle state and then they are processed
  PARAM IMSO4IQUE=NO

1998/10/16 2.2 R0 - 0122
* precob, schema and TQL all ignored SYNC and did not align data items
  to the SYNC boundary.  
      In MBP COBOL the option is  sync+
      In MF COBOL the option is IBMCOMP
  New options have been added to TIP/ix to turn this option on.
  If you are using these options then you should also now use.
  precob -s   will align SYNC data items

  schema will now look for the following after the SCHEMA NAME clause.
   ACCEPT SYNC     : to process SYNC and do the data item alignment

  TQL will check for an environment variable called TQLSYNC and if its value
  is the word "on" then SYNC will be processed
* SMS/90 interface bugs corrected
* TIP/dbi may have missed some indexes when REPLICATE INDEX was declared.
  It would miss them if there was an index with fewer than 3 parts followed
  by an index with more than 3 parts.

1998/09/25 2.2 R0 - 0121
* TIP/dbi bugs fixed related to INDEX with DUPS FIRST/LAST
  The TIP/dbi runtime code may loop or core dump on HPUX.

1998/09/21 2.2 R0 - 0120
* TIPFCS was not correctly handling rollback when a user killed their 
  terminal session with TIP/ix. Entries where left in the key holding table.
  This problem has now been corrected.
* TIP/dbi schema was not detecting some cases where the CALC and INDEX keys
  were identical. This could result in an index hint with the wrong index 
  name which then causes Oracle to do a table scan. This has been fixed.
* TIP/dbi schema was generating the index for a SORTED SET that allowed
  DUPS incorrectly. This has now been fixed.
* TIP/dbi oradiff was not handling VARCHAR correctly. This has been fixed.

1998/09/14 2.2 R0 - 0119
* TQL Saved command file TQLSVE2 will now have the command usage updated
* Support added for SMS/90 Interface. IMS transactions which use SMS/90
  calls should be defined as type SMS in SMPROG.
  Numerous changes to MCS code that builds UTS data to support SMS/90.
  Also add PARAM SMSEMULATOR=YES to your tipix.conf to enable this.
  With SMSEMULATOR=YES, CALL BLD constructs a UTS message for the terminal.
  With SMSEMULATOR=NO, CALL BLD sends the MCS format for TIP/fe smart operation.

1998/09/09 2.2 R0 - 0118
* The TIP/dbi oradiff utility will now detect most of the index changes
  and emit code to DROP and reCREATE the updated indexes.
  You must re-make this utility locally to match your own version of Oracle.
    make  -f Make.pc  oradiff

1998/09/02 2.2 R0 - 0117
* TIP/dbi schema was generating wrong code to SORTED SET that allowed
  DUPS, but no indication of DUPS FIRST or LAST. This is now fixed.
* TIP/dbi had an error handling the BIND record verb which could core dump
  on some UNIX platforms.

1998/09/01 2.2 R0 - 0116
* TIP/dbi had a problem with a record that is LOCATION MODE INDEX with
  one fo the indexes with DUPS FIRST or LAST and if the record was also
  the member of an AUTOMATIC SORTED SET which did not allow DUPS, then
  the record was not being placed into the SORTED SET when it was STOREd.
* TIP/dbi also had a problem when a FETCH ... EQUAL TO key was followed by
  FETCH NEXT ... VIA INDEX... It was stopping when there were no more
  records with the equal key. This has been fixed.

1998/08/20 2.2 R0 - 0115
* TQL now accepts PROGRAM-ID. ... MAXREAD n
       as well as PROGRAM-ID. ... MAXREAD=n
* TQL now accepts MOVE ZERO TO xxx
* TQL will now time out each screen input request. It will wait a maximum
  time equal to that specified by the tipix.conf  TIMEOUT value.
* Fixed several (very minor) Year 2000 reporting issues.

1998/08/11 2.2 R0 - 0114
* Fix a problem with TIP/dbi chosing the wrong INDEX HINT when a CALC
  and INDEX had identical fields in the same record.

1998/08/10 2.2 R0 - 0113
* TIPFCS may return records out of sequence when 
  program A is doing SETL, GET, GET, GET
  and program B does an ADD which results in a duplicate status.
  Then Program A may get the wrong record on its next GET.
  This problem has been corrected.
* TIP/dbi had additional corrections for the bug in handling INDEX and SORTED 
  sets which ALLOWED DUPLICATES FIRST or LAST.

1998/08/07 2.2 R0 - 0112
* <<< Changes made to HSP utilities >>>
* TIP/dbi had additional corrections for the bug in handling INDEX and SORTED 
  sets which ALLOWED DUPLICATES FIRST or LAST.
* New option for TQL EXPORT command.
  EXPORT TRIM (....) 
  TRIM indicates that trailing spaces are to be removed from PIC X fields.
  Your can also do EXPORT ASIS TRIM  or EXPORT ',' TRIM  etc..

1998/07/30 2.2 R0 - 0111
* TIP/dbi did not correctly handle an OPTIONAL MANUAL INDEX which
  had more than one field used to make up the index. This is now fixed.
  The generated SQL for an OPTIONAL MANUAL INDEX now uses a "join" where as
  the " IN " operator had been used before.
* TIP/dbi was not returning the BAD DATA status code if non-numeric data
  was used in a numeric data fields. This error status will now be returned.

1998/07/21 2.2 R0 - 0110
* TIP/dbi had a bug handling INDEX and SORTED sets which
  ALLOWED DUPLICATES FIRST or LAST.
  The bug happened when a MODIFY was done in which the key field 
  of the INDEX or SORTED SET was changed.
  If the key was changed then the record should be re-positioned
  FIRST or LAST within the duplicates.
  >>>This re-positioning was not happening.<<<
  In order to fix this problem a new column needs to be added to 
  tables which have this situation. 
  Several steps need to be done:
  0. It would be a good idea to take a backup.
  1. You will need to re-compile the oradiff utility. 
        cd $TIPROOT/src/dbi
        make -f Make.pc oradiff
  2. Then run the 'schema' utility on your DMS schema and re-make the
     I/O modules.
  3. Then run  oradiff on your generated  schema.ddl file to create
     a schema.alter SQL script. 
     You should see things like UPDATE table SET pos_xxx = row_xxx;
     in the schema.alter script.
  4. Run this schema.alter script through sqlplus to add the additional 
     columns and update the table data.
     This may update a lot of records in the database.
     Make sure that your Oracle ROLLBACK segment is large enough.
     The schema.alter script avoids the need to reload the entire database.
  5. For indexes which now reference a column like POS_INDEX_nn_xxxx
     you will need to DROP the index and re-CREATE the INDEX.
     This could be done by make a copy of your schema.ddl file and 
     editing it so that you just have the DROP INDEX ... CREATE INDEX
     command as needed. 
     If this step is not done TIP/dbi will still work,
     but the performance will be bd because Oracle does not have the
     correct INDEX definition.
  6. Run some tests to confirm that this problem has been fixed
     and everything else works as before.
* TIP/dbi gives warnings to check for database structure problems if
  the database was loaded prior to TIP/ix 2.2-0075. To suppress this
  warning message add the following at the start of the schema source.
      SUPPRESS-0075
* TIP/dbi gives warnings about the above error. If you want to surpress
  these warning after having fixed the database then add the following 
  at the start of the schema source.
      SUPPRESS-0110
* If you do not care about the above bug and just want to ignore it
  then add the following at the start of the schema source.
      IGNORE DUPS-BUG
  With this option TIP/dbi will not warn you and it will generate
  the database stucture and code as it did before.

1998/06/25 2.2 R0 - 0109
* TIP/dbi schema now accepts a specific index name to be used for
  the Oracle index. This is defined as a string enclosed in quotes
  as part of the INDEX definition. For example:
     LOCATION MODE INDEX SEQUENTIAL
       USING CM-NUMBER                     
             AS KEY 1 "K1_TXPFILE"
                      DUPLICATES NOT ALLOWED
       USING CM-TELEPHONE                  
             CM-COMPANY                    
             AS KEY 2 "TXPFILEIDX3"
                      DUPLICATES ALLOWED
* Due to the above change oratosch.pc has been updated to emit the real
  Oracle index names. Your should re-compile this program on your own
  UNIX platform and version of Oracle.
  NOTE: oratosch is intended for use with Oracle tables which pre-date the
  use of TIP/dbi or which are generated by some other software application
  and you want to access these tables via TIP/ix and TIP/dbi.
* MENUAR had a problem deleting menu help when the menu had a full 24 items.
  This has now been corrected.
* MAIL will now remember the Read letter numbers following a sub-command on 
  a given mail message.

1998/06/05 2.2 R0 - 0108
* Some minor corrections to dbiload
* Fixed TIP/dbi I/O problem which resulted in core dump on HPUX.
* IMS PIB-LONG-DATE is now set on initial entry. It was previously only set
  when an input message was read. You need to re-compile application to
  get this correction.

1998/05/15 2.2 R0 - 0107
* For MBP ISAM files, ISAM record locking is now inhibited.
  Although doing ISAM record locking would help to allow concurrent
  updating from batch COBOL programs, it does cause serious problems with
  MBP ISAM. The ISAM library will often return an EFLOCKED status.
* A new environment variable has been added. 
  If TIPISAMDAT is present and has a value N 
  (ie. csh: setenv TIPISAMDAT "N"  or sh: TIPISAMDAT=N; export TIPISAMDAT)
  then ISAM files created by TIP/ix will not have the '.dat' extention
  appended to the data file. Although using '.dat' is C-ISAM compatible, 
  Micro Focus COBOL does not append the '.dat'.
  In conf/tipix.conf you  should place TIPISAMDAT=N in as an environment 
  variable and NOT as a PARAM statement.
* TIP/dbi will now set current of set to the OWNER record when it encounters
  an end of set (0307) with a FETCH NEXT OF SET.

1998/05/08 2.2 R0 - 0106
* For FCS using MBP ISAM files, it now checks for and logs the values given
  to ISAMBUFF and ISAMFCB. See MBP manual chapter 1 for details.
  Incorrect setting of ISAMFCB could cause file locking problems.
* TIP/dbi new Options in the Schema immediatly after the DATA DIVISION line.
  NO HINTS    To stop the use of Oracle Hints.
* TIP/dbi  FREE ALL was clearing all set currency. It should not clear
  set currency for which the CURRENT OF RUN-UNIT is a participant. Fixed.
* TIP/dbi I/O routine will not update its internal version of a record
  for  FIND USING dbkey. If a later MODIFY is done and the I/O routine
  detects that some other process changed the record an error status is set.
* Fixed some problems in TIP/dbi I/O related to FETCH fomat 7A and 7B verbs.
  One problem happened for INDEXES which allowed duplicates.
  The other problem was related to FETCH ... EQUAL TO KEY followed by
  FETCH NEXT when the index allow duplicates.
* IMS EDIT=xxx  was removing all DICE codes. According to the manual it should
  leave a space whereever there was a DICE for a new line. This is now fixed.
* If using MBP ISAM, it could happen that a status of 113 (meaning file locked)
  is returned. This could happen if batch programs are reading the file.
  If this happens during a ROLL BACK, TIP/ix will retry X times at 1 second
  intervals and then if the file is still locked it will shut TIP/ix down.
  It does a shutdown since the rollback can not be completed and the file is
  not in a consistent state.
  In tipix.conf you may add the parameter to define the max times to retry.
  PARAM  MAXFILELOCK=1000
  This will retry 1000 times to complete rollback before a system shutdown.
* During system startup, it will now report the names of files that need some
  rollback recovery.
* If any file is not able to be recovered at startup, its name will be reported.
* The SMS/SFS routines EDT/EDIT will translate underscores into spaces
  regardless of what was defined for SMSFILL or SFSFILL.
* Fixed bug in TIP/ix DTP code. 
  It was lossing track of a DTP session and the local TIP/ix session.

1998/04/21 2.2 R0 - 0105
* die & purge will now log the event to the log/HISTORY file.
* scratch,a will now scratch all dynamic and edit buffers in the current AFT
* TIP/dbi I/O routines had a problwm when a DELETE was done during an index
  scan of the same record and the index allowed duplicates. Fixed.
* TIP/dbi precob was not correctly processing the DMCA and record layouts
  according to the INVOKE SCHEMA clause. This is now fixed.
* dbiload was changed to process a command file holding detailed instructions.
    The command file created is called  <schemaname>cmd.txt
    If need be you may edit this as required and then rerun it with
    dbiload  -c mycmdfilename
* menu now processes command line starting with a period and does a TIPFORK.
* menu now processes command line starting with a greater-than (>) 
  and will start the rest of the command as a UNIX command in UNIX background.
* On very fast Solaris systems the program tipixtcp which interfaces with TIP/fe
  was aborting with the message "pollable event". This problem has been fixed.

1998/04/08 2.2 R0 - 0104
* A bug in the TIP/dbi DELETE ALL code that would result in not all of
  the member records being deleted. Some records would be left as orphans.

  If  Record A was an owner of sets S1 with member record M1 
  and also Set S2 with member record M2.
  Plus the member records also owned sets.  
  If M1 was owner of set S11 with member M11.
  Then the bug resulted on only one set of the M11 records being deleted.
  It would delete all of the M1 and M2 records and of course delete record A.
  
  A DELETE ALL is supposed to remove everything from the starting record 
  down through all sets.
  This bug was introduced in version 1997/11/18 2.2 R0 - 0091.
* Some improvements were made to TIP/dbi to use SQL host variables for 
  composite indexes that are also the "primary" index or CALC key.
  This should cause a reduction in the number of times a dynamic SQL statment
  needs to be parsed by Oracle.
* TIP/dbi schema program has a new option -Z to cause it to generate
  <schemaname>.constraints which holds some referential integrity constraints
  for Oracle. If you run the SQL file after running the <schemaname>.ddl file
  through sqlplus, it will provide Oracle with information to check the SET
  relationships itself. This will not affect TIP/dbi, but may be helpful 
  if you are manipulating the database directly with sqlplus.

1998/04/06 2.2 R0 - 0103
* Fix error in TIP/dbi schema progam. It was generating the host variable
  for sorted sets with numeric keys one byte too small. This has been fixed.
* Improve on TIP/dbi schema checking for improper REDEFINES
  To disable the extra checking use   schema -R

1998/03/24 2.2 R0 - 0102
* New parameters for tipix.conf file to define where application log files go.
  PARAM LOGDIRECTORY=/location/to/put/logs
  PARAM COMBINDLOGS=Y|N   Default is Y. If N, then each log file gets a unique
                          name based on date and time.
  Also, setting an environment variable  TIPLOGDIR for a given user overrides
  the system default LOGDIRECTORY.
  If no log directory is defined, it defaults to the users home directory.
* New parameter for tipix.conf file to request that OPEN=YES files be opened.
  PARAM OPENFILES=YES
* User statistics for input & output messages and accumulated time logged on
  are now being kept.  See  "open tipsysu stats" for a report.
* Fixed problem with TREN when both ISAM and TIP/dbi are involved together
  which was causing the terminal to just hang.

1998/03/17 2.2 R0 - 0101
* Fixed coding error in TIP/dbi schema & solve problem with REPLICATE INDEX.
  NOTE: an index can only be replicated if it contains all character data.
  If any of the fields are Signed Numeric or COMP then it this technique would
  fail so TIP/dbi will not try to replicate indexes like this.

1998/03/04 2.2 R0 - 0100
* In order to do testing for Year 2000. TIP/ix will ignore the activation
  key if the systems current date is in January 2000.
* TIP/ix user interface would abort with "Alarm Clock" message
  after trying to execute an invalid transaction.
* TIP/dbi schema compiler now accepts the directive REPLICATE INDEX
  at the start of the schema source. When declared, indexes with more
  than 3 columns will have the data replicated into a single column
  which is then used as the index. This is to avoid poor performance
  of Oracle in handling composite indexes.
* TIP/dbi schema compiler now accepts the directive CLUSTER ALL
  at the start of the schema source. When declared, set owners and member
  which are LOCATION MODE VIA SET and are in the same area will be
  defined to be stored in an SQL CLUSTER.
* TIP/dbi schema compiler now accepts the directive CLUSTER in a record
  definition which owns a SET. When declared, the set owner and member(s)
  which are LOCATION MODE VIA SET and are in the same area will be
  defined to be stored in an SQL CLUSTER.
* 'precob' will now add the size of the records in the sub-schema into
  the calculation of WORKSIZE for the -u and -U commands.
  Improved detection of whether DELETE is COBOL or DML verb.
* 'msgar idps' did not handle fields of the format  V999 correctly. Fixed.
* new option for 'ebcasc' program to generate EBCDIC-to-ASCII translation tables
  based on various National Replacement Character mappings. This option alters 
  the translation tables so that EBCDIC+NRC is translated into ISO-88591.
  ebcasc -N BRI - For British or United Kingdom
  ebcasc -N NOR - For Norwegian and Danish
  ebcasc -N FRE - For French
  ebcasc -N GER - For German
  ebcasc -N ITA - For Italy
  ebcasc -N SPA - For Spain
  ebcasc -N SWE - For Sweden
  ebcasc -N CFR - For Canadian French
  ebcasc -N SWI - For Swiss French & German
* New parameters for tipix.conf file to define the MCS FILLER value for
  SFS and SMS progams.
  PARAM SFSFILL="x"  and PARAM SMSFILL="x" 
  where "x" may be "*", or "_" or " ". Default is "_".
* FSE was writting out bad file names if the SE command was used.
* fopen will exit with a UNIX status of 4 if the user does not have security 
  to run the fopen program.

1998/02/03 2.2 R0 - 0099
* Enhancement to TIP/dbi to use pre-compile SQL for FETCH via DBKEY FOR UPDATE

* New 'update' script for merging just the new modules into a base
  release of TIP/ix. This will work for updates following this one.

1998/01/23 2.2 R0 - 0098
* Fix bug with TQL using ranges in a subscript. This will now work correctly
  for use in two dimensions. But, it is still buggy for more than 2.
  IE.  FLD(1..12,1..7) will work, but FLD(I,1..12,K) will not work.
* TQL now has new internal fields.
  DMCY$  9(8)  Current date in DDMMCCYY format.
  CJUL$  9(7)  Current date in CCYYDDD (Julian or day-of-year) format.
  CYMD$  9(8)  Current date in CCYYMMDD format.
  CCYY$  X(4)  Current year in long format.
  CC$    X(2)  Current century.
    (The following are returned via TIPDATE which is 
     localized to the system language.)
  MONTH$ X(20) Current Month as a text name (ie. January)
  DAY$   X(20) Current day of the week as a text field (ie. Friday)

1998/01/21 2.2 R0 - 0097
* Merged in source corrections to the HSP utilities 
* TIP/dbi schema has option -s (or add RESET SEQUENCE to schema) to reset
  the sequence number used when splitting large fields for each record.

1998/01/19 2.2 R0 - 0096
* Several problems with the TIP/ix MAIL program have been fixed.
* Fix bug that caused large IMS messages to be sent as partly unsolicited.
* TIP/dbi was giving Oracle wrong INDEX hint if a CALC key was indentical
  to the index key. This was fixed.

1997/12/04 2.2 R0 - 0094
* Add long date to IMS PIB (8-digit date) includes Century.
  This will require all IMS applications to be recompiled.
* Add PARAM DMSMULTIAFT=Y|N; Default N, which is as TIP/30 DMS worked.
  Y means each TIP Stack level will gets is own AFT to the DMS subschema.
  N means only one AFT is created per schema per terminal.
* Fixed TIP/dbi problem when CALC and INDEX on the same data field.
* Fixed TIP/dbi problem with FETCH NEXT VIA INDEX 
  following FETCH xxx VIA INDEX EQUAL TO.
* Fixed problem with missing FCCs for IMS/SFS Input only fields in UTS msg
* Fixed problem with TIPPRINT to MSDOS file and TC-DI-SPACEx.

1997/11/27 2.2 R0 - 0093
* TIP/dbi problem with commit points for online TIP transactions fixed
* TIP/dbi problem with UNBIND closing areas for online transaction fixed.

1997/11/20 2.2 R0 - 0092
* TIP/dbi problem with FETCH of Sorted Set with more than 2 members 
  and the sort field has identical data has been fixed.

1997/11/18 2.2 R0 - 0091
* Fixed probem with TQL, EXPORT MAPPER command. 
  This requires TIP/fe build 283 or later.
* Fixed problem with IMS Output for Input to transaction with missing
  Binary when done twice in a row.
* TIP/dbi problem with FETCH FIRST of Sorted Set with multiple members fixed.
* TIP/dbi new Options in the Schema.
  BAD-DATA IS "xxxx"  To compile in the bad data status code.
  LOW-VALUES REJECT   To cause even low-values to be treated as bad data
  ALLOW ANYKEYDATA    To accept arbitrary values for keys to select on.
* New tipix.conf parameter  IMSMAXRETRY=n where n is the number of attempts
  to try and lock a record before giving up. If this is defined then a message
  "Input in process" will be sent the the terminal during the retry.
* New tipix.conf parameter  FCSWAIT=n where n is the number of seconds to
  wait before returning PIB-HELD. The default is 1.

1997/11/06 2.2 R0 - 0090
* TIP/dbi now generates Index HINTS for ISAM files and other DMS indexes
       - this change results in a performance improvement
* TIP/dbi fixed a problem with reading through sets caused by Oracle not
  doing precise storage of 'double' variables.
* TIP/dbi does a better job of selecting a floating point value for
  SET postioning which Oracle will store correctly in its internal format.
* TIP/dbi precob now translates OPEN ALL into an OPEN for each area
  in the sub-schema. Before it would open all areas in the schema.
* TIP/dbi following an INSERT or STORE the wrong member of the set was
  sometimes being left as current by mistake. This is fixed.
* TIP/dbi fixed some problems related to MOVE CURRENT and
  FETCH OWNER immediately followed DELETE of member record.
* The TIP/ix build done on 10.01 did not run on 10.20. This problem is fixed.
* New tipix.conf parameter  MCSLONGDATE=YES  will cause MCS to display
  embedded date fields $YYMMDD$ as YYYYMMDD, $MMDDYY$ as MMDDYYY
  and  $DDMMMYY$  as  DDMMMYYYY. Display 4-digit year including century.
  This requires TIP/fe build 283 or later.
* The TIP/ix PIB has new field PIB-LONG-DATE to hold 8-digit date
  plus sub-fields for more date information.
* Fix bug with IMS continuous output printing introduced in 0086
* New tipix.conf parameter  IMSKEEPMCS=YES will IMS programs to
  remain in MCS mode (i.e. not read by UTS input) if SFS-TYPE is set
  to 'R' and SFS-LOCATION was cleared. Normally SFS-LOCATION should not
  be cleared. This may be required by IMS/1100 programs using DPS.

1997/10/23 2.2 R0 - 0088
* TIP/dbi fixed some bugs related to currency following DELETE/REMOVE
* TIP/dbi now implements OPEN AREA USAGE-MODE ... using LOCK TABLE command
       - this change results in a small performance improvement
       - this change may require you to increase  dml_locks in the init.ora 
         (Oracle error  -55  indicates the value for dml_locks is too low)
* Fixed bug with MAIL auto reply text overlaying mail message
* The TIPQUEUE scheduler will recover from servers which abort without
  closing the QUEUE. Before it may just stall the queue service.
* Fixed bugs in handing UTS messages for DPS/1100

1997/10/17 2.2 R0 - 0087
* TIP/dbi was not correctly handling DML verbs that resulted in 
  more than eight parameters being passed. This was a very rare case.
* TIP/dbi should now avoid re-connecting to Oracle if it is already connected
* MENU will now display the number of new mail messages on initial entry
* Fixed bug with MAIL auto reply text which was not being sent
* Fixed bugs in MAIL related to the year 2000

1997/10/14 2.2 R0 - 0086
* New rollfwd options
               -y       will auto answer Yes to prompts
               -i file  will read file where each line holds one
                        TIP/ix file name to be rolled forward
* Fix MAIL to accept Send options on command line
* Implement file locking for SAM/DAM files
* Clear sequential mode when hitting EOF in an indexed file
* When changing the default key of reference with SMSEC, the in memory
   tables will now be updated.
* pingtip reports the date/time
* Port to AIX 4.2 on PowerPC completed
* TIP/dbi correction for 
   OPEN Retrieval/UNBIND/TIPSUB/BIND/OPEN Update
* Support TIPTERM T-PUT to another terminal. 
   This used to always send as un-solicited (T-UN). 
   Now it will force the message on the terminal.


1997/10/02 2.2 R0 - 0085
* Improved the logging information for application programs to include
  the version of the API module.
* Fix problems with Remote File Access record translation with TIP/30
* TIP/dbi schema will now emit ZERO instead of "0" for 88 level items 
* TIP/dbi schema now accepts TABLESPACE & INDEXSPACE as part of the RECORD

1997/09/23 2.2 R0 - 0084
* TIP/dbi SET processing was re-written to improve system performance
* The improvements to TIP/dbi (using Oracle Hints) work much better if the
  tables & indexes have been analyzed by the Oracle ANALYZE command.
  TIP/dbi generates a <schema>.analyze script which may be used for this.
* TIPFCS had a memory leak when updating DAM files. This would result in
  the TIP/ix system and possible UNIX crashing.

