INTRODUCTION ------------ This is the UQ05604.DOC file for the IBM Communications System/2: Version 1 Release 3 Modification 1 (Big 5) PTF UQ05604. The following topics are covered in this UQ05604.DOC file: o PREREQUISITES o INSTALL PROGRAM FEATURES o INSTALLING PTF UQ05604 o MIGRATION FOR TQ TABLES (required) o LIST OF FILES o LIST OF APARS FIXED o NOTES FOR UQ05604 - 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) - Configuring Database For: . RDBMS Support . DB/Txe Mirroring o COMPLEMENTARY FIXES FOR CS/6000 1.1.1 PREREQUISITES ------------- Program Temporary Fix UQ05604 requires Communications System/2 (5601-116) Release 3.1 (Big 5). Please ensure you are at this level before proceeding with the installation of this PTF. UQ05604 has no prerequisite CS/2 PTFs. This is PTF #1 for the CS/2 Release 3.1 Big 5. PTF UQ05604 is language specific. It is NOT to be applied to the English language version of the Communications System/2. It is for application to only the non-English CS/2 Big 5 language versions: Language Version feature numbers code pages -------------------- --------------- ---------- Korean 5563 949 Japanese 5521 932, 942 Traditional Chinese 5567 948, 950 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\UQ05604\ directory. 3. SYSLEVEL UPDATED: The last step of the installation is to update the SYSLEVEL.CS2 to reflect PTF UQ05604 has been installed. The original file is saved as SYSLEVEL.BAK under CS2\BACKUP\UQ05604\. INSTALLING PTF UQ05604 ---------------------- Follow these directions to update your system and install PTF UQ05604: 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\ CS2DMCLS.DLL DLL\ CS2DMLDP.DLL DLL\ CS2NLS.DLL DLL\ DBSYSDB2.DLL DLL\ DBSYSNON.DLL DLL\ DBSYSTBL.DLL DLL\ TXESUTBL.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\ 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 SYS\ CS2AHR00.EXE SYS\ CS2APR00.EXE SYS\ CS2BLR00.EXE SYS\ CS2CBR00.EXE SYS\ CS2CBT00.EXE 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\ CS2SURA0.EXE SYS\ CS2SURC0.EXE SYS\ CS2TMR00.EXE SYS\ CS2TQR00.EXE TOOLKIT\ CS2BLT.EXE TOOLKIT\ CS2CBT.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\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 Language specific files: SYS\J942\ CS2SHWIN.HLP SYS\J942\ CS2SHWIN.PDL SYS\J942\ CS2SHWIN.PML SYS\J942\ CS2UTT.MSG SYS\J942\ CSR.MSG SYS\J942\ CSRH.MSG SYS\K949\ CS2SHWIN.HLP SYS\K949\ CS2SHWIN.PDL SYS\K949\ CS2SHWIN.PML SYS\K949\ CS2UTT.MSG SYS\K949\ CSR.MSG SYS\K949\ CSRH.MSG SYS\T948\ CS2SHWIN.HLP SYS\T948\ CS2SHWIN.PDL SYS\T948\ CS2SHWIN.PML SYS\T948\ CS2UTT.MSG SYS\T948\ CSR.MSG SYS\T948\ CSRH.MSG SYS\T950\ CS2SHWIN.HLP SYS\T950\ CS2SHWIN.PDL SYS\T950\ CS2SHWIN.PML SYS\T950\ CS2UTT.MSG SYS\T950\ CSR.MSG SYS\T950\ CSRH.MSG LIST OF APARS FIXED ------------------- 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. DCR4927 Improved cs2cbt (Configuration Utility Tool) - allow exit. DCR4963 Rewrite tqinit to cs2tqt; add Utility Tools to CS/2. PN60489 CS2_TQ_LSTUSR thunk support. PN61268 DDMS used to support baud rates of only 32767 (signed integer). now DDMS treats baud rate as unsigned int with value of 65535. PN70592 MMS device support - SYS3175 has occurred on cs2mmr00.exe intermittently. PN71740 UI application traps in CS232TNK.DLL. PN75532 DB asynchronous mirroring. PN75716 CS2_NOTIFY_CMD has no data when 32-bit appl has ACB proc type=2. PN76912 CS2_TRANSACT API decode error fails to release RD sema4/resrces. PN77061 cs2shell traps on save option when resource already defined. 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. PN77882 DDMS floating point overflow error when device data larger than 1e+10 and percent deadbanding used on remote variable. PN79627 CS2_PRINT provides invalid output of 4029-formatted file. PN80358 DDMS - cs2dmcls.dll traps when disconnecting if outstanding IO. 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. PN81433 DDMS - CSR2095 - resource in use error from ModifyPoll. 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. 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. PQ05427 poolsab hangs DAE system. PQ05426 cs2cutil - processor type not valid for RCB. 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. 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. ------------------------------------------------------------------------------ NOTES FOR UQ05604 ----------------- 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/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. 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 UQ05604 PTF UQ05606 ----------- ------------- DCR4811 DCR4811 DCR4900 DCR4900 DCR4927 DCR4927 DCR4963 DCR4963 PN61268 PN78096 PN75532 PN81532 PN76912 PN81533 PN77061 PN76778 PN77882 PN78105 PN79627 PQ05402 PN80759 PN81535 PN81028 PN81780 PN81433 PQ05403 PN81452 PN81536 PN81537 PN75592 PN81538 PN79264 PN81539 PN80757 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 PQ08183 PQ08634 PQ08297 PQ07133 END OF FILE -----------
About IBM | Privacy | Terms of use | Contact |