DAE UQ05605 Readme file


INTRODUCTION
------------

This file describes the contents of the IBM Communications System/6000:
Version 1 Release 1 Modification 1 (English) PTF UQ05605 (aka PTF 3).

The following topics are covered in this file:

o  PREREQUISITES
o  ADDITIONAL SUPPORT
   -  Support for AIX 4.1.2 and Later
   -  AIX 4.2+ and Write Access for /usr/lpp (PN86428)
   -  AIX 4.2+ and cs2shell Notebooks (PQ02601)
o  INSTALLING PTF UQ05605
o  MIGRATION FOR TQ TABLES (required)
o  LIST OF FILES
o  LIST OF APARS FIXED
o  NOTES FOR UQ05605
   -  Maximum Connections cs2shell Help (PQ06217)
   -  TQ Member Information cs2shell Help (PN88528)
   -  New Tables and Queues Utility Tool (DCR4963)
   -  DDMS Doc Change (PQ03833)
   -  Printer Binary Option Added to Print 4029-formatted File (PQ05402)
   -  TXE_OPT_DISCONNECT Flag Provided on CS2_TRANSACT (PN89993)
   -  Database/Transaction Configuration File (optional) (PQ05418)
   -  Txe Mirror Filtering (optional) (PQ05418)
   -  DB/Txe Trace Extension (optional) (PQ08634)
o  NOTES FROM UN87891
   -  Configuring Database For:
      .  RDBMS Support
      .  DB/Txe Mirroring
      .  ODBC/Oracle7 Support
o  COMPLEMENTARY FIXES FOR CS/2 1.3.1


PREREQUISITES
-------------

Program Temporary Fix UQ05605 requires Communications System/6000 (5765-092)
Release 1.1 (English). Please ensure you are at this level before proceeding
with the installation of this PTF.

Program Temporary Fix UQ05605 has no prerequisite PTFs.
UQ05605 supercedes PTFs UN78044 and UN87891.
UQ05605 can be applied directly to the CS/6000 R1.1 (English) product or
on top of PTF UN78044 and/or UN87891.  UQ05605 is cumulative, containing
all fixes from UN78044 and UN87891, as well as additional fixes.

*** A prerequisite is 3251 AIX Preventive Maintenance Package        ***
*** Rel. 320 Volume Z88701 which includes PTF #U493251 and others,   ***
*** required to load libwms.a shipped on this PTF.                   ***

*** Oracle6 TxE server support is not included in this PTF.          ***
*** If you are using Oracle6 TxE support, do not install             ***
*** this PTF.  Contact the Support Center for more                   ***
*** information.                                                     ***


ADDITIONAL SUPPORT
------------------

Support for AIX 4.1.2 and Later
-------------------------------
    CS/6000 1.1.1 is supported on AIX 4.1.2 and later releases with the
    installation of this PTF.  However, there are some inconsistencies
    in AIX 4.1.* that must be fixed before installing CS/6000 1.1.1 or
    this PTF.  Please follow these instructions to correct the
    inconsistencies:

    - Create the directory /usr/lpp/cs2/toolkit/db/cs2.  Note that
      you must be logged in as 'root' and create the lower level
      directories first, e.g. /usr/lpp/cs2.

    - Insure that the locale 'En_US' has been installed.  Note that
      'en_US' is not the same as 'En_US'.


AIX 4.2+ and Write Access for /usr/lpp (PN86428)
------------------------------------------------
    Beginning with Release 4.2 AIX installp no longer allows a product
    to be installed with a subdirectory of /usr/lpp having write access
    for group staff.  CS/6000 requires that /usr/lpp/cs2/sys be writable
    by the user who starts CS/6000. (PN86428)

    The root user who installs CS/6000 on AIX 4.2 should issue the
    the following command after installation is complete:

    chmod g+w /usr/lpp/cs2/sys


AIX 4.2+ and cs2shell Notebooks (PQ02601)
-----------------------------------------
    There is an inconsistency in AIX 4.2 X-Windows support which
    results in some cs2shell notebook pages displaying empty
    sometimes.  For most configuration, the cs2utt tool can be used
    instead of the cs2shell.

    However, if you must use the cs2shell and you encounter the
    empty notebook window problem, you can get a temporary
    workaround available through the DAE Web page.  It is a
    modified libwms.a library.  Be aware, this libwms.a has the
    expand capability for notebooks turned off.  Therefore, with
    this libwms.a, all Wms applications, including UI applications,
    will not have the notebook expand capability. It is not
    recommended to use this modified libwms.a for any other
    applications, as the cs2shell is the only known application
    to have this problem.

    The external URL for the DAE homepage is:
       http://wwprodsoln.bocaraton.ibm.com/soft/dae/dae.htm
*** Note change to http://publib.boulder.ibm.com/dae/html/dae.htm

    Find PQ02601 under DAE File Repository, Additional Fixes/Work-
    arounds, CS/6000 1.1.1 Single Fix Information - English (or Big5
    for non-English). Be sure to read the associated "readme" file.


INSTALLING PTF UQ05605
----------------------

PTF UQ05605 may be installed using the AIX SMIT utility.  If installing
from tape, give the tape drive name as the 'INPUT device / directory
for software'.  If installing from an image of the tape (that is the
file UQ05605.bff), give the path and file name of the image file.

Follow these directions to update your system and install PTF UQ05605:

   1. Shutdown the Communications System/6000, if it is currently running.

   2. Login as 'root' and execute /etc/slibclean to unload the
      Communications System/6000 shared libraries from memory.

   3. Install PTF UQ05605 using SMIT.

   4. This will update the files listed in the Updated Files section.

   5. The PTF installation is now complete.  You can restart the
      Communications System/6000.  (If on AIX 4.2+, see note above for
      PN86428 on how to give write access to the /usr/lpp/ directory
      before attempting to start CS/6000.)

   6. Run the TQ migration utility.  See Migration For TQ Tables section.


MIGRATION FOR TQ TABLES (required)
----------------------------------

This utility will examine the Table definitions (Queue's don't need
to be migrated) in cs2tqf00.cfs and will migrate the tables if necessary.

Note: is is VERY unlikely that any tables on OS/2 will need to be
migrated and in that case no changes will be made to the table files.
On AIX, most tables will need to be migrated, but there is little chance
of any data being lost or the table being corrupted if the table is not
migrated.  The only possible result of not modifying a table would
be that it would appear to fill up before it is actually full.

To migrate the TQ tables:

   1. Start DAE.
   2. Execute cs2tqmig from the toolkit.


LIST OF FILES
-------------

The following are the files shipped on this PTF:

        /usr/include/cs2/cs2.h
        /usr/include/cs2/cs2cnerr.h
        /usr/include/cs2/cs2coapi.h
        /usr/include/cs2/cs2codfn.h
        /usr/include/cs2/cs2db.h
        /usr/include/cs2/cs2dberr.h
        /usr/include/cs2/cs2dbext.h
        /usr/include/cs2/cs2dbsdb.h
        /usr/include/cs2/cs2dmcal.h
        /usr/include/cs2/cs2ds.h
        /usr/include/cs2/cs2signl.h
        /usr/include/cs2/cs2xact.h
        /usr/include/cs2/txeapi.h
        /usr/include/cs2/txemsgrc.h
        /usr/include/cs2/txesrv.h
        /usr/lib/libcs2.a
        /usr/lib/libcs2i.a
        /usr/lib/libwms.a
        /usr/lib/nls/msg/En_US/cdb.cat
        /usr/lib/nls/msg/En_US/cs2.cat
        /usr/lib/nls/msg/En_US/cs2h.cat
        /usr/lpp/cs2/ddms/cs2dmsvr.lib
        /usr/lpp/cs2/ddms/ddmldip.h
        /usr/lpp/cs2/ddms/msc/cs2dmsvr.lib
        /usr/lpp/cs2/inst_UQ05605/readme.doc.UQ05605
        /usr/lpp/cs2/lib/cs2dbadm.o
        /usr/lpp/cs2/lib/cs2dbdb2.o
        /usr/lpp/cs2/lib/cs2dbodb.o
        /usr/lpp/cs2/lib/cs2dbr04.o
        /usr/lpp/cs2/lib/cs2dbr05.o
        /usr/lpp/cs2/lib/cs2dbr06.o
        /usr/lpp/cs2/lib/cs2dbr08.o
        /usr/lpp/cs2/lib/cs2dbsyd.o
        /usr/lpp/cs2/lib/dbsysdb2.o
        /usr/lpp/cs2/lib/dbsysnon.o
        /usr/lpp/cs2/lib/dbsysodb.o
        /usr/lpp/cs2/lib/dbsyssyd.o
        /usr/lpp/cs2/lib/dbsystbl.o
        /usr/lpp/cs2/lib/txesutbl.o
        /usr/lpp/cs2/sys/cs2ahr00
        /usr/lpp/cs2/sys/cs2apr00
        /usr/lpp/cs2/sys/cs2aptrp
        /usr/lpp/cs2/sys/cs2blr00
        /usr/lpp/cs2/sys/cs2cbr00
        /usr/lpp/cs2/sys/cs2cbt00.exe
        /usr/lpp/cs2/sys/cs2clnup
        /usr/lpp/cs2/sys/cs2dbadm.bnd
        /usr/lpp/cs2/sys/cs2dbcm
        /usr/lpp/cs2/sys/cs2dbcpl.hlp
        /usr/lpp/cs2/sys/cs2dbcpl.pdl
        /usr/lpp/cs2/sys/cs2dbcpl.pml
        /usr/lpp/cs2/sys/cs2dbcr
        /usr/lpp/cs2/sys/cs2dbcs
        /usr/lpp/cs2/sys/cs2dbdb2.bnd
        /usr/lpp/cs2/sys/cs2dbr00
        /usr/lpp/cs2/sys/cs2dbr01
        /usr/lpp/cs2/sys/cs2dbr02
        /usr/lpp/cs2/sys/cs2dbr03
        /usr/lpp/cs2/sys/cs2dbr07
        /usr/lpp/cs2/sys/cs2dbtxe.cnf
        /usr/lpp/cs2/sys/cs2dbu00
        /usr/lpp/cs2/sys/cs2dbu01
        /usr/lpp/cs2/sys/cs2dmr00
        /usr/lpp/cs2/sys/cs2dmr10.exe
        /usr/lpp/cs2/sys/cs2dmrv0.exe
        /usr/lpp/cs2/sys/cs2dspro
        /usr/lpp/cs2/sys/cs2dsrdr
        /usr/lpp/cs2/sys/cs2dsrds
        /usr/lpp/cs2/sys/cs2ecr00
        /usr/lpp/cs2/sys/cs2fsr00
        /usr/lpp/cs2/sys/cs2icm00
        /usr/lpp/cs2/sys/cs2icr00
        /usr/lpp/cs2/sys/cs2icr02
        /usr/lpp/cs2/sys/cs2irr00
        /usr/lpp/cs2/sys/cs2irr01
        /usr/lpp/cs2/sys/cs2irr10
        /usr/lpp/cs2/sys/cs2mmr00
        /usr/lpp/cs2/sys/cs2ncr02
        /usr/lpp/cs2/sys/cs2ps0mp
        /usr/lpp/cs2/sys/cs2ps1mp
        /usr/lpp/cs2/sys/cs2psr00
        /usr/lpp/cs2/sys/cs2psr01
        /usr/lpp/cs2/sys/cs2scr00
        /usr/lpp/cs2/sys/cs2setup
        /usr/lpp/cs2/sys/cs2shell
        /usr/lpp/cs2/sys/cs2shwin.hlp
        /usr/lpp/cs2/sys/cs2shwin.pdl
        /usr/lpp/cs2/sys/cs2shwin.pml
        /usr/lpp/cs2/sys/cs2start
        /usr/lpp/cs2/sys/cs2sura0
        /usr/lpp/cs2/sys/cs2surc0
        /usr/lpp/cs2/sys/cs2tccac
        /usr/lpp/cs2/sys/cs2tccon
        /usr/lpp/cs2/sys/cs2tciio
        /usr/lpp/cs2/sys/cs2tcoio
        /usr/lpp/cs2/sys/cs2tcr00
        /usr/lpp/cs2/sys/cs2tmr00
        /usr/lpp/cs2/sys/cs2tqr00
        /usr/lpp/cs2/sys/cs2tqr01
        /usr/lpp/cs2/sys/cs2uialp.hlp
        /usr/lpp/cs2/sys/cs2uialp.pdl
        /usr/lpp/cs2/sys/cs2uialp.pml
        /usr/lpp/cs2/sys/cs2uialt
        /usr/lpp/cs2/sys/cs2uir00
        /usr/lpp/cs2/sys/cs2uir01
        /usr/lpp/cs2/toolkit/cnfgtool
        /usr/lpp/cs2/toolkit/cs2blt
        /usr/lpp/cs2/toolkit/cs2cbt
        /usr/lpp/cs2/toolkit/cs2cuoff
        /usr/lpp/cs2/toolkit/cs2cutil
        /usr/lpp/cs2/toolkit/cs2fst
        /usr/lpp/cs2/toolkit/cs2ftt
        /usr/lpp/cs2/toolkit/cs2stt
        /usr/lpp/cs2/toolkit/cs2tqmig
        /usr/lpp/cs2/toolkit/cs2tqt
        /usr/lpp/cs2/toolkit/cs2utt
        /usr/lpp/cs2/toolkit/cs2utt.doc
        /usr/lpp/cs2/toolkit/db/assetdb2.dat
        /usr/lpp/cs2/toolkit/db/assets.dat
        /usr/lpp/cs2/toolkit/db/crtdbase.cmd
        /usr/lpp/cs2/toolkit/db/cs2db.doc
        /usr/lpp/cs2/toolkit/db/cs2dbbnd
        /usr/lpp/cs2/toolkit/db/cs2dbcnd.cfg
        /usr/lpp/cs2/toolkit/db/cs2dbcr.cfg
        /usr/lpp/cs2/toolkit/db/cs2dbcs.cfg
        /usr/lpp/cs2/toolkit/db/cs2dbdcl
        /usr/lpp/cs2/toolkit/db/cs2dbdcl.c
        /usr/lpp/cs2/toolkit/db/cs2dbddl
        /usr/lpp/cs2/toolkit/db/cs2dbddl.c
        /usr/lpp/cs2/toolkit/db/cs2dbdml
        /usr/lpp/cs2/toolkit/db/cs2dbdml.c
        /usr/lpp/cs2/toolkit/db/cs2dbsmp.doc
        /usr/lpp/cs2/toolkit/db/cs2dbsmp.mak
        /usr/lpp/cs2/toolkit/db/cstrans
        /usr/lpp/cs2/toolkit/db/cstrans.c
        /usr/lpp/cs2/toolkit/db/cstrans.h
        /usr/lpp/cs2/toolkit/db/ctxeodbc.c
        /usr/lpp/cs2/toolkit/db/ctxeodbc.mak
        /usr/lpp/cs2/toolkit/db/db2asset.dat
        /usr/lpp/cs2/toolkit/db/db2prsns.dat
        /usr/lpp/cs2/toolkit/db/db2type.dat
        /usr/lpp/cs2/toolkit/db/dbsystbl.c
        /usr/lpp/cs2/toolkit/db/dbsystbl.exp
        /usr/lpp/cs2/toolkit/db/dbsystbl.h
        /usr/lpp/cs2/toolkit/db/dbsystbl.mak
        /usr/lpp/cs2/toolkit/db/nondbase.c
        /usr/lpp/cs2/toolkit/db/nondbase.exp
        /usr/lpp/cs2/toolkit/db/nondbase.mak
        /usr/lpp/cs2/toolkit/db/nondbase.o
        /usr/lpp/cs2/toolkit/db/nonsqldb.c
        /usr/lpp/cs2/toolkit/db/persons.dat
        /usr/lpp/cs2/toolkit/db/sumdbl.c
        /usr/lpp/cs2/toolkit/db/sumdbl.exp
        /usr/lpp/cs2/toolkit/db/sumdbl.mak
        /usr/lpp/cs2/toolkit/db/sumdbl.o
        /usr/lpp/cs2/toolkit/db/tables.run
        /usr/lpp/cs2/toolkit/db/txesutbl.c
        /usr/lpp/cs2/toolkit/db/txesutbl.exp
        /usr/lpp/cs2/toolkit/db/txesutbl.mak
        /usr/lpp/cs2/toolkit/db/txetest2
        /usr/lpp/cs2/toolkit/db/txetest2.c
        /usr/lpp/cs2/toolkit/db/txetest2.mak
        /usr/lpp/cs2/toolkit/db/type.dat
        /usr/lpp/cs2/toolkit/db/uraixsql.c
        /usr/lpp/cs2/toolkit/db/urnopdb2.sqc
        /usr/lpp/cs2/toolkit/db/urnopmak.mak
        /usr/lpp/cs2/toolkit/db/urnoptxn.c
        /usr/lpp/cs2/toolkit/db/usrtxdb2.mak
        /usr/lpp/cs2/toolkit/db/usrtxns.exp
        /usr/lpp/cs2/toolkit/ddms/ab/cs2dmr10.exe
        /usr/lpp/cs2/toolkit/ddms/ab/cs2dmrv0.exe
        /usr/lpp/cs2/toolkit/ddms/cs2dmr10.exe
        /usr/lpp/cs2/toolkit/ddms/ge/cs2dmr10.exe
        /usr/lpp/cs2/toolkit/ddms/ge/cs2dmrv0.exe
        /usr/lpp/cs2/toolkit/ddms/mo/cs2dmr10.exe
        /usr/lpp/cs2/toolkit/ddms/mo/cs2dmrv0.exe
        /usr/lpp/cs2/toolkit/ddms/ti/cs2dmr10.exe
        /usr/lpp/cs2/toolkit/ddms/ti/cs2dmrv0.exe
        /usr/lpp/cs2/toolkit/myappl.c
        /usr/lpp/cs2/toolkit/poolsab


LIST OF APARS FIXED
-------------------

New on UQ05605:
---------------
DCR4963  Rewrite TQINIT to CS2TQT.
PN68740  TCP/IP - socket remains after normal shutdown.
PN69979  DB error message: CS2_GET = cannot open cdb.cat file missing.
PN75425  Semaphore number is increased incorrectly.
PN78892  cs2cutil - processor type not valid for RCB.
PN83202  poolsab hangs DAE system.
PN83589  TCP/IP - cs2tccac does not close unix domain socket.
PN88466  Data supply does not erase temporary files when timeout expired.
PN89938  WMS causes an entry field character validation loop.
PN89993  DB - new TXE_OPT_DISCONNECT flag provides explicit disconnect.
PN90723  Print Server - cannot start more than 10 PCBs on CS/6000.
PN91317  UI - on AIX4.2 get CSR5717 when cs2shell up and start 2nd UI app.
PN91325  TQ - cs2tqr01 core dump when message pool is full.
PN92857  DB dispatcher REM traps when using queueing and maximum dedicated
         agents is set to less than number of concurrent clients run.
PQ00747  DB - conflict with definition of register_event in cs2dbc.h.
PQ03833  DDMS d_writervar documentation incomplete.
PQ03838  WMS notebook X-Station memory leakage.
PQ05069  CS2_TEMP_RES - create & purge multiple temporary ACBs causes hang.
PQ05402  CS2_PRINT provides invalid output of 4029-formatted file.
PQ05403  DDMS - CSR2095 - resource in use error from ModifyPoll.
PQ05404  CS2_UTIL api traps when passed invalid originator in the RDS.
PQ05406  DDMS enhancement to support d_writervar cross platform.
PQ05407  ECR - cs2ecr00 frees storage which was not malloc'd.
PQ05408  DB - CS2_TRANSACT returns CSR1391.
PQ05409  DB - CS2_TRANSACT gets timeout using TXE_OPT_OPEN_LOOP.
PQ05410  TQ - trap when 2 TQ servers close same T/Q at same time.
PQ05411  DDMS random I/O points do not update when ldit make connection.
PQ05412  cs2shell - invalid setting of queue limit in DBCB.
PQ05413  DB - incorrect function called by CS2_TRANSACT.
PQ05414  DDMS change for variable msg notification (Plantworks PN84964).
PQ05416  Disk Queued messages not received correctly when CACHE LAZY:ON.
PQ05417  TQ Large tables (300,000+ members) get CSR0409 before table full.
PQ05418  Filter TXE secondary mirror requests based on configurable RCs.
PQ05419  CS2_INIT gets good return code when DAE has been shutdown.
PQ05420  DB CS2_TRANSACT starts new connections due to uninitialized RDS.
PQ05421  Y2000 - update cs2colib and rebuild REMs for year 2000 support.
PQ05422  Time requester keeps sending requests after timeout condition.
PQ05423  TQ - toggle TQ corruption flag during update.
PQ05424  DDMS passing incorrect remote variable size.
PQ05425  TQ - RMU Verify Utility seems to run endlessly for large tables.
PQ05731  Semaphores not deleted at shutdown.
PQ06265  APPC - synchronous TP incorrectly ends after deallocate from host.
PQ07133  TQ - Occasional TQ REM core dumps on open/close of AIX image files.
PQ07269  DB - DB_SELECT hangs using cs2dbdcl sample (Oracle7 via ODBC).
PQ07271  DDMS cannot support remote variable data length greater than 32K.
PQ07611  CS/6000 applications may hang when run by root user.
PQ08215  DDMS builds wrong # of templates when reading DDMS list var.
PQ08634  DB - Timing-related abort in DB at shutdown when trace w/ busy Agent.

From UN87891:
-------------
DCR4811  NCR - to prevent heartbeat messages from appearing on session
         where DAE was started add "DISP=NO" to CS2IRR01.CS2NODE ACB
         start parameters in capital letters with no spaces.
DCR4900  CS2.H - allow multiple #include passes to improve usability.
DCR4927  Improved cs2cbt (Configuration Utility Tool) - allow exit
         from Add request; start parameter display corrected.
PN69492  WMS trap causes abnormal end of cs2uir00 during display panel.
PN72402  WMS performance improved for container list update.
PN75592  DB SQL0843 warning (DBCS) interpreted as error-failure.
PN79264  CS2SHELL - userid not displayed in DBCB.
PN80757  DS - CLM3363 returned when DSRP l_timeout=-1.
PN81531  DB merge server uses primary & secondary DBCB on separate nodes.
PN81532  DB asynchronous mirroring.
PN81533  CS2_TRANSACT API decode error fails to release RD sema4/resrces.
PN81535  DB - Oracle7 via ODBC CS2_DB API support for CS/6000.
         enhancement and various CS2_DB API fixes.
PN81536  NT support on other platforms.
PN81759  Rayonier service project enhancements.
PN81780  DB - cross-platform CS2_TRANSACT API requests are failing in
         the mirrored client's path validation - CS2_TRANSACT API has
         been updated to no longer require server_drive_path and
         client_resp_path when not applicable.

From UN78044:
-------------
DCR662   CS2_REPLY2 function - acknowledged CS2_REPLY.
PN54193  TQ - adding record to a reopened pre-allocated memory image
         table results in csr429 error.
PN58278  Starting appl using CS2_INITIALIZE_RES by a user other than
         the one who started CS/6000 leaves a semaphore behind.
PN60407  cs2uial0 (alert handler) traps.
PN62244  TCP/IP -coredump was issued from  cs2tciio in iio_proc + 0x60.
PN62289  NLS - os2<->aix performance problem.
PN62301  Base logger loops when logging to remote node and a
         communications error occurs.
PN62310  TCP/IP processes (cs2tcxxx) are not shutting down normally.
PN62392  CS/6000 local CCB not started (CSR317 error) when issuing
         bind() within minute of previous close.  Fixed by using
         setsockopt() with so_reuseaddress so bind is immediate.
PN62545  Data Supply (cs2dsrdr) waiting forever for acknowledgement.
         The timeout specified in cs2dsrdr's ACB start parms is now used
         as RDS timeout for CS2_SEND unless overridden by a nonzero
         DSRP timeout.  The override applies only for the cs2dsrds;
         the start parm timeout value is always used for the cs2dsrdr.
PN62555  Data supply does not cleanup aborted session. Now cs2dsrdr
         aborts stranded request if ACB start parm timeout elapses,
         overridden by nonzero value in DSRP timeout field.
PN62586  Calling CS2_INIT multiple times does not re-enable the signal
         handlers.
PN62587  ACB deleted after program running. Calling CS2_WHOAMI with null
         originator rsname corrupts memory. CSR1029 is returned instead.
PN62596  TCP/IP - insufficient max connections in TCP/IP CACB causes
         TCP/IP rem crash.
PN62652  TCP/IP driver cs2tccac hung up. Core dump. Buffer too small.
PN64319  System hangs up after 4096 disk queued messages.
PN65083  DAE forked process has incorrect process id (pid).
PN68216  TCP/IP -can't establish TCP/IP session. Options TCP_KEEPIDLE,
         TCP_KEEPALIVE are now used to detect link failures. Signal
         handlers to deal with epipe are now installed preventing
         termination of cs2tccac during high message-sending rates.
PN68384  Data supply (cs2dsrdr) traps if a forward slash is specified
         as the first character of a CS/2 file path.
PN68841  DDMS - program hangs when sequence is d_defload then d_svhdr.
PN69503  TQ rem crashes when auxiliary table image is on NFS.
PN69587  cs2shell windows are going away when opening data folder.
PN69588  cs2shell - when modifying a table, the number and length are
         changed to 1.
PN71313  CS2_TQ_DELETE fails with CSR1385.
PN71652  CS/6000 APPC rem does not allow more than one remote program.
PN72443  CS2_TEMP_RES API fails (depending on char count in prefix).
PN73806  cs2clnup recognizes only 8 digits of semaphore ID.
PN74603  Initialization - CS/6000 leaves semaphores behind.
PN75966  CS2_PURGE_RES should delete ANCB as well as temporary ACB.
PN75968  cs2apr00 does not issue 'mcconfirmd' & 'tpended'.
PN75970  CS2_BASELOG succeeds when issued from a 32-bit appl with ACB
         set to processor type 2, but message is not baselogged.
PN75971  Data transparency - xp validation check for packed decimal
         types only allowing odd lengths.
PN75972  Initialization (cs2irr00) exits without freeing message pool.
PN75973  Initialization - some control block file sizes result in
         corrupt RD pool at initialization.
PN75983  TQ - CS2_TQ_GETNEXT api corrupts memory when accessing a table
         on a remote node with a different architecture.
PN76778  cs2shell core dumps on save option when resource already
         defined.
PN78096  DDMS used to support baud rates of only 32767 (signed integer).
         Now DDMS treats baud rate as unsigned int with value of 65535.
PN78105  DDMS floating point overflow error when device data larger
         than 1e+10 and percent deadbanding used on remote variable.


------------------------------------------------------------------------------
NOTES FOR UQ05605
-----------------

Maximum Connections cs2shell Help (PQ06217)
-------------------------------------------
    The cs2shell help on the "Maximum connections" field in the
    Communication access resource (CACB) is used not only for
    NETBIOS, but also for TCP/IP communication.

    In the future (not on this PTF), the help text will have
    "TCPIP" added to the Maximum Connections - Help panel:

    "Use this entry field for NETBIOS/TCPIP communication only.
    It is ignored by all other communication. This field is optional.
    Valid values are 1 through 65535. There is a limit on the number
    of connections handled by this communication access resource that
    can be active simultaneously. If more connections are needed, old
    ones are broken and reused."


TQ Member Information cs2shell Help (PN88528)
---------------------------------------------
    The cs2shell help on the "Member information" "Number of members"
    and "Length of member" fields in the Table resource are switched.
    The maximum length of member should be 60000 bytes and the
    maximum number of members should be 9999999.


New Tables and Queues Utility Tool (DCR4963)
--------------------------------------------
    The cs2utt Utility Tools have a new tool added with this PTF,
    the new Tables and Queues Utility Tool (cs2tqt), and a new
    cs2utt.doc.  Refer to the cs2\toolkit\cs2utt.doc for details.


DDMS Doc Change (PQ03833)
-------------------------
    Page 11-281 of the Device Data Management Support
    Book update needs the NOTE at the bottom added:

    d_writevar  Table 11-150 Field Descriptions

    Name    Type     Description
    bfr_sz  short    Variable write:  Specify the size (in bytes)
            integer  of bfr_addr.  If the data consists of multiple
                     elements, you must pack the elements in the
                     buffer.  The size must be equal to or greater
                     than the variable's element_no field
                     multiplied by the element_len field.  (Both
                     fields are defined by d_defrvar.)
                     .
                     Note:  If the size is too small, an E_INVPARM
                     error is returned.
                     .
                     .
         ADD =>  NOTE: For arrays and character strings,
         ADD =>        the bfr_sz field can be less
         ADD =>        than the variable's element_no
         ADD =>        field multiplied by the element_len.
         ADD =>        In such instances the E_INVPARM
         ADD =>        DDMS error is not returned.


Printer Binary Option Added to Print 4029-formatted File (PQ05402)
------------------------------------------------------------------
    The following is an update to the DAE Communication System Technical
    Guide and Reference, Print and Spool Support chapter, Start Parameters
    section.  The parameters for printer resource continuation buffer
    timeout and printer resource maximum errors remain as before.

  | In order to enable optional start parameters with the menu-based
  | utilities, remember to set the "Use load parameters from ACB" flag.

    Printer REM Start Parameters
    ----------------------------

    The printer REM ACB can contain the following optional start
    parameters.

  | Note it is also possible to configure multiple printer resources which
  | need not all use the same set of start parameters.  This is done by
  | configuring two or more printer REMs each with a desired set of start
  | parameters, then assigning each printer resource to be served by the
  | printer REM with appropriate start parameters.

  | Printer resource mode
  |
  |   This start parameter specifies whether to print in text or binary
  |   mode.  The parameter is not used on all platforms.
  |
  |   The default print mode is text.  With text mode on the OS/2 platform,
  |   for example, each new-line character is converted to a carriage
  |   return / linefeed pair.
  |
  |   When you specify binary mode, data is sent to the printer exactly as
  |   received.  No conversion takes place.  This parameter may be useful
  |   to print data formatted for a specific printer.  In addition, binary
  |   mode causes no new-line to be appended to the end of a print job.  It
  |   causes the Printer resource append new-line parameter to default to
  |   not append a new-line.  (This can be overridden by using the Printer
  |   resource append new-line parameter to explicitly force an ending
  |   new-line.  See the Printer resource append new-line parameter
  |   description for details.)
  |
  |   This parameter has the following format:
  |
  |   PRMD=x
  |
  |   where x specifies text or binary print mode.
  |
  |   0     Specifies the default of text mode.
  |   1     Specifies binary mode.

    Printer resource append new-line

      This start parameter allows a user to choose whether or not a
      new-line will be appended to the end of a print job.  A new-line
      consists of a carriage return and line feed control character pair in
      OS/2 text file mode.  This parameter has the following format.

      PRAN=x

      where x specifies whether or not a new-line will be appended at the
      end of a print job.

      0     Specifies that a new-line will not be appended.
  |         This becomes the default only if the Printer resource
  |         mode parameter is used to specify binary mode.

  |   1     Specifies that a new-line will be appended. This is the default
  |         when the Printer resource mode parameter is not used, or when
  |         the printer resource mode parameter explicitly specifies text
  |         mode.

      The appended new-line may be needed with some printers to ensure that
      the last print line is flushed from the print buffer when a print job
      is completed.  It also ensures that no two print jobs will print on
      the same line, regardless of job content.


TXE_OPT_DISCONNECT Flag Provided on CS2_TRANSACT (PN89993)
----------------------------------------------------------
    Update to DAE Application Programming publication, CS2_TRANSACT chapter:

       The work_opt and fail_opt fields also support the following.

       work_opt      You may optionally specify TXE_OPT_DISCONNECT to
                     disconnect from the database after this transaction
                     successfully completes.  TXE_OPT_DISCONNECT may
                     be combined with other work_opt flag values, for
                     example TXE_OPT_COMMIT.

       fail_opt      You may optionally specify TXE_OPT_DISCONNECT to
                     disconnect from the database if this transaction fails.
                     TXE_OPT_DISCONNECT may be combined with other fail_opt
                     flag values, for example TXE_OPT_ROLLBACK.


Database/Transaction Configuration File (optional) (PQ05418)
------------------------------------------------------------
    The Database/Transaction (DB/Txe) component uses an optional configuration
    file, cs2dbtxe.cnf.  This file is located in your Distributed Application
    Environment system path on the node where the DB/Txe server resides.  The
    file is provided by default but may be modified, deleted or renamed if
    desired.

    The DB/Txe configuration file is used to specify the following options:
      * Txe mirror filtering (See "Txe Mirror Filtering" below.)
      * DB/Txe trace extension (See "DB/Txe Trace Extension" below.)

    Comments and blank lines are ignored in the file.  Only keywords, such as
    TxeMirrorFilter, are recognized.  Keywords must start in column 1 and are
    case insensitive.


Txe Mirror Filtering (optional) (PQ05418)
-----------------------------------------
    This optional feature applies only if DB/Txe mirroring is enabled.  It is
    available for both synchronous and asynchronous mirroring.

    The DB/Txe component offers the option of filtering secondary mirrored
    CS2_TRANSACT requests from reissue to the secondary database exactly as
    originated.  Mirror filtering is configured by specifying Transaction
    mirror return code pairs in the DB/Txe configuration file, cs2dbtxe.cnf, on
    the node where the primary database resides.  The return code pairs are
    specified as a TxeMirrorFilter setting.  They determine which failed
    primary requests are filtered from mirroring directly to the secondary
    database.  Each pair consists of an error domain and error value.

    cs2dbtxe.cnf is shipped with one Txe mirror filter return code pair
    by default:
    TxeMirrorFilter = 3,-911.                /* Don't mirror SQL deadlocks */

    In this setting, 3 is the error domain of TXE_SQL_ERR.  -911 is the error
    value for the SQL error, "the current transaction has been rolled back
    because of a deadlock or timeout."  Although deadlock prevention is
    preferred to detection, occasional database deadlocks may be unavoidable in
    some applications.  Here, mirrored CS2_TRANSACT requests can be filtered
    from direct reissue to the secondary database to prevent creating an
    out-of-synchronization condition, or further deadlock.

    An example of three pairs specified is:
    TxeMirrorFilter = 3,-911. 1,121. 3,100.  /* RCs to filter from mirroring */

    When a CS2_TRANSACT request is filtered from mirroring to the secondary
    database resource, the parameters of the client's CS2_TRANSACT structure
    are examined.  If the fail_opt flag in the CS2_TRANSACT structure is set to
    TXE_OPT_ROLLBACK (or TXE_OPT_COMMIT), the secondary database resource is
    rolled back (or committed, as appropriate).  This is done in an attempt to
    better synchronize to the primary database.

    When a CS2_TRANSACT request results in a Txe error, it returns a non-zero
    error domain and value to the client.  Typically, the CS2_TRANSACT CSR code
    returned is CS2_TXE_ERROR (CSR2820).  When mirrored requests are filtered,
    the CS2_TRANSACT API returns a similar code, however, it is tailored for
    mirror filtering:
      CS2_TXE_ERROR_MIR_FLTR (CSR2821) - CS2_TXE_ERROR with secondary
      CS2_TRANSACT request filtered from mirroring.
    In addition, base log messages confirm the acceptance of the mirror filter
    setting, and provide details of mirror errors and filtering.  Refer to the
    message help for further information.

    Note that CS2_TRANSACT always returns the same value from the API as the
    RDS return code (cnretcd field).


DB/Txe Trace Extension (optional) (PQ08634)
-------------------------------------------
    This optional feature applies only if DB/Txe trace is enabled.  Enable
    the DB/Txe trace by setting the trace flag in the DB NIB segment; this
    is the main DB/Txe trace toggle. Optionally, you may also specify
    extended tracing in cs2dbtxe.cnf.  The following setting may be set:

    * (no setting)          /* Base trace.  Excludes trace extensions.   */
    * traceExtension = DB_TRACE_MALLOC  /*Trace only memory alloc/dealloc*/
    * traceExtension = DB_TRACE_FULL    /* Full trace option             */

    Refer to cs2dbtxe.cnf for details.


------------------------------------------------------------------------------
NOTES FROM UN87891
------------------

Configuring Database for RDBMS Support
--------------------------------------
    IMPORTANT FOR USING BUILT-IN SUPPORT FOR RDBMS:

    In this enhancement, the database component was reorganized.
    As a result, you must copy the dynamic library required for the
    DBCB database type accessed locally by your DAE applications.
    To enable local support for a particular database type, you must
    copy the file listed below to \usr\lpp\cs2\lib\dbsystbl.o:

       RDBMS    File        Notes
       -------  ----------  -------------------------------------------
       DB2/2    dbsysdb2.o    Be sure to rebind your databases after in-
                              stalling this PTF and copying this file.

       Sybase   dbsyssyd.o    TxE only.

  ***  Oracle6  dbsysor6.o    (Was TxE only.)
         *** Oracle6 is not supported on this PTF. ***

       ODBC     dbsysodb.o    For ODBC support.

       Non-SQL  dbsysnon.o    This is the shipped default dbsystbl.dll.


Configuring Database for DB/Txe Mirroring
-----------------------------------------
    This step applies only to DB/Txe Mirroring users:

    If you are using Synchronous or Asynchronous mirroring, configure
    your DBCBs. To configure Txe Mirroring using the DAE Shell:
      * In the primary DBCB for a database:
        o Specify a role of Primary.
        o Select either synchronous or asynchronous mirroring:
            Select the pushbutton to make calls synchronously;
             -OR-
            Select the pushbutton to use local mirror application
            resource.
        o Specify a secondary database resource.
      * In the secondary DBCB for a database:
        o Specify a Role of Secondary.

    To configure Txe Mirroring using CNFGTOOL:
      * In the primary DBCB for a database:
        o Specify a role of Primary.
        o Specify a secondary DBCB.
        o Set the mirroring enabled flag.
        o Select either synchronous or asynchronous mirroring:
            Set synchronous transaction mirroring to yes;
             -OR-
            Set asynchronous mirroring ACB on this node to yes.
      * In the secondary DBCB for a database:
        o Specify a Role of Secondary.


ODBC/ORACLE7 Support : Configuration and Application Development Guide
----------------------------------------------------------------------
    In an enhancement to the CS/6000 1.1 product, Oracle7 via an ODBC
    Driver support for the CS2_DB APIs has been added.  This enhancement
    is supported using the Visigenic ODBC Driver Set for AIX 3.2.5.
    Other ODBC Driver Sets have not been tested.

    Prerequisites
    -------------
    The following software is required.  The versions/releases in
    parentheses '()' indicate the versions that were used for testing
    purposes.  Versions of the Visigenic ODBC Driver Set for AIX earlier
    than 1.10 are not compatible with this release.

      AIX (Version 3.2.5)
      Oracle7 Server (Release 7.2.2.3.0)
      Visigenic ODBC Driver Set for AIX (Version 1.10.0004)

    Verifying the Visigenic ODBC Driver Set Installation
    ----------------------------------------------------
    After the ODBC Driver Set has been installed, we suggest the
    following to ensure that the driver is working properly:

      1. Verify that configuration settings such as environment
         variables (ORACLE_HOME, ORACLE_SID, LIBPATH) are correct.
         Verify that the location and settings in .odbc.ini are correct.

      2. Start Oracle7.

      3. Run the Visigenic ODBC sample programs: 'adhoc' and 'static'.

    DBCB Configuration
    ------------------
    A new DBCB database type has been added for ODBC support.
    DB_TYPE_ODBC is the C programming constant and 12 is the numeric
    value.  The cs2shell, cs2utt, or cnfgtool utilities can be used to
    create or modify DBCBs with this database type.

    When creating a DBCB for an Oracle7 via ODBC database be sure to do
    the following:

       1. Set the DBCB database type field to ODBC.

       2. Set the DBCB database name field to the ORACLE_SID of
          the Oracle database.

       3. Make sure the .odbc.ini file in the home directory of
          UNIX ID from which DAE is run contains an entry in the
          [ODBC Data Sources] section for the ORACLE_SID and
          contains an [oracle_sid] section with the appropriate
          "Driver=" information.

       For example, if the ORACLE_SID is PROD, the DBCB database name
       should be PROD, the [ODBC Data Sources] section of .odbc.ini
       should have a line that reads PROD=Visigenic Oracle7, and it
       should have a [PROD] section with a line that reads
       Driver=/usr/opt/odbc/drivers/vsorac.so.1.

    Usage Notes on SQLTYPE in the DBDA Structure
    --------------------------------------------
    The database APIs use an input DBDA structure (dbs.dbda) to
    associate host variables with markers in SQL statements and an
    output DBDA structure (placed at the start of the output results
    buffer) to describe the results of a SELECT.  The DBDA structure
    consists of a fixed header structure (HDR_S) followed by a variable
    number of column/marker structures (VAR_S). The VAR_S structure
    consists of fields that indicate the type of column being accessed
    and the type of C storage used for sending and receiving data.

    The table below shows:  the SQL data types supported, the SQL
    declaration syntax for DB2 and Oracle7, and the corresponding VAR_S
    sqltype value.  If a SQL declaration is listed as "n/a," the
    corresponding sqltype is not valid for that DBMS.

    The second table below describes the remaining VAR_S fields for
    each type.

                                                                   DBDA
                                                      Oracle7      sql-
    SQL Type               DB/2 Declaration           Declaration  type
    ---------------------  -----------------------    -----------  ----
    fixed length           CHAR(n)                    CHAR(n)      453
    character string        w/NOT NULL                 w/NOT NULL  452

    fixed length           CHAR(n) FOR BIT DATA       n/a          453
    binary data             w/NOT NULL                             452

    varying length         VARCHAR(n)                 VARCHAR2(n)  449
    character string        w/NOT NULL                 w/NOT NULL  448

    varying length         VARCHAR(n) FOR BIT DATA    RAW(n)       449
    binary data             w/NOT NULL                 w/NOT NULL  448

    long varying length    LONG VARCHAR               LONG         457
    character string        w/NOT NULL                 w/NOT NULL  456

    long varying length    LONG VARCHAR FOR BIT DATA  LONG RAW     457
    binary data             w/NOT NULL                 w/NOT NULL  456

    fixed point signed     DECIMAL(p,s)               NUMBER(p,s)  481*
    number with precision   w/NOT NULL                 w/NOT NULL  480
    p and scale s

    fixed point number     SMALLINT                   n/a**        501
    with precision 5        w/NOT NULL                             500
    and scale 0

    fixed point number     INTEGER                    n/a**        497
    with precision 10                                              496
    and scale 0

    floating point number  n/a                        FLOAT(b)     481
    with binary precision                                          480
    b

    double precision       DOUBLE PRECISION           NUMBER       481
    floating point                                                 480
    number

    date/time data         TIMESTAMP                  DATE         393
                                                                   392

    date (only) data       DATE                       n/a          385
                                                                   384

    time (only) data       TIME                       n/a          389
                                                                   388

    fixed length           GRAPHIC(n)                 n/a          469
    graphic string          w/NOT NULL                             468

    varying length         VARGRAPHIC(n)              n/a          465
    graphic string          w/NOT NULL                             464

    long varying length    LONG VARGRAPHIC            n/a          473
    graphic string          w/NOT NULL                             472



                          DBDA  C variable type
                          sql-  pointed to by    DBDA   DBDA
    SQL Type              type  DBDA sql_data    sqllen ext_attrib
    --------------------- ---- ----------------- ------ ----------------
    fixed length          453  char[len]         len    DB_NO_EXT_ATTRIB
    character string      452  no '\0' needed

    fixed length          453  char[len]         len    DB_FOR_BIT_DATA
    binary data           452  no '\0' needed

    varying length        449  struct {          len+2  DB_NO_EXT_ATTRIB
    character string      448   short int len;
                                char  arr[len];}
                               no '\0' needed

    varying length        449  struct {          len+2  DB_FOR_BIT_DATA
    binary data           448   short int len;
                                char  arr[len];}
                               no '\0' needed

    long varying length   457  struct {          len+2  DB_NO_EXT_ATTRIB
    character string      456   short int len;
                                char  arr[len];}
                               no '\0' needed

    long varying length   457  struct {          len+2  DB_FOR_BIT_DATA
    binary data           456   short int len;
                                char  arr[len];}
                               no '\0' needed

    fixed point signed    481* double            8      n/a
    number with precision 480
    p and scale s

    fixed point number    501  short int         2      n/a
    with precision 5 and  500
    scale 0

    fixed point number    497  long int          4      n/a
    with precision 10 and 496
    scale 0

    floating point number 481  double            8      n/a
    with binary precision 480
    b

    double precision      481  double            8      n/a
    floating point number 480

    date/time data        393  char[19-26]       19 -   n/a
                          392  no '\0' needed     26

    date (only) data      385  char[10]          10     n/a
                          384  no '\0' needed

    time (only) data      389  char[8]           8      n/a
                          388  no '\0' needed

    fixed length          469  char[len]         len    n/a
    graphic string        468  no '\0' needed

    varying length        465  struct {          len+2  n/a
    graphic string        464   short int len;
                                char  arr[len];}
                               no '\0' needed

    long varying length   473  struct {          len+2  n/a
    graphic string        472   short int len;
                                char  arr[len];}
                               no '\0' needed

     * In prior versions, sqltype 484/485 (packed decimal) was
       recommended but required the user to convert numbers to/from
       BCD (binary coded decimal) format.  The packed decimal sqltype
       is not supported in DAE's ODBC version.

    ** Oracle maps the DB2 types SMALLINT and INTEGER to the Oracle type
       NUMBER. If a column is declared as type SMALLINT or INTEGER in
       Oracle, the appropriate sqltype is 480/481.

    DBMS Interoperability
    ---------------------
    DBCBs (and their associated schema objects) can be ported from one
    supported DBMS to another without modification of the associated
    application program provided that platform-specific or RDBMS vendor
    specific parameters are not used.

    ODBC defines certain extensions to SQL which are common to most
    DBMS's including:

       - Date, time, and timestamp data
       - Scalar functions such as numeric, string, and data type
         conversion functions
       - LIKE predicate escape characters
       - Outer joins
       - Procedures

    Most DBMS's provide the same extensions to SQL as ODBC does.
    Because of this, an application may be able to submit an SQL
    statement using either the syntax defined by ODBC or the syntax
    defined by the DBMS.  The interoperability between DBMSs for a
    client application may be enhanced if the ODBC syntax is used.
    Please refer to any of a number of ODBC Version 2.0 publications
    for more details regarding ODBC extensions to SQL.


------------------------------------------------------------------------------
COMPLEMENTARY FIXES FOR CS/2 1.3.1
----------------------------------

  CS/6000 1.1.1     CS/2 1.3.1
  PTF UQ05605       PTF UQ05603
  -------------     -----------
    DCR4963           DCR4963
    PN78892           PQ05426
    PN83202           PQ05427
    PN88466           PQ05428
    PN89993           PQ05429
    PN90723           PQ05430
    PN92857           PQ05431
    PQ00747           PQ05433
    PQ05402           PN79627
    PQ05403           PN81433
    PQ05404           PN82509
    PQ05406           PN82921
    PQ05407           PN82927
    PQ05408           PN83330
    PQ05409           PN83331
    PQ05410           PN83647
    PQ05411           PN84356
    PQ05412           PN84602
    PQ05413           PN84933
    PQ05414           PN85698
    PQ05416           PN86802
    PQ05417           PN88042
    PQ05418           PN88060
    PQ05419           PN88546
    PQ05420           PN90114
    PQ05421           PN92710
    PQ05422           PQ00281
    PQ05423           PQ00493
    PQ05424           PQ03384
    PQ05425           PQ03667
    PQ06265           PQ05823
    PQ07133           PQ08297
    PQ07271           PQ02149
    PQ08215           PQ08094
    PQ08634           PQ08183

  CS/6000 1.1.1     CS/2 1.3.1
  PTF UN87891       PTF UN87209
  -------------     -----------
    DCR4811           DCR4811
    DCR4900           DCR4900
    DCR4927           DCR4927
    PN75592           PN81537
    PN79264           PN81538
    PN80757           PN81539
    PN81531           PN71667
    PN81532           PN75532
    PN81533           PN76912
    PN81535           PN80759
    PN81536           PN81452
    PN81759           PN62160
    PN81780           PN81028

  CS/6000 1.1.1     CS/2 1.3.1
  PTF UN78044       PTF UN78045
  -------------     -----------
    DCR662            DCR662
    PN62289           PN75974
    PN62301           PN75975
    PN62392           PN62590
    PN62545           PN64368
    PN62555           PN64367
    PN62587           PN62587
    PN68216           PN68287
    PN68384           PN60139
    PN68841           PN75976
    PN69587           PN75978
    PN69588           PN75979
    PN71313           PN75980
    PN72443           PN75981
    PN75966           PN57206
    PN75968           PN61507
    PN75970           PN64612
    PN75971           PN64673
    PN75972           PN65303
    PN75973           PN70121
    PN75983           PN67417
    PN76778           PN77061
    PN78096           PN61268
    PN78105           PN77882

END OF FILE
-----------



Last modified: January 23, 2004
DAE File Repository   |   DAE   |   Email DAE

   About IBM  |   Privacy  |   Terms of use  |   Contact