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
-----------