DAE PTF UQ05603 Readme file


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

This is the UQ05603.DOC file for the IBM Communications System/2: Version 1
Release 3 Modification 1 (English) PTF UQ05603 (aka PTF 3).

The following topics are covered in this UQ05603.DOC file:

o  PREREQUISITES
o  INSTALL PROGRAM FEATURES
o  INSTALLING PTF UQ05603
o  MIGRATION FOR TQ TABLES (required)
o  LIST OF FILES
o  LIST OF APARS FIXED
o  NOTES FOR UQ05603
   -  CS/2 OI Requirement on WARP 4.0+
   -  TCP/IP 3.0+ GetHostByName Work-Around (PN86849)
   -  Maximum Connections cs2shell Help (PQ06217)
   -  TQ Member Information cs2shell Help (PN88528)
   -  CS/2 & CS/HP Communication Fix (CS/HP APAR PQ04326)
   -  Utility Tools (DCR4963)
   -  DDMS Doc Change (PQ03833)
   -  Printer REM Consuming Excessive CPU Time
   -  Printer Binary Option Added to Print 4029-formatted File (PN79627)
   -  Guidelines for VisualAge C++ DAE Applications (PN91577)
   -  TXE_OPT_DISCONNECT Flag Provided on CS2_TRANSACT (PQ05429)
   -  Database/Transaction Configuration File (optional) (PN88060)
   -  Txe Mirror Filtering (optional) (PN88060)
   -  DB/Txe Trace Extension (optional) (PQ08183)
o  NOTES FROM UN87209
   -  Configuring Database For:
      .  RDBMS Support
      .  DB/Txe Mirroring
o  COMPLEMENTARY FIXES FOR CS/6000 1.1.1


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

Program Temporary Fix UQ05603 requires Communications System/2 (5601-116)
Release 3.1 (English). Please ensure you are at this level before proceeding
with the installation of this PTF.

UQ05603 supercedes PTFs UN78045 and UN87209.

UQ05603 can be applied directly to the CS/2 R3.1 (English) product or
on top of PTF UN78045 and/or UN87209.  UQ05603 is cumulative, containing
all fixes from UN78045 and UN87209, as well as additional fixes.


INSTALL PROGRAM FEATURES
------------------------

   1. ONLY INSTALLED OPTIONS WILL BE UPDATED:
      The Install program determines which options were previously
      installed by reading NETDIST support files (either topology.dat
      or mintopo.dat).  Only those files for which support was
      previously installed will be installed. If the Install program
      cannot find the NETDIST support files, then all files contained
      on the PTF will be installed.

   2. FILES BACKED UP:
      Before replacing, the Install program copies files into
      their respective path under the CS2\BACKUP\UQ05603\ directory.

   3. SYSLEVEL UPDATED:
      The last step of the installation is to update the SYSLEVEL.CS2
      to reflect PTF UQ05603 has been installed.  The original file
      is saved as SYSLEVEL.BAK under CS2\BACKUP\UQ05603\.


INSTALLING PTF UQ05603
----------------------

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

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

   2. Place the first diskette in the A: drive.

   3. From the A: directory issue:

        INSTALL Y:
        where Y is the drive where CS/2 is installed.

   4. Place the requested diskette in the a: drive when prompted.

   5. When the installation complete message is displayed,
      restart the Communications System/2.

   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:

          DDMS\             CS2DMSVR.LIB
          DDMS\             DDMLDIP.H
          DDMS\             FULLDATA.OBJ
          DDMS\             MIDDATA.OBJ
          DDMS\             MINDATA.OBJ
          DDMS\MSC\         CS2DMSVR.LIB
          DDMS\MSC\         FULLDATA.OBJ
          DDMS\MSC\         MIDDATA.OBJ
          DDMS\MSC\         MINDATA.OBJ
          DLL\              CS2CLS01.DLL
          DLL\              CS2CLS02.DLL
          DLL\              CS2CLS03.DLL
          DLL\              CS2CLS04.DLL
          DLL\              CS2CLS05.DLL
          DLL\              CS2CLS07.DLL
          DLL\              CS2COLIB.DLL
          DLL\              CS2DBADM.DLL
          DLL\              CS2DBDB2.DLL
          DLL\              CS2DBR04.DLL
          DLL\              CS2DBR05.DLL
          DLL\              CS2DBR06.DLL
          DLL\              CS2DBR08.DLL
          DLL\              CS2DBSYD.DLL
          DLL\              CS2DMCLS.DLL
          DLL\              CS2DMLDP.DLL
          DLL\              CS2NLS.DLL
          DLL\              CS2UILIB.DLL
          DLL\              DBSYSDB2.DLL
          DLL\              DBSYSNON.DLL
          DLL\              DBSYSSYD.DLL
          DLL\              DBSYSTBL.DLL
          DLL\              TXESUTBL.DLL
          DLL\              WMS22.DLL
          DLL\32_BIT\       CS232CLS.DLL
          DLL\32_BIT\       CS232DM.DLL
          DLL\32_BIT\       CS232NLS.DLL
          DLL\32_BIT\       CS232NTN.DLL
          DLL\32_BIT\       CS232TDM.DLL
          DLL\32_BIT\       CS232TNK.DLL
          INCLUDE\C\        CS2.H
          INCLUDE\C\        CS2COAPI.H
          INCLUDE\C\        CS2COCON.H
          INCLUDE\C\        CS2CODFN.H
          INCLUDE\C\        CS2DB.H
          INCLUDE\C\        CS2DBERR.H
          INCLUDE\C\        CS2DBEXT.H
          INCLUDE\C\        CS2DBSDB.H
          INCLUDE\C\        CS2DMCAL.H
          INCLUDE\C\        CS2DS.H
          INCLUDE\C\        CS2MDEP.H
          INCLUDE\C\        CS2PC.H
          INCLUDE\C\        CS2SIGNL.H
          INCLUDE\C\        CS2UI.H
          INCLUDE\C\        CS2XACT.H
          INCLUDE\C\        TXEAPI.H
          INCLUDE\C\        TXEMSGRC.H
          INCLUDE\C\        TXESRV.H
          LIB\              CS2CALLS.LIB
          LIB\              CS2DMCLS.LIB
          LIB\              CS2DMRDT.OBJ
          LIB\32_BIT\       CS2CALLS.LIB
          LIB\32_BIT\       CS2DMCLS.LIB
          PAN\              CS2STEXT.LIB
          SYS\              CS2AHR00.EXE
          SYS\              CS2APR00.EXE
          SYS\              CS2BLR00.EXE
          SYS\              CS2CBR00.EXE
          SYS\              CS2CBT00.EXE
          SYS\              CS2CCR00.EXE
          SYS\              CS2CCR00.V11
          SYS\              CS2DBACS.BND
          SYS\              CS2DBADM.BND
          SYS\              CS2DBARR.BND
          SYS\              CS2DBBU.BND
          SYS\              CS2DBBU.EXE
          SYS\              CS2DBCM.EXE
          SYS\              CS2DBCPL.HLP
          SYS\              CS2DBCPL.PDL
          SYS\              CS2DBCPL.PML
          SYS\              CS2DBCR.EXE
          SYS\              CS2DBCS.EXE
          SYS\              CS2DBR00.EXE
          SYS\              CS2DBR01.EXE
          SYS\              CS2DBR02.EXE
          SYS\              CS2DBR03.EXE
          SYS\              CS2DBR07.EXE
          SYS\              CS2DBTXE.CNF
          SYS\              CS2DBU00.EXE
          SYS\              CS2DBU01.EXE
          SYS\              CS2DCR00.EXE
          SYS\              CS2DMR00.EXE
          SYS\              CS2DMR10.EXE
          SYS\              CS2DMRV0.EXE
          SYS\              CS2DMU00.EXE
          SYS\              CS2DSRDR.EXE
          SYS\              CS2DSRDS.EXE
          SYS\              CS2ECR00.EXE
          SYS\              CS2FSR00.EXE
          SYS\              CS2ICR00.EXE
          SYS\              CS2IRR00.EXE
          SYS\              CS2IRR01.EXE
          SYS\              CS2IRR10.EXE
          SYS\              CS2MMR00.EXE
          SYS\              CS2NBR00.EXE
          SYS\              CS2PSR00.EXE
          SYS\              CS2PSR01.EXE
          SYS\              CS2SCR00.EXE
          SYS\              CS2SHELL.EXE
          SYS\              CS2SHWIN.HLP
          SYS\              CS2SHWIN.PDL
          SYS\              CS2SHWIN.PML
          SYS\              CS2SURA0.EXE
          SYS\              CS2SURC0.EXE
          SYS\              CS2TCR00.EXE
          SYS\              CS2TCR00.V11
          SYS\              CS2TMR00.EXE
          SYS\              CS2TQR00.EXE
          SYS\              CS2UIR00.EXE
          SYS\              CS2UTT.MSG
          SYS\              CSR.MSG
          SYS\              CSRH.MSG
          TOOLKIT\          CS2BLT.EXE
          TOOLKIT\          CS2CBT.EXE
          TOOLKIT\          CS2CCT.EXE
          TOOLKIT\          CS2CUOFF.EXE
          TOOLKIT\          CS2CUTIL.EXE
          TOOLKIT\          CS2FST.EXE
          TOOLKIT\          CS2FTT.EXE
          TOOLKIT\          CS2STT.EXE
          TOOLKIT\          CS2TQMIG.EXE
          TOOLKIT\          CS2TQT.EXE
          TOOLKIT\          CS2UTT.DOC
          TOOLKIT\          CS2UTT.EXE
          TOOLKIT\          MYAPPL.C
          TOOLKIT\          POOLSAB.EXE
          TOOLKIT\CSW\      CSW.DLL
          TOOLKIT\CSW\      CSW.MSG
          TOOLKIT\CSW\      CSWAPFNC.H
          TOOLKIT\CSW\      CSWAPI.DLL
          TOOLKIT\CSW\      CSWAPI.LIB
          TOOLKIT\CSW\      CSWBLD.EXE
          TOOLKIT\CSW\      CSWBUILD.DLL
          TOOLKIT\CSW\      CSWH.MSG
          TOOLKIT\CSW\      CSWMERGE.EXE
          TOOLKIT\CSW\      CSWRESYN.EXE
          TOOLKIT\CSW\      CSWRUN.EXE
          TOOLKIT\CSW\      CSWSAMP2.DLL
          TOOLKIT\CSW\      CSWSAMP2.EXE
          TOOLKIT\CSW\      CSWTX2BN.EXE
          TOOLKIT\CSW\      CSWTXTCR.EXE
          TOOLKIT\DB\       ASSETS.DAT
          TOOLKIT\DB\       CRTDBASE.BND
          TOOLKIT\DB\       CRTDBASE.DOC
          TOOLKIT\DB\       CRTDBASE.EXE
          TOOLKIT\DB\       CS2DB.DOC
          TOOLKIT\DB\       CS2DBBND.CMD
          TOOLKIT\DB\       CS2DBCND.CFG
          TOOLKIT\DB\       CS2DBCR.CFG
          TOOLKIT\DB\       CS2DBCS.CFG
          TOOLKIT\DB\       CS2DBDCL.C
          TOOLKIT\DB\       CS2DBDCL.EXE
          TOOLKIT\DB\       CS2DBDDL.C
          TOOLKIT\DB\       CS2DBDDL.EXE
          TOOLKIT\DB\       CS2DBDML.C
          TOOLKIT\DB\       CS2DBDML.EXE
          TOOLKIT\DB\       CS2DBSMP.DOC
          TOOLKIT\DB\       CS2DBSMP.MAK
          TOOLKIT\DB\       CSTRANS.C
          TOOLKIT\DB\       CSTRANS.EXE
          TOOLKIT\DB\       CSTRANS.H
          TOOLKIT\DB\       CTXEODBC.C
          TOOLKIT\DB\       CTXEODBC.MAK
          TOOLKIT\DB\       DBSYSTBL.C
          TOOLKIT\DB\       DBSYSTBL.DEF
          TOOLKIT\DB\       DBSYSTBL.H
          TOOLKIT\DB\       DBSYSTBL.MAK
          TOOLKIT\DB\       NONDBASE.C
          TOOLKIT\DB\       NONDBASE.DEF
          TOOLKIT\DB\       NONDBASE.DLL
          TOOLKIT\DB\       NONDBASE.MAK
          TOOLKIT\DB\       NONSQLDB.C
          TOOLKIT\DB\       PERSONS.DAT
          TOOLKIT\DB\       SAMPBACK.CMD
          TOOLKIT\DB\       SUMDBL.C
          TOOLKIT\DB\       SUMDBL.DEF
          TOOLKIT\DB\       SUMDBL.DLL
          TOOLKIT\DB\       SUMDBL.MAK
          TOOLKIT\DB\       TABLES.CFG
          TOOLKIT\DB\       TABLES.RUN
          TOOLKIT\DB\       TXESUTBL.C
          TOOLKIT\DB\       TXESUTBL.DEF
          TOOLKIT\DB\       TXESUTBL.MAK
          TOOLKIT\DB\       TXETEST2.C
          TOOLKIT\DB\       TXETEST2.CFG
          TOOLKIT\DB\       TXETEST2.EXE
          TOOLKIT\DB\       TXETEST2.MAK
          TOOLKIT\DB\       TYPE.DAT
          TOOLKIT\DDMS\     CS2DMR10.EXE
          TOOLKIT\DDMS\AB\  CS2DMLDP.DLL
          TOOLKIT\DDMS\AB\  CS2DMR10.EXE
          TOOLKIT\DDMS\AB\  CS2DMRV0.EXE
          TOOLKIT\DDMS\GE\  CS2DMLDP.DLL
          TOOLKIT\DDMS\GE\  CS2DMR10.EXE
          TOOLKIT\DDMS\GE\  CS2DMRV0.EXE
          TOOLKIT\DDMS\MO\  CS2DMLDP.DLL
          TOOLKIT\DDMS\MO\  CS2DMR10.EXE
          TOOLKIT\DDMS\MO\  CS2DMRV0.EXE
          TOOLKIT\DDMS\TI\  CS2DMLDP.DLL
          TOOLKIT\DDMS\TI\  CS2DMR10.EXE
          TOOLKIT\DDMS\TI\  CS2DMRV0.EXE


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

New on UQ05603:
---------------
DCR4927  Improved cs2cbt (Configuration Utility Tool) - allow exit.
DCR4963  Rewrite tqinit to cs2tqt; add Utility Tools to CS/2.
PN75716  CS2_NOTIFY_CMD has no data when 32-bit appl has ACB proc type=2.
PN79627  CS2_PRINT provides invalid output of 4029-formatted file.
PN80358  DDMS - cs2dmcls.dll traps when disconnecting if outstanding IO.
PN81433  DDMS - CSR2095 - resource in use error from ModifyPoll.
PN82509  CS2_UTIL API traps when passed invalid originator in the RDS.
PN82921  DDMS enhancement to support d_writervar cross platform.
PN82927  ECR - cs2ecr00 frees storage which was not malloc'd.
PN83330  DB - CS2_TRANSACT returns CSR1391.
PN83331  DB - CS2_TRANSACT gets timeout using TXE_OPT_OPEN_LOOP.
PN83647  TQ - trap when 2 TQ servers close same T/Q at same time.
PN84356  DDMS random I/O points do not update when ldit make connection.
PN84602  cs2shell - invalid setting of queue limit in DBCB.
PN84933  DB - incorrect function called by CS2_TRANSACT.
PN85572  DDMS - CS232DM.DLL traps during Plantworks point set install.
PN85698  DDMS change for variable msg notification (Plantworks PN84964).
PN86802  Disk Queued messages not received correctly when CACHE LAZY:ON.
PN86849  TCP/IP 3.0+ GetHostByName work-around suggestions.
PN87368  cs232tnk.dll traps or hangs running Plantworks on SMP machine.
PN87894  ICR REM routing to treat blank originating CCB entry same as null.
PN88042  TQ Large tables (300,000+ members) get CSR0409 before table full.
PN88060  Filter TXE secondary mirror requests based on configurable RCs.
PN88194  cs2cbr00 may trap when there are over 1000 control blocks.
PN88546  CS2_INIT gets good return code when DAE has been shutdown.
PN89729  UI scalable font supporting changes for service enhancement.
PN90114  DB CS2_TRANSACT starts new connections due to uninitialized RDS.
PN91577  Doc - DAE application compiled with Visualage C++ guidelines.
PN92631  Thunk - incorrect process ID returned on CS2_UTIL from 32-bit appl.
PN92710  Y2000 - update cs2colib and rebuild REMs for year 2000 support.
PQ00281  Time requester keeps sending requests after timeout condition.
PQ00493  TQ - toggle TQ corruption flag during update.
PQ02149  DDMS cannot support remote variable data length greater than 32K.
PQ02397  DDMS CS2DMCLS/ICIOTASK/FFISRV00 trap on Plantworks startup/PN87858.
PQ02926  DB - PTF2 headers cause trap in user 32-bit TXN.
PQ03384  DDMS passing incorrect remote variable size.
PQ03667  TQ - RMU Verify Utility seems to run endlessly for large tables.
PQ03788  Thunk - async call error path memory not released in thunk layer.
PQ03833  DDMS d_writervar documentation incomplete.
PQ05251  Thunk - CS2_GETDSEG thunk support.
PQ05426  cs2cutil - processor type not valid for RCB.
PQ05427  poolsab hangs DAE system.
PQ05428  Data supply does not erase temporary files when timeout expires.
PQ05429  DB - new TXE_OPT_DISCONNECT flag provides explicit disconnect.
PQ05430  Print Server - cannot start more than 10 PCBs on CS/6000.
PQ05431  DB dispatcher REM traps when using queueing and maximum dedicated
         agents is set to less than number of concurrent clients run.
PQ05433  DB - conflict with definition of register_event in cs2dbc.h.
PQ05823  APPC - synchronous TP incorrectly ends after deallocate from host.
PQ05989  Data supply - 32-bit apps get timeout error CLM3363.
PQ06856  DCS - DCS_WRITE with a datalength of 0 produces CSR0051.
PQ08094  DDMS builds wrong # of templates when reading DDMS list var.
PQ08183  DB - Timing-related abort in DB at shutdown when trace w/ busy Agent.
PQ08297  TQ - Occasional TQ REM core dumps on open/close of AIX image files.

From UN87209:
-------------
DCR4811  NCR - to prevent heartbeat messages from appearing on session
         where DAE was started add "DISP=NO" to the CS2IRR01 ACB
         start parameters in capital letters with no spaces.
DCR4900  CS2.H - allow multiple #include passes to improve usability.
PN60489  CS2_TQ_LSTUSR thunk support.
PN62160  Rayonier service project enhancements.
PN71667  DB merge server using primary and secondary DBCB on separate
         nodes.
PN71740  UI application traps in CS232TNK.DLL.
PN75532  DB asynchronous mirroring.
PN76912  CS2_TRANSACT API decode error fails to release RD sema4/resrces.
PN77308  DB - when using DB2/2 V2.0 with CS/2, discontinued DB2/2 V1.2
         APIs cause CS2DBDB2.DLL to fail.
PN77374  Netbios REM lost track of session established by remote node.
PN80759  DB - Oracle7 via ODBC CS2_DB API support for CS/6000
         enhancement and various CS2_DB API fixes.
PN81028  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.
PN81452  NT support on other platforms.
PN81537  DB SQL0843 warning (DBCS) interpreted as error-failure.
PN81538  cs2shell - userid not displayed in DBCB.
PN81539  DS - CLM3363 returned when DSRP l_timeout=-1.

From UN78045:
-------------
DCR662   CS2_REPLY2 function - acknowledged CS2_REPLY.
PN46711  OI utilities help message for system trace NIB on disk
         for disk message range should read bytes, not kb.
PN53783  WMS - numeric keypad does not auto tab.
PN57206  CS2_PURGE_RES should delete ancb as well as temporary ACB.
PN59503  DDMS cs2dmcls.dll traps (sys3175) when D_DISCONNECT times out.
PN60139  Data supply (cs2dsrdr) traps if a forward slash is specified
         as the first character of a CS/2 file path.
PN60493  CDIN to support ga level CDF.
PN60751  UI - stack exception occurs in the cs2uilib.dll when displaying
         more than three levels of panels.
PN61001  Netbios - (cs2nbr00) not all of > 1k message is received on
         CS/2 node when message sent from a non-CS/2 node.
PN61268  DDMS used to support baud rates of only 32767 (signed integer).
         now DDMS treats baud rate as unsigned int with value of 65535.
PN61507  APPC - cs2apr00 does not issue 'MCCONFIRMD' & 'TPENDED'.
PN62557  UI - multi-text support for graphics primitive.
PN62587  Calling CS2_WHOAMI with null originator rsname corrupts memory.
         CSR1029 is returned instead.
PN62590  TCP/IP - 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.
PN63974  CSW - csw.log file growing forever.
PN64367  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.
PN64368  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.
PN64446  CSW - csw.dll traps.
PN64612  CS2_BASELOG succeeds when issued from a 32-bit appl with ACB
         set to processor type 2, but message is not baselogged.
PN64673  Data transparency - XP validation check for packed decimal
         types only allowing odd lengths.
PN65303  Initialization REM exits without freeing message pool.
PN65308  New API - CS2_EXIT_SYS, to allow an application to remove
         access to the DAE system. This allows the application to
         remain started when DAE is stopped and restarted.
PN66087  cs2nbr00 (Netbios REM) - change in handling the Netbios level
         time out condition on a SEND_WAIT command. The baselog
PN67417  TQ - CS2_TQ_GETNEXT API corrupts memory when accessing a table
         on a remote node with a different architecture.
PN67815  TCP/IP - message pool corruption by cs2tcr00 (TCP/IP REM) when
         two local CCBs are configured and data transparency path used.
PN68287  TCP/IP -can't establish TCP/IP session. The SO_KEEPALIVE option
         applied to communications sockets helps TCP/IP REM detect link
         failures in conjunction with the IBM TCP/IP for OS/2 system
         variable 'KEEPALIVE'. To modify this variable use the 'INETCFG'
         command (ie, 'INETCFG KEEPALIVE=10'). For APAR PN68287, apply
         IBM TCP/IP for OS/2 APAR PN59177 (language specific).
PN70121  Initialization - some control block file sizes result in
         corrupt RD pool at initialization.
PN70314  CDIN list verb does not support huge data strings.
PN70592  MMS device support - SYS3175 has occurred on cs2mmr00.exe
         intermittently.
PN75974  NLS - OS2<->AIX performance problem.
PN75975  Base logger (cs2blr00) loops when logging to remote node and a
         communications error occurs.
PN75976  DDMS - program hangs when the sequence is D_DEFLOAD
         then D_SVHDR.
PN75978  cs2shell - windows are going away when opening data folder.
PN75979  cs2shell - when modifying a table, the number and length are
         changed to 1.
PN75980  CS2_TQ_DELETE fails with CSR1385.
PN75981  CS2_TEMP_RES API fails (depending on char count in prefix).
PN77061  cs2shell traps on save option when resource already defined.
PN77882  DDMS floating point overflow error when device data larger
         than 1e+10 and percent deadbanding used on remote variable.


------------------------------------------------------------------------------
NOTES FOR UQ05603
-----------------

CS/2 OI Requirement on WARP 4.0+
--------------------------------
    Several customers are running CS/2 on Warp 4.0 successfully.
    Be aware the following requirement for CS/2 OI due to
    Warp 4.0's restructure of files.  During Warp 4.0 installation
    do "selective install" of the "optional system utility" to
    install the EZVU files necessary to display CS/2 OI panels.

    Selective install provides the following files needed for CS/2 OI:
      \os2\dll\dtm.dll
      \os2\dll\cpispfpc.dll
      \os2\dll\stxtdmpc.dll
      \os2\install\dmpc.exe


TCP/IP 3.0+ GetHostByName Work-around (PN86849)
-----------------------------------------------
    Due to TCP/IP introducing some non-backward compatible code in
    the 3.0 release level, CS/2's TCP/IP REM initialization fails
    due to an error from a GetHostByName call.  Here are work-around
    suggestions for anyone planning to use CS/2 with TCP/IP 3.0+.

    Prior to TCP/IP 3.0, GetHostByName looked for the "resolv" file.
    The idea is to retain a copy of the "resolv" file (from
    \mptn\etc\resolv2), in one (or more) of the following ways:

       1). Manually copy "resolv2" to "resolv" and set "resolv" to
           read only.
           The problem with this option is "resolv" will never be
           updated when "resolv2" changes, until you manually copy
           it again.

       2). Add 1 extra line in the startup.cmd file:
                 ...
                 call tcpstart.cmd
            ---> copy \mptn\etc\resolv2 \mptn\etc\resolv
                 ...
           The problem with this option is "resolv" will not be updated
           when "resolv2" changes after a TCPIP or MPTS reconfiguration,
           until you reboot the machine, or if someone does not use
           startup.cmd and manually runs tcpstart.cmd.

       3). Add 1 extra line at the end of tcpstart.cmd file:
                ...
                ...
           ---> copy \mptn\etc\resolv2 \mptn\etc\resolv

           A potential problem with this option is when TCPIP is
           reinstalled, then you have to remember to recreate that
           line again in tcpstart.cmd.

       4). Add 1 extra line at the beginning of cs2start.cmd file:
           ---> copy \mptn\etc\resolv2 \mptn\etc\resolv
                ...
                ...
           A potential problem with this option is when DAE is
           reinstalled, then you have to remember to recreate that
           line again in cs2start.cmd.

       5). A safe option would be combining options #2, 3 and 4.


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.


CS/2 & CS/HP Communication Fix (CS/HP APAR PQ04326)
---------------------------------------------------
    A TCP/IP communication problem between CS/2 and CS/HP requires
    the CS/2 TCP/IP level from UN87209 (PTF 2), UQ05603 (this PTF)
    or newer.  For the CS/HP fix, request CS/HP APAR PQ04326 from the
    Support Center.


Utility Tools (DCR4963)
-----------------------
    The cs2utt Utility Tools have been added to CS/2 with this PTF,
    including the new Tables and Queues Utility Tool.  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 REM Consuming Excessive CPU Time
----------------------------------------
    The following applies if you observe a large amount of CPU time consumed
    on your processor and a printer is not connected to the LPT1 port.  This
    has been observed, for example, on a 100 Mz Pentium with each failed
    print request resulting in abnormally high CPU utilization during a
    period of 2 minutes.

    The default CS/2 configuration loads the printer REM, CS2PSR01 during
    DAE system initialization.  It also starts one printer resouce, USERLPT1
    at the initialization of its server, the printer REM.  USERLPT1 uses
    LPT1 as its operating system printer.  By default, base logged messages
    of error severity are set to print to USERLPT1.

    If you notice the majority of the CPU utilized during CS/2 initiali-
    zation or during failed print requests, do any one of the following:
      * Connect a printer to the LPT1 port.
      * Set the CS2PSR01 application resource to NOT load during system
        initialization.
      * Set the USERLPT1 printer resource to NOT initialize at server start.


Printer Binary Option Added to Print 4029-formatted File (PN79627)
------------------------------------------------------------------
    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.


Guidelines for VisualAge C++ DAE Applications (PN91577)
-------------------------------------------------------
    Applications do not work correctly when compiled with C++.
    Hints if you use VisualAge C++ for DAE Applications:
      - Add 'DEFINE CS2CPLUSPLUS' statement before you
            reference any CS2 files
      - Add 'extern "C" ' statement to prototype CS/2 header since
            you are mixing C++ with C DLL
      - memset all DAE structures before using them
      - do not compile with pack option


TXE_OPT_DISCONNECT Flag Provided on CS2_TRANSACT (PQ05429)
----------------------------------------------------------
    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) (PN88060)
------------------------------------------------------------
    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) (PN88060)
-----------------------------------------
    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) (PQ08183)
-------------------------------------------
    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 UN87209
------------------

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 \CS2\DLL\DBSYSTBL.DLL:

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

                              Check your \cs2\sys\cs2start.cmd file:
                              * Uncomment the STARTDBM statement if you
                                want DB2/2 started with DAE;

 |                            * Place your \SQLLIB and \MUGLIB in DAE's
 |                              PATH and DPATH statements.  Ensure the
 |                              LIBPATH in your config.sys includes your
 |                              \MUGLIB\DLL directory.  If this is not
 |                              correct, you can encounter UPM error
 |                              0xFB05 during logon.

       Non-SQL  DBSYSNON.DLL  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.


------------------------------------------------------------------------------
COMPLEMENTARY FIXES FOR CS/6000 1.1.1
-------------------------------------

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

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

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


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





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

   About IBM  |   Privacy  |   Terms of use  |   Contact