INTRODUCTION ------------ This is the UQ22993.doc file for the IBM Communications System for Windows NT: Version 1 Release 1 Modification 0 PTF UQ22993 for all NLS language features. The following topics are covered in this UQ22993.doc file: o PREREQUISITES o SETUP INSTALL PROGRAM FEATURES o INSTALLING PTF UQ22993 o LIST OF FILES o LIST OF APARS FIXED o NOTES FOR UQ22993 - Year 2000 Fixes Included (PN92710) - DDMS D_WRITERVAR Documentation Addition (PQ03833) - Printer REM Port to NT (PQ21679) - TQ Open/Close Performance Option (PQ12298) - TXE_OPT_DISCONNECT Flag Provided on CS2_TRANSACT (PN89993) - Database/Transaction Configuration File (optional) (PN88060) - Txe Mirror Filtering (optional) (PN88060) - DB/Txe Trace Extension (optional) (PQ08183) - Agent Recycle Threshold (optional) (PQ09694) PREREQUISITES ------------- Program Temporary Fix UQ22993 requires Communications System for Windows NT (5622-991) Release 1.0 (any language). Please ensure you are at this level before proceeding with the installation of this PTF. UQ22993 contains all previous APAR fixes, including the Year 2000 fixes. UQ22993 files are compiled using the Microsoft Visual C++ V5.0 compiler. SETUP INSTALL PROGRAM FEATURES ------------------------------ 1. REQUIRED SPACE CHECKED BEFORE INSTALLATION: There must be enough space for backing up all of the files. It checks for 14 Megabytes available. 2. FILES BACKED UP: Before replacing, the Setup program copies files into their respective path under the CS2\Backup\UQ22993\ directory. After your system has been running successfully for some length of time and you want to regain the space, you can delete the files in the CS2\Backup\UQ22993 directory. 3. REGISTRY UPDATED: The last step of the installation is to update the registry to reflect PTF UQ22993 has been installed. This will be removed if the PTF is uninstalled. You can see the registry update by typing regedt32 at the command line and looking under HKEY_LOCAL_MACHINE - SOFTWARE - IBM. 4. ICONS ADDED FOR UQ22993.doc and unInstall UQ22993: The icons are added to the Communications System for Windows NT window or other optionally chosen place. 5. UNINSTALL OPTION FOR PTF UQ22993: If you want to return CS for Windows NT to the state prior to applying the PTF UQ22993, you can uninstall UQ22993 by following these steps: a. Shutdown Communications System for Windows NT if it is currently running. b. Click on the unInstall UQ22993 button in the Communications System for Windows NT window or select it under the Add/Remove Programs in Start - Settings - Control Panel. This removes UQ22993 from the registry, the two icons from the CS for Windows NT window, and the installed UQ22993 files from the cs2 directories. Note: Purposely some files, such as configuration files, are not automatically removed by the unInstall option. If desired, they can be removed manually. c. Replace the original files back into the cs2 directories by issuing the uUQ22993 batch file from the \cs2\Backup\UQ22993\ directory. The uUQ22993 file will not overwrite the configuration files (*.cfs or *.cnf), TQ files (*.pr0, *.dt0, *.s10, etc.) or the translated message files (*.dll). d. Erase the files in Backup\UQ22993 when no longer needed. INSTALLING PTF UQ22993 ---------------------- Follow these directions to update your system with PTF UQ22993: 1. Shutdown the Communications System for Windows NT if it is currently running. 2. Place the first diskette in the a: drive. (If you are installing from disk image files instead of diskettes, then replace "a:" with the Disk1 directory in these instructions.) 3. From the a: directory issue: setup 4. The panels will lead you through the installation. You will be prompted for the drive where the PTF is to be installed. (This must be where CS for Windows NT is installed.) You will be informed if there is not enough space available. Place the requested diskette in the a: drive when prompted. 5. When the installation is completed, restart the Communications System for Windows NT. LIST OF FILES ------------- The following are the files shipped on this PTF: cs2\ddms\ddmdvtbl.h cs2\ddms\ddmldip.h cs2\ddms\ddmmdep.h cs2\ddms\ddmmisc.h cs2\ddms\ddmtbl.c cs2\ddms\ddmtbl.obj cs2\ddms\ddmtypes.h cs2\dll\cs2calls.dll cs2\dll\cs2colib.dll cs2\dll\cs2dbodb.dll cs2\dll\cs2dbr00.dll cs2\dll\cs2dmcls.dll cs2\dll\cs2dmldp.dll cs2\dll\cs2fslib.dll cs2\dll\cs2nls.dll cs2\dll\dbsysnon.dll cs2\dll\dbsysodb.dll cs2\dll\dbsystbl.dll cs2\dll\txesutbl.dll cs2\include\cs2.h cs2\include\cs232err.h cs2\include\cs232xpt.h cs2\include\cs2ah.h cs2\include\cs2apcal.h cs2\include\cs2apmix.h cs2\include\cs2aprcs.h cs2\include\cs2aprem.h cs2\include\cs2apres.h cs2\include\cs2aprwa.h cs2\include\cs2aprwc.h cs2\include\cs2apstr.h cs2\include\cs2apxp0.h cs2\include\cs2aserr.h cs2\include\cs2axerr.h cs2\include\cs2bl.h cs2\include\cs2blerr.h cs2\include\cs2blsys.h cs2\include\cs2cb.h cs2\include\cs2cb001.h cs2\include\cs2cb002.h cs2\include\cs2cb003.h cs2\include\cs2cbacb.h cs2\include\cs2cbanb.h cs2\include\cs2cbcac.h cs2\include\cs2cbccb.h cs2\include\cs2cbd80.h cs2\include\cs2cbdbb.h cs2\include\cs2cbdcb.h cs2\include\cs2cbdfn.h cs2\include\cs2cbdhd.h cs2\include\cs2cbgcb.h cs2\include\cs2cbicb.h cs2\include\cs2cblcb.h cs2\include\cs2cbmcb.h cs2\include\cs2cbmga.h cs2\include\cs2cbmgq.h cs2\include\cs2cbpcb.h cs2\include\cs2cbqcb.h cs2\include\cs2cbrcb.h cs2\include\cs2cbrd.h cs2\include\cs2cbrdh.h cs2\include\cs2cbs01.h cs2\include\cs2cbs02.h cs2\include\cs2cbs03.h cs2\include\cs2cbs04.h cs2\include\cs2cbs05.h cs2\include\cs2cbs06.h cs2\include\cs2cbs07.h cs2\include\cs2cbs08.h cs2\include\cs2cbs09.h cs2\include\cs2cbs10.h cs2\include\cs2cbs11.h cs2\include\cs2cbs12.h cs2\include\cs2cbs13.h cs2\include\cs2cbs14.h cs2\include\cs2cbs15.h cs2\include\cs2cbs32.h cs2\include\cs2cbs33.h cs2\include\cs2cbs34.h cs2\include\cs2cbs35.h cs2\include\cs2cbs36.h cs2\include\cs2cbs37.h cs2\include\cs2cbs38.h cs2\include\cs2cbs39.h cs2\include\cs2cbs40.h cs2\include\cs2cbs41.h cs2\include\cs2cbs42.h cs2\include\cs2cbs43.h cs2\include\cs2cbs44.h cs2\include\cs2cbs56.h cs2\include\cs2cbs90.h cs2\include\cs2cbs91.h cs2\include\cs2cbs92.h cs2\include\cs2cbtcb.h cs2\include\cs2cbtqs.h cs2\include\cs2cbucb.h cs2\include\cs2cbvcb.h cs2\include\cs2cderr.h cs2\include\cs2cf.h cs2\include\cs2cnerr.h cs2\include\cs2coapi.h cs2\include\cs2cobit.h cs2\include\cs2cocmd.h cs2\include\cs2cocon.h cs2\include\cs2codfn.h cs2\include\cs2coerr.h cs2\include\cs2cofil.h cs2\include\cs2coier.h cs2\include\cs2comer.h cs2\include\cs2comix.h cs2\include\cs2const.h cs2\include\cs2cords.h cs2\include\cs2cores.h cs2\include\cs2corwa.h cs2\include\cs2corwc.h cs2\include\cs2cosch.h cs2\include\cs2cosem.h cs2\include\cs2cosrq.h cs2\include\cs2cosys.h cs2\include\cs2cotim.h cs2\include\cs2cover.h cs2\include\cs2db.h cs2\include\cs2dberr.h cs2\include\cs2dbext.h cs2\include\cs2dbsdb.h cs2\include\cs2dc.h cs2\include\cs2dcerr.h cs2\include\cs2dcr0e.h cs2\include\cs2dm.h cs2\include\cs2dmcal.h cs2\include\cs2dmerr.h cs2\include\cs2dqerr.h cs2\include\cs2ds.h cs2\include\cs2dscal.h cs2\include\cs2dstpl.h cs2\include\cs2dt.h cs2\include\cs2dterr.h cs2\include\cs2ec.h cs2\include\cs2ecerr.h cs2\include\cs2ecsys.h cs2\include\cs2fserr.h cs2\include\cs2fssys.h cs2\include\cs2gberr.h cs2\include\cs2hlerr.h cs2\include\cs2inerr.h cs2\include\cs2irerr.h cs2\include\cs2lm.h cs2\include\cs2lmcal.h cs2\include\cs2lmdfn.h cs2\include\cs2lmtpl.h cs2\include\cs2machd.h cs2\include\cs2mdep.h cs2\include\cs2mt.h cs2\include\cs2mtsys.h cs2\include\cs2mysys.h cs2\include\cs2ncerr.h cs2\include\cs2ncs70.h cs2\include\cs2ncs71.h cs2\include\cs2ncsub.h cs2\include\cs2ncsys.h cs2\include\cs2nl.h cs2\include\cs2nldfd.h cs2\include\cs2nlerr.h cs2\include\cs2nlsd.h cs2\include\cs2nmerr.h cs2\include\cs2ns.h cs2\include\cs2nsbl.h cs2\include\cs2nscnf.h cs2\include\cs2nscss.h cs2\include\cs2nsdbs.h cs2\include\cs2nsicd.h cs2\include\cs2nsnet.h cs2\include\cs2nsnms.h cs2\include\cs2nspol.h cs2\include\cs2nsrd.h cs2\include\cs2nstqs.h cs2\include\cs2nstra.h cs2\include\cs2nsuis.h cs2\include\cs2nsvid.h cs2\include\cs2oi.h cs2\include\cs2oierr.h cs2\include\cs2pc.h cs2\include\cs2pcsys.h cs2\include\cs2ps.h cs2\include\cs2pserr.h cs2\include\cs2pssys.h cs2\include\cs2rd.h cs2\include\cs2rderr.h cs2\include\cs2rterr.h cs2\include\cs2sc.h cs2\include\cs2scerr.h cs2\include\cs2signl.h cs2\include\cs2st.h cs2\include\cs2sterr.h cs2\include\cs2stsys.h cs2\include\cs2su.h cs2\include\cs2suerr.h cs2\include\cs2sycal.h cs2\include\cs2syrem.h cs2\include\cs2systr.h cs2\include\cs2tmerr.h cs2\include\cs2tq.h cs2\include\cs2tqerr.h cs2\include\cs2tqsys.h cs2\include\cs2ui.h cs2\include\cs2uierr.h cs2\include\cs2uirem.h cs2\include\cs2utdfn.h cs2\include\cs2vmerr.h cs2\include\cs2xact.h cs2\include\cs2xp.h cs2\include\cs2xperr.h cs2\include\cs2xptgi.h cs2\include\ddmbxcpp.h cs2\include\ddmioerr.h cs2\include\ddmmmdip.h cs2\include\txeapi.h cs2\include\txemsgrc.h cs2\include\txesrv.h cs2\include\urnopown.h cs2\include\usrdll.h cs2\include\usrmsg.h cs2\include\usrown.h cs2\include\usrsql.h cs2\lib\cs2calls.lib cs2\lib\cs2dmcls.lib cs2\lib\cs2dmcls.lib cs2\lib\cs2nls.lib cs2\sys\cs2_stmp.bin cs2\sys\cs2blr00.exe cs2\sys\cs2blur0.exe cs2\sys\cs2cbr00.exe cs2\sys\cs2dbr00.exe cs2\sys\cs2dbr01.exe cs2\sys\cs2dbr02.exe cs2\sys\cs2dbr03.exe cs2\sys\cs2dbr07.exe cs2\sys\cs2dbtxe.cnf cs2\sys\cs2dmr00.exe cs2\sys\cs2dqr00.exe cs2\sys\cs2dsrdr.exe cs2\sys\cs2dsrds.exe cs2\sys\cs2ecr00.exe cs2\sys\cs2ecr01.exe cs2\sys\cs2fsr00.exe cs2\sys\cs2fss00.exe cs2\sys\cs2help.exe cs2\sys\cs2icr00.exe cs2\sys\cs2icr03.exe cs2\sys\cs2irr00.exe cs2\sys\cs2irr10.exe cs2\sys\cs2psr01.exe cs2\sys\cs2str00.exe cs2\sys\cs2stur0.exe cs2\sys\cs2sura0.exe cs2\sys\cs2surb0.exe cs2\sys\cs2surc0.exe cs2\sys\cs2tcr00.exe cs2\sys\cs2tmr00.exe cs2\sys\cs2tqr00.exe cs2\sys\ddmstemp.def cs2\toolkit\cnfgtool.doc cs2\toolkit\cnfgtool.exe cs2\toolkit\control.c cs2\toolkit\control.exe cs2\toolkit\control.mak cs2\toolkit\cs2blt.exe cs2\toolkit\cs2cbt.exe cs2\toolkit\cs2cuoff.exe cs2\toolkit\cs2cutil.doc cs2\toolkit\cs2cutil.exe cs2\toolkit\cs2cutil.txt cs2\toolkit\cs2examp.c cs2\toolkit\cs2examp.exe cs2\toolkit\cs2examp.mak cs2\toolkit\cs2fst.exe cs2\toolkit\cs2ftt.exe cs2\toolkit\cs2index.doc cs2\toolkit\cs2stt.exe cs2\toolkit\cs2tqt.exe cs2\toolkit\cs2utt.doc cs2\toolkit\cs2utt.exe cs2\toolkit\db\cstrans.c cs2\toolkit\db\cstrans.exe cs2\toolkit\db\cstrans.h cs2\toolkit\db\ctxeodbc.c cs2\toolkit\db\ctxeodbc.exe cs2\toolkit\db\ctxeodbc.mak cs2\toolkit\db\stxeodbc.c cs2\toolkit\db\stxeodbc.def cs2\toolkit\db\stxeodbc.dll cs2\toolkit\db\stxeodbc.mak cs2\toolkit\db\sumdbl.c cs2\toolkit\db\sumdbl.def cs2\toolkit\db\sumdbl.dll cs2\toolkit\db\sumdbl.mak cs2\toolkit\ddms\dmalter1.c cs2\toolkit\ddms\dmalter1.exe cs2\toolkit\ddms\dmalter2.c cs2\toolkit\ddms\dmalter2.exe cs2\toolkit\ddms\dmdefine.c cs2\toolkit\ddms\dmdefine.exe cs2\toolkit\ddms\dmevent.c cs2\toolkit\ddms\dmevent.exe cs2\toolkit\ddms\dmevtjrl.c cs2\toolkit\ddms\dmevtjrl.exe cs2\toolkit\ddms\dmfile.c cs2\toolkit\ddms\dmfile.exe cs2\toolkit\ddms\dmfncprc.c cs2\toolkit\ddms\dmheader.h cs2\toolkit\ddms\dminitic.c cs2\toolkit\ddms\dmjrlmsg.c cs2\toolkit\ddms\dmjrlmsg.exe cs2\toolkit\ddms\dmjrnl.c cs2\toolkit\ddms\dmjrnl.exe cs2\toolkit\ddms\dmmake.mak cs2\toolkit\ddms\dmreadme.doc cs2\toolkit\ddms\dmsema4.c cs2\toolkit\ddms\dmsema4.exe cs2\toolkit\ddms\dmtask.c cs2\toolkit\ddms\dmtask.exe cs2\toolkit\ddms\dmvarmsg.c cs2\toolkit\ddms\dmvarmsg.exe cs2\toolkit\dterecv.c cs2\toolkit\dterecv.exe cs2\toolkit\dtesend.c cs2\toolkit\dtesend.exe cs2\toolkit\dtirecv.c cs2\toolkit\dtirecv.exe cs2\toolkit\dtisend.c cs2\toolkit\dtisend.exe cs2\toolkit\dtxmps.mak cs2\toolkit\nc.dat cs2\toolkit\pc.dat cs2\toolkit\pl.dat cs2\toolkit\pooldump.exe cs2\toolkit\poolfree.exe cs2\toolkit\poolsab.exe cs2\toolkit\qu.dat cs2\toolkit\su.dat cs2\toolkit\tcpipsmp.doc cs2\toolkit\tq.dat cs2\toolkit\xmpcom.c cs2\toolkit\xmpncapi.c cs2\toolkit\xmppcapi.c cs2\toolkit\xmpplapi.c cs2\toolkit\xmpquapi.c cs2\toolkit\xmpsuapi.c cs2\toolkit\xmptqapi.c cs2\UQ22993.doc LIST OF APARS FIXED ------------------- This first list of APARs shipped in the NLS translated releases of Communications System for Windows NT. They are new for the shipped English version only, which was released several months prior to the NLS translated versions (They are included in the internal driver 10): PN65308 New API - CS2_EXIT_SYS, allows appl to remove access to DAE system. PN78892 cs2cutil - processor type not valid for RCB. PN82921 DDMS enhancement to support d_writervar cross platform. PN83202 poolsab hangs DAE system. PN83330 DB - CS2_TRANSACT returns CSR1391. PN83331 DB - CS2_TRANSACT gets timeout using TXE_OPT_OPEN_LOOP. PN84356 DDMS random I/O points do not update when ldit make connection. PN84933 DB - incorrect function called by CS2_TRANSACT. PN86802 Disk Queued messages not received correctly when CACHE LAZY:ON. 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. PN88466 Data supply does not erase temporary files when timeout expires. PN88546 CS2_INIT gets good return code when DAE has been shutdown. PN89993 DB - new TXE_OPT_DISCONNECT flag provides explicit disconnect. PN90114 DB - CS2_TRANSACT starts new connections due to uninitialized RDS. PN92710 Y2000 - update cs2colib and rebuild REMs for year 2000 support. PN92857 DB dispatcher REM traps when using queueing and maximum dedicated agents is set to less than number of concurrent clients run. PNU0002 Large applications may receive return code of 6 from CS2_INIT. PQ00281 Time requester keeps sending requests after timeout condition. PQ00493 TQ - toggle TQ corruption flag during update. PQ00747 DB - conflict with definition of register_event in cs2dbc.h. PQ02149 DDMS cannot support remote variable data length greater than 32K. PQ03384 DDMS passing incorrect remote variable size. PQ03667 TQ - RMU Verify Utility seems to run endlessly for large tables. PQ05069 CS2_TEMP_RES - create & purge multiple temporary ACBs causes hang. PQ07269 DB - DB_SELECT hangs using cs2dbdcl sample (Oracle7 via ODBC). This next group are APARs fixed after the release of the NLS translated versions (post internal driver 10): D5231 DDMS - add new d_change_poll DDMS API. D5233 DDMS - allow for defining 16,000 element remote vars on NT, AIX. D5237 TCPIP - misleading TCPIP error 10004 when DAE shutdown. D5247 DDMS - poll overrun in Automation Bridge. D5249 DDMS - increase performance by reducing time slice in while loop. D5251 DDMS - variable string causes work pool problem. D5254 cs2ecr01 - WaitForMultipleObjects failed error printed to screen. D5255 cs2examp - "cs2examp tablereq tq.dat" failed. PN91126 Cannot use VISUALAGE c++ to build CS/NT applications. PNU0004 DDMS does not work with VISUALAGE compiler on NT platform. PNU0005 CS/NT semaphore pool exhausted. PNU0006 TCP/IP - problem with multi-node non-DAE communication with CS/NT. PNU0007 Message and work pools incorrectly handled. PNU0008 Disk queued messages not freed from memory. PNU0009 Disk queue REM traps when message pool is full. PNU0011 Exception Handler REM does not handle temporary resources properly. PQ02021 cs2dmcls.dll trapping when work pool full. PQ02023 Use TEMP_RES to start DDMS appl loops if work pool full. PQ03833 Doc - DDMS D_WRITERVAR documentation incomplete. PQ05949 pooldump - add dump resource directory function to CS/NT & CS/6000. PQ07133 TQ - occasional TQ REM core dumps on open/close of AIX image files. 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. PQ08872 DB - multiple invalid CS2_DB_SELECT requests where FAIL_OPT is not set to DB_OPT_ROLLBACK or DB_OPT_DISCONNECT caused problems. PQ08894 DAE returns CSR0029 when running English DAE in German language. PQ09694 DB - DB/TXE feature needed for automatic agent recycle. PQ10408 CS/NT TCP/IP REM not compatible with NT Service Pak 3. PQ10947 DDMS - VNM_POLL_MISSED msg not received when polling list variable. PQ11657 TQ - CLOSE_PROC_FILES core dumping for any queue or a table for which all 5 secondary indexes are *not* defined. PQ12298 TQ open/close performance option needed. PQ14226 Confusion on TQ OCPERF requiring enlarged pools to open many tables. PQ18134 Canceled app hangs intermittently in TQ API, hanging DAE. PQ19932 TQ - error msg not logged even though table was marked corrupt. PQ20145 cs2icr00 keeps handle (process/thread) after resource purged. PQ20754 Running multi-threaded DCConnect application traps in CS2_ADDMSG(). PQ21679 Implement print server on Communications System for Windows/NT PQ22913 Repeated calls to CS2_TEMPRES in invalid resource name. PQ23453 DB - CS2_TRANSACT request lost during window of agent self-stop. NOTES FOR UQ22993 ----------------- Year 2000 Fixes Included (PN92710) ---------------------------------- PN92710 contains the Year 2000 fixes. It was included in the translated versions (and internal driver 10). It affects the following files: cs2blr00.exe - base logger cs2colib.dll - time functions cs2irr00.exe - linked to base logger functions cs2irr10.exe - linked to base logger functions DDMS D_WRITERVAR Documentation Addition (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 Port to NT (PQ21679) -------------------------------- The Printer REM, CS2PSR01 is now included in CS for NT. To use the Printer REM, you must first add its application control block (ACB) using a DAE configuration utility. Here is a suggested definition, based on the Printer REM's ACB as defined on other platforms: Application Control Block - Disk Type of control block.........: 3 (ACB) Resource Name.................: CS2PSR01.CS2NODE Disk queuing threshold........: 127 Processor type (0=system 1=co-processor): 0 Co-processor card number (hexadecimal): 0 Initialization sequence number: 20 Initialization timeout (s)....: 30 Shutdown sequence number......: 950 Shutdown timeout (s)..........: 30 Name of program...............: cs2psr01 Path to program...............: ------------------------------------------------------- Outstanding receive: N Receive pending: N Essential.....: N Load at initialization: Y Use load parameters from ACB: N Debug mode....: N Treat load parameters as binary: N Application Control Block on disk (continued): ------------------------------------------------------- Started...............: N Purged................: N Deleted...............: N Paused................: N Autoload..............: N Remote................: N Initialize resource...: N Initialize path.......: N Path flow.............: N Different Architecture: N Trace path............: N Trace initiate........: N Trace resource........: N Trace receive.........: N Trace response........: N Process exception.....: N Node exception........: N RIC exception.........: N Application Start Parameter Data: Hexadecimal Data Character Data -------------------------------- ---------------- 00-0f 20202020202020202020202020202020 10-1f 20202020202020202020202020202020 20-2f 20202020202020202020202020202020 30-3f 20202020202020202020202020202020 In addition, you will need to define a printer control block (PCB) for each printer resource you wish the printer REM to serve. Here is the sample USERLPT1 for LPT1: Printer Control Block in disk Type of control block.........: 7 (PCB) Resource Name.................: USERLPT1.CS2NODE Server resource name..........: CS2PSR01.CS2NODE Operating system printer name.: LPT1 Printer Control Block in disk/memory: ------------------------------------------------------- Started...............: N Purged................: N Deleted...............: N Paused................: N Autoload..............: N Remote................: N Initialize resource...: Y Initialize path.......: N Path flow.............: N Different Architecture: N Trace path............: N Trace initiate........: N Trace resource........: N Trace receive.........: N Trace response........: N Process exception.....: N Node exception........: N RIC exception.........: N Printer resource append new-line -------------------------------- 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 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. | 1 Specifies that a new-line will be appended. This is the default. The appended new-line may be needed with some printers to ensure 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. TQ Open/Close Performance Option (PQ12298) ------------------------------------------ The following is an update to the DAE Communication System Technical Guide and Reference, Tables and Queues Management chapter, Start Parameters section. The parameters for REM priority class, REM priority delta, Maximum file handles and Memory file space 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 | when configuring the tables and queues REM ACB. Start Parameters ---------------- | TQ open/close performance option | | OCPERF=x | | where x specifies 0 or 1. | | 0 Disables TQ open/close performance (the default). | 1 Enables TQ open/close performance. | | TQ open/close performance option: | * Increases performance for applications which repeatedly issue | CS2_TQ_OPEN and CS2_TQ_CLOSE requests for the same set of tables | or queues. Performance improves most on platforms where the | tables and queues REM uses a multi-processed design, such as | CS/6000. Performance benefits may also apply to CS/2 and CS for | NT, but to a lesser extent. | | Performance improves only for iterative CS2_TQ_OPEN and | CS2_TQ_CLOSE requests for a table or queue, in situations where no | other application already has the table or queue open. There is | no effect on any other request, such as CS2_TQ_READ or | CS2_TQ_WRITE. | | * Alleviates timing and system load problems during closes and | reopens. | | If your applications open/close many tables or queues, the TQ | open/close performance option may require additional space allocated | in the work pool and control block pool. 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) (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.) * Agent Recycle Threshold (See "Agent Recycle Threshold" 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 */ Agent Recycle Threshold (optional) (PQ09694) -------------------------------------------- This optional feature offers automatic recycling of DB/Txe agents, based on the number of transactions processed by each agent. It is specified in cs2dbtxe.cnf. By default, once started, agents remain running while needed to process transactions, or to provide a presence in a pool. Agent recycling may be configured, however, to set a threshold number of transactions which is the maximum each agent is to process. By setting agentRecycle to any positive number, agent recycling is enabled and a threshold is set. When the number of transactions processed by an agent reaches the threshold, that agent waits until the client completes its session. Then, the agent self-stops. A subsequent request from a client causes another agent to be started in the stopped agent's place, as configured in the pools. Agent recycling may be useful to your application as a solution, for example, should you run into uncorrectable problems with your user transactions consuming resources, such as leaking memory. By periodically stopping a busy agent process, resources consumed by user transactions may in some instances be released. An example of the Agent recycle threshold set in cs2dbtxe.cnf is: agentRecycle = 1000 /* Txn threshold to recycle agents */ END OF FILE -----------
About IBM | Privacy | Terms of use | Contact |