Enterprise Information Portal V7.1 CSD3 (7.1.3.0)

(Windows and AIX)

rev. May 6, 2002

This is a formal Corrective Service Delivery that will bring all systems at the syslevels described in the Installation Requirements to 7.1.3.0 (syslevel 07010300).

Contents

  1. Installation Requirements
  2. Installation Instructions
  3. Uninstall Notes
  4. Federated Searches and Entity Mappings
  5. Note about Internet Explorer and AFP
  6. Customizing the EIP Administration Client
  7. Updated EIP OnDemand Connector Notes
  8. VI/400 Notes
  9. EIP Administration Database on AIX
  10. Extended Search Notes
  11. Viewing PDF Files
  12. Image Search Server and Client Install
  13. Known Problems
  14. APAR Fixes with Descriptions
  15. Notices and Trademarks

Enterprise Information Portal's customer support page is:
http://www.ibm.com/software/data/eip/support.html

Content Manager If you are applying this Enterprise Information Portal corrective service to a machine which has Content Manager installed, you must update your Content Manager programs to the latest version. To do this, you need to locate the Content Manager corrective service file and its accompanying ReadMe file.

The Content Manager corrective service file is located in the same directory as the Enterprise Information Portal corrective service file. The Content Manager corrective service file is named CM7105.WIN.EXE (for Windows) or CM7105.tar.gz (for AIX). Refer to the installation instructions below for instructions to locate the correct Enterprise Information Portal corrective service file.

The Content Manager ReadMe file is located in the same directory as this ReadMe file. The Content Manager ReadMe file is named CM7105_ReadMe.txt. Instructions for applying the Content Manager corrective service are contained in the Content Manager ReadMe file.

Note also that once this corrective service is applied to Enterprise Information Portal, if you decide to install Content Manager on the same machine sometime in the future, you must ensure that the Content Manager programs are updated to the 7105 (or later) level.

e-client If you are using the Content Management e-client, you must get the latest version. The e-client CSD is located in FTP site:
ftp://ftp.software.ibm.com/ps/products/enterprise_information_portal/eclient/CSD/


1. Installation Requirements

Important note about installing additional components:
If you need to install any additional EIP components, you must do so before installing the CSD.

Windows Requirements

This CSD is for Windows 95/98/NT/2000. In order to install this CSD, you must be at one of these minimum product base levels:

You can determine your syslevel by:
  1. Clicking on the START button and select RUN
  2. Enter "REGEDIT"
  3. Double click on "HKEY_LOCAL_MACHINE"
  4. Double click on "SOFTWARE"
  5. Double click on "IBM"
  6. Double click on "Enterprise Information Portal"
  7. Click on "7.1". On the right side of the screen, the syslevel is recorded under "Fixpak applied"

AIX Requirements

(Minimum requirements listed unless specified otherwise.)

For AIX, to install this CSD, you must be at one of these minimum product base levels:

To determine your version, in a term window enter:

   lslpp -L cmb* | more
This displays all the versions of the EIP filesets.

Server hardware and software requirements -- AIX:

The hardware and software requirements for Enterprise Information Portal for AIX are listed in Planning and Installing Enterprise Information Portal.

2. Installation Instructions

Windows Installation:

To install this CSD on Windows, do the following:

  1. Shut down and reboot your workstation to ensure that all file locks are released.
  2. On the CSD FTP site, change into the desired language subdirectory (for example: "cd enu" to find the English CSD). Be aware that each National language has its own CSD package. Because all the language CSDs have the same name, be sure you go to the correct language subdirectory.
  3. Download the EIP7130.WIN.EXE file in binary mode to a temporary subdirectory on your workstation.
  4. EIP7130.WIN.EXE is a self-extracting WINZIP file that can be extracted by simply entering EIP7130.WIN. You will be prompted for a temporary directory to unzip to. You should have at least 275MB of free space.
  5. After extracting the ZIP file, CD into the language directory and run setup.exe which will take you through GUI install panels.

AIX Installation:

Before starting the installation, be sure you are logged in with root authority. To install, do the following:

  1. Stop all the applications using EIP (for example: WebSphere etc...) and then enter the command: slibclean
  2. Ftp eip7130.tar.gz in binary mode to a temporary directory on your machine.
  3. In the temporary directory where you downloaded the file, enter:
        gzip -d eip7130.tar.gz

    This procedure uncompresses the gzip file and extracts the tar file, eip7130.tar.

    If you don't have the gzip utility, you can obtain a copy from:
        http://aixpdslib.seas.ucla.edu/aixpdslib.html

  4. Untar the file, by entering:
        tar -xvf eip7130.tar

  5. After untarring the file, enter:
        ./cmbxupdate.sh

    Running this command first displays all the versions of the filesets that will be updated.

  6. Press Enter to update the filesets.

3. Uninstall Notes

Uninstall removes all components no matter what you select in the components list.

The only way to uninstall any part of EIP is to completely uninstall EIP itself.

4. Federated Searches and Entity Mappings

This CSD includes performance improvements in federated searches, achieved by caching certain elements from the EIP administration database on the first query to the federated datastore. By eliminating the rereading of entity mapping information on subsequent queries, performance is improved. You should be aware, however, of the following effects of this caching strategy with regard to EIP database administration:

5. Note about Internet Explorer and AFP

The AFP plug-in shipped with EIP 7.1 (part of sample thin client) will not work with Internet Explorer 5.5sp2 or any later version of Internet Explorer. This restriction applies also to the e-client.

6. Customizing the EIP Administration Client

In this CSD, EIP system administration supports extending the system administration application to include custom functions:

7. Updated EIP OnDemand Connector Notes

Windows:

This CSD includes a new connector for IBM OnDemand and the related classes and APIs, which now support the search and retrieval of OnDemand documents using the folder or the application group interface. Previous versions of the EIP OnDemand connector supported only searches on application groups. The new OnDemand connector classes are available for Java only.

  1. To enable the OnDemand folder mode, the string ENTITY_TYPE=TEMPLATES must be passed to the OnDemand connector as part of the connection string or the configuration string. The sample program TRetrieveFolderOD.java illustrates the use of the folder interface.

  2. When defining a server connection in the EIP system administration, specify the string in the Additional Parameters field on the Initialization Parameters page. The entry should look like this:
         ENTITY_TYPE=TEMPLATES;;
    
    Be sure to include the semicolons (;) in the string.

  3. The OnDemand connector also now supports both synchronous and asynchronous searches on an OnDemand content server in either the application group or folder mode. An asynchronous search does not tie up the main thread and allows the search to be canceled at any time. You can use executeWithCallback to perform an asynchronous search.

    Look at the sample programs TRetrieveWithCallbackOD, TRetrieveFolderWithCallbackOD, and TCallbackOD for examples of using asynchronous search.

Other OnDemand Connector Notes:

Changes in the common APIs for new OD Connector
When a search criteria such as WHERE userid LIKE '%' is issued, it can potentially return a huge number of documents. In the process of doing so, the search can consume all the available memory on the client machine where the search results are returned.

It is recommended to use a more restrictive search criteria to limit the number of items to be returned. One can also use the newly added executeWithCallback method to issue an asynchronous search. With the executeWithCallback method, one can set a threshold value that defines how many items the EIP should wait before sending them back. With this method, one can cancel the search at any time to reduce the amount of memory being consumed by the HUGE number of the search results.

Updates for the Java components for new OD Connector
When running a search, especially an asynchronous search using the newly added executeWithCalllback() API, the default Java virtual machine (JVM) stack size may not be adequate when the result list to be returned is very large. If you are getting the java.lang.StackOverflowError exception, you need to increase the default JVM stack size.

The problem can be solved by increasing the default Java thread stack size. The default stack size from each Java thread is 400K which allows 3920 items to be returned before the stack overflows. Increasing its value to 800K raises the number items that can be return to about 7840; further increases raise the number accordingly.

To raise the Java stack size, you can use the Java command line option -oss followed by nnnK or nnM, where K stands for KiloBytes and M for MegaBytes. Examples:

  java -oss900K classname arguments  <== Sets the default stack size to 900KB
  java -oss2M classname arguments    <== Sets the default stack size to 2MB
TCP/IP tuning/sockets problem
You may encounter a known problem on the Windows platform on systems running EIP communicating with OnDemand servers. AN EIP OnDemand client and server converse in a transaction-based fashion. The client opens a socket to talk to the server and closes it when the current transaction completes. During repeated searches and retrievals, many Windows sockets will be opened and closed. This is the way that the conversation between an EIP client and an OnDemand server works.

By default when a Windows socket is closed by an application, the Windows waits 240 seconds before closing it. During this time, the port that socket used is placed on the TIME_WAIT state and cannot be reused. The second restriction placed by the Windows is the highest port number that can be used is 5000 when an application requests any available user port from the system.

Therefore the default Windows socket defaults may not accommodate this very well without some tuning when the traffic is heavy between EIP the OnDemand server. The other connectors may not be transaction based so this problem does not show up as quickly.

To alleviate the problem, we recommend changing the Windows default values of these two parameters for systems running EIP communicating with OnDemand servers. You must use the Windows registry editor (regedit) to make the changes, so be very careful. Make the following changes:

For more information on these two parameters, you can search for TcpTimedWaitDelay and MaxUserPort on the MS Technet and Knowledge Base.

Tracing
To enable the OD connector C++ API trace, place the trace ini file, cmbodCtrace.ini, in the root of the C drive (c:\) or in the directory specified in the CMBROOT variable. The default output directory for trace files is c:\Ctrace. Modify the trace ini file (cmbodCtrace.ini) if you need to place trace files somewhere else.

Also make sure the path name specified in cmbodtrace.ini is valid and that the line containing CMBODTRACEDIR is not preceded with a # sign.

Here is a sample cmbodCtrace.ini file:

#===============================================================
# OnDemand Trace INI file
#
# OnDemand Trace File Directory Name key - CMBODTRACEDIR
#
# The CMBODTRACEDIR key defines the directory where the trace files will
# be written to.  If the directory name does not exist, it will be created.
#
# Please make sure the path name does not point to an existing file name.
# Otherwise, no trace files will be created.
#
# The trace output directory name can be changed to point to a drive where more
# space is available.  But it is recommended not to change the trace output
# directory name in the middle of an active trace session.
#
# CMBODTRACESCOPE controls how much trace information to generate.
#
# CMBODTRACESCOPE=ENTRY_EXIT_ONLY
# Trace only the entry and exit of all C++ methods and functions.
#
# If CMBODTRACESCOPE is missing, or set to anything else, a full trace will be taken.
#
# To disable the trace, add a leading # character in column 1 on the CMBODTRACEDIR line.
#
[ODCTRACE]
CMBODTRACEDIR=c:\Ctrace
#CMBODTRACESCOPE=ENTRY_EXIT_ONLY

Notes about Sample Files
Please note the following about the samples for the OnDemand connector:

For AIX (client side only):

The EIP OnDemand connector now supports both synchronous and asynchronous searches against an OnDemand content server in the application group mode from an AIX client. An asynchronous search does not tie up the main thread and allows the search to be canceled at any time. You can use executeWithCallback to perform an asynchronous search.

Take a look at the sample programs TClientRetrieveWithCallbackOD.java and TClientCallbackOD.java for examples of using asynchronous search.

8. VI/400 Notes

If you are using VI/400 V 5.1, we suggest that you have all the latest fixes for the VI/400(CM/400) server. There have been quite a few since GA. The specific PTF for the retrieve problem is SI01900. Please contact VI/400 support team for the most up-to-date list of PTFs.

9. EIP Administration Database on AIX

With CSD3, you can keep your EIP administration database on AIX; the administration client runs on Windows. After upgrading EIP on AIX to release 7.1.3, see /usr/lpp/cmb/config/readme.txt for instructions on how to install the EIP administration database on AIX.

10. Extended Search Notes

11. Viewing PDF files

To view PDF files in an EIP enabled environment:

Follow the existing instructions for associating PDF to Acrobat reader in the EIP enabled environment. Mainly, there are two approaches:

  1. EIP administration mime/appl editor
  2. Edit the cmbmime2app.ini file

Please refer to the online-help or the user manuals for details.

To view PDF files:
To associate/view/edit OnDemand annotations for PDF files stored in OnDemand servers in the EIP enabled environment, you need to do the following:

  1. Make sure you have the full version of Adobe Acrobat (not just the reader) installed.
  2. Remove the association of PDF files to Acrobat reader application in the EIP administration mime/appl editor, if there's any.
  3. Comment out the association of PDF files to Acrobat reader application in the cmbmime2app.ini, if there's any.
  4. Manually copy ARSPDF32.API from C:\ARS32\PDF to the plug-in directory of Acrobat. Assuming Acrobat 4.0 is installed and the default installation of Acrobat 4.0 is used, the full path of the plug-in directory is "C:\Program Files\Adobe\Acrobat 4.0\Acrobat\plug_ins"

    Note: Step (4) is only necessary if Acrobat is installed after EIP. If it is installed before EIP, then the EIP install will copy the file to the correct directory.

12. Image Search Server and Client Install

This section is for customers who do not have ibmcxx (IBM C and C++ compiler) but have only VisualAge C and C++ compiler (vacpp) and want to install EIPv7 Image Search Server and Client.

First, install all the EIP v7 components/subcomponents of the interest through the TaskGuide GUI except the subcomponents of Image Search Server and Client. Then, install these two using SMIT by selecting explicitly the following 3 filesets:

  1. cmb.ImageSearchClient.rte
  2. cmb.ImageSearch.com
  3. cmb.ImageSearchServer.rte

After the successful installation of the above filesets, do the following steps manually to configure the Image Search Server and Client.

On the Image Search Client, run the following commands:

  1. su - cltadmin
    (where cltadmin is the Image Search User ID)
  2. export FRNPROMPT=0
  3. cd /usr/lpp/cmb/bin
  4. export admhome=/home/cltadmin
    (home of the Image Search User ID)
  5. ./frnconfg.iss $admhome/frn/qbic
  6. . $admhome/frnsetup.iss
  7. ./qbicadm client $admhome/frn/qbic QBICSRV hostname 6012
    Where:
    client specifies that the configuration is for the Image Search Client, /home/cltadmin/frn/qbic is the Control Data Path, QBICSRV is the Image Search Server Name, hostname is the local host name, 6012 is the Image Search port number.
  8. After successful execution of the above script, do:
    chmod 666 $admhome/frn/qbic/qbic_alias.ini

On the Image Search Server, run the following commands:

    (step 1-6 are same as those of Client; skip them if you have done them for Client)
  1. su - cltadmin
    (where cltadmin is the Image Search User ID)
  2. export FRNPROMPT=0
  3. cd /usr/lpp/cmb/bin
  4. export admhome=/home/cltadmin
    (home of the Image Search User ID)
  5. ./frnconfg.iss $admhome/frn/qbic
  6. $admhome/frnsetup.iss
  7. ./qbicadm server $admhome/frn/qbic libsrvrx frnadmin password
    Where:
    server specifies the configuration is for the Image Search Server, /home/cltadmin/frn/qbic is the Control Data Path, libsrvrx is the Library Server Name, frnadmin is the Enterprise Information Portal user ID, password is the Enterprise Portal password.
  8. After successful execution of the above script, do:
        chmod 666 $admhome/frn/qbic/qbic.ini
        chmod 666 $admhome/frn/qbic/qbic_usr.ini
    

13. Known Problems

Database migration notes and heap-size error

Problem description:
This problem only occurs on Windows systems. When removing a MIME type from the MIME Type Editor, the MIME type will temporary disappear from the list, but reappears when opening the MIME Type Editor the next time.

Also, the following error message might appear while defining a search template in EIP Administration or performing a search using the Enterprise Portal Client sample.

    COM.ibm.db2.jdbc.DB2Exception: [IBM][CLI Driver][DB2/NT]
    SQL0954C Not enough storage is available in the
    application heap to process the statement.  SQLSTATE=57011

Solution:
You must run the cmb712-713.bat migration batch utility against your EIP administration databases after you upgrade to EIP 7.1.3. This batch file is in the Migrate subdirectory after running the CSD self-extracting executable. To migrate your databases, do the following:
  1. In a DOS window, change directory to the Migrate subdirectory of the temporary directory where you extracted the CSD.
  2. Invoke the batch file by entering:
        db2cmd.exe db2clp.bat cmb712-713.bat cmbdb
    
    where cmbdb is the name of the EIP administration database.

    Note: If you have more than one EIP administration database, you need to run this batch file against each of them.

Pentium 4 Problem

The Java Runtime Environment (JRE) 1.1.7 is not compatible with the Pentium(c) processor. JRE 1.1.8 007 or higher is required. Because the JRE is used during the install, the install will fail. "Previous releases of the JDK/JRE 1.1.x for Windows that include the Symantec JIT will not run on Pentium 4 systems (Solaris JDK/JRE 1.1.x for Intel are not affected). JDK 1.1.8_008 for Windows includes support for Pentium 4 systems only, no other changes are included in this release." (referenced from http://java.sun.com/products/jdk/1.1/jre/download-jre-windows.html , August 2001) To fix this problem, replace the JRE 1.1.7 files with JRE 1.1.8 files by completing the following steps:

  1. Copy the enu directory from the installation CD to a temporary directory, for example, tempinst.
  2. Delete the files in \tempinst\jre_lap .
  3. Copy the JRE_LAP from JRE 1.1.8 source to \tempinst\jre_lap .
  4. Verify that the \tempinst\jre_lap directory contains two other directories bin and lib .
  5. Install the product.

Search using BETWEEN in the e-client

When you search an EIP federated datastore with the e-client and you select the BETWEEN operator, only one entry field is displayed. You must enter the two criteria values in the field, separated by a comma, in this format:

     first_value,second_value

Viewer Problem

When calling the CMBDocumentViewer terminate() method from within onDocumentClosed( CMBDocumentClosedEvent event) please use SwingUtilities.invokeLater(Runnable) or EventQueue.invokeLater(Runnable).

Usage:

   CMBDocumentViewer viewerBean = new CMBDocumentViewer();
   ...
   ...
   public void onDocumentClosed( CMBDocumentClosedEvent event )
   {
      ...
      SwingUtilities.invokeLater(
	new Runnable()  {
	     public void run()
                 {
                     try { viewerBean.terminate(); }
                     catch( Exception e) { System.out.println(e); }
                  }
             }
        );
     ....
   }
Explanation of problem:

The CMBDocumentViewer terminate() method call waits until all document closed events are processed. Hence, when the terminate() is called from within the document closed event handler, there is a deadlock and the program hangs. The workaround to fix this problem is to call the CMBDocumentViewer.terminate() method using the SwingUtilities.invokeLater( Runnable ) method when calling it from within the onDocumentClosed( CMBDocumentClosedEvent ) event handler. This will add the terminate() call to the end of the event queue and continue with the other events in the queue( such as handling the other document closed events ) before calling the terminate method.

Problems Running EIP Administration or the Enterprise Portal Client Sample

If you encounter problems starting either the EIP Administration client or the Enterprise Portal Client sample, modify the batch files that start these applications to set a smaller maximum Java memory allocation pool.

14. APAR Fixes with Descriptions

These APARs are fixed in this CSD:

************************************
APAR NUMBER:     IR46803 / AIX       (readme update 25 Jan 2002)
COMPONENT:       5648D0391
PMR NUMBER:      09150,180,000

APAR DESCRIPTION: EIP 7.1.2.0 won't install Dynamic Page Builder due to
prerequisite failure of Net.Data.  The prereq should be version 7.1.0.0
but the install requires 7.1.1.0 instead.

FIX DESCRIPTION:  The install code has been corrected to reference NetData
7.1.0.0.

************************************
APAR NUMBER:       IR47383 / Windows    (readme update 25 Jan 2002)
COMPONENT:         ONDemand Connector / 5648D03O2
PMR NUMBER:        79128,344,000

APAR DESCRIPTION:
Retrieval failures when connecting to an OnDemand AS/400 backend.
This problem is related to large applications group ID values used on
the OnDemand AS/400 server.

FIX DESCRIPTION:
EIP now uses an updated version of the OnDemand client which supports
application group identifiers greater than 64K.

************************************
APAR NUMBER:       IR47258 / Windows    (readme update 25 Jan 2002)
COMPONENT:
PMR NUMBER:

APAR DESCRIPTION:
ActiveX DxDataStoreFed.disconnect fails to logoff from
datastores it has connected to (C++ as well).

FIX DESCRIPTION:
Users connecting to CM through Fed layer,
would logon to CM twice, but be logged off
only once...causing a memory leak.  Java is
okay, but C++ and ActiveX fails.

************************************
APAR NUMBER:     IR42078 / Windows
COMPONENT:       5648D03J2
PMR NUMBER:      02578,111

APAR DESCRIPTION: When using the EIP Java visual beans and the CMBConnection
non-visual bean, the DataManagementEnabled and
SchemaManagementEnabled properties of CMBConnection
must be set to true (the default).  If they are set to false,
null pointer exceptions occur in the visual beans.

FIX DESCRIPTION:  DataManagementEnabled and SchemaManagementEnabled have
been deprecated. Calls to get these beans from CMBConnection will always
succeed.

************************************
APAR NUMBER:       IR43984 / Windows
COMPONENT:         JC / 5648D03J2
PMR NUMBER:        99999

APAR DESCRIPTION:
Update , Delete, and Create methods for note logs are not implemented in the
non-visual beans.

FIX DESCRIPTION:
Added Update, Delete, and Create methods for note logs in the CMBDataManagement
bean.

************************************
APAR NUMBER:    IR44123

APAR DESCRIPTION:
  The Planning and Installation document does not provide
  enough instructions on all the steps required to get
  this client working.

FIX DESCRIPTION:
  In the Enterprise Information Portal for Multiplatforms
  Planning and Installing EIP Version 7 Release 1, the
  following information is added:

  Chapter 5, Installing and configuring EIP server
  components on Windows, "Configuring the Desktop client"
  How to define a DB2 local alias with Client Configuration
  Assistant
  Before you begin:
  Make sure the DB2 administrator has added you as a user to that
  database and has set the privileges as a minimum to connect.
  Make sure the remote workstation you are using has a live
  network connection.

  You must know the network protocol (TCP/IP, NetBIOS, etc.)
  or the host name of the workstation where your DB2 database
  is installed.  You must know the name of the database you
  are connecting to.

  If you add any new users to the EIP database in DB2, restart
  the database before you add the database using Client
  Configuration Assistant.

  1.Click Start/Programs/DB2/Client Configuration Assistant.
    The Client Configuration Assistant window appears.
  2.Click Add. The Add Database Wizard window appears.
  3.Click the network protocol appropriate for your configuration.
    Answer the prompts and click Finish.
  4.Click Test the connection. The Connect to DB2 database
    window appears.
  5.On the EIP workstation, create a cmbds.ini file and
    enter DATASOURCE=databasename; REPOSITORY=DB2.
  6.Click IBM/DB2/Command Line Processor.  At the prompt,
    enter connect to dbasename user userid used to test
    connection and press Enter.  When prompted, enter the password
    associated with the userid that gave you a successful test
    connection in step 4.

  You should now be able to connect the EIP desktop client to
  the DB2 EIP database without being prompted for a password.

  7.To modify the cmbcs.ini file to tell the client application
    that the content connectors are installed locally, you need
    to modify the cmbcs.ini file. Set all the backend servers
    to LOCAL.
  8.Modify the parameters in the cmbclientapp.bat file to start
    the client application:
    cmbclientapp (CMBROOT) (JAVAROOT ) (DB2HOME) (FEDSERVER) (INIURL)
     where:
     CMBROOT is the directory where EIP is installed
        (default is c:\cmbroot)
     JAVAROOT is the directory where the JDK is installed
        (default is %CMBROOT%\JRE)
     DB2HOME  is the directory where DB2 is installed
        (default is c:\sqllib)
     FEDSERVER is the name of the EIP database
        (default is cmbdb)
     INIURL is the directory where the .ini files are installed
        (default is c:\cmbroot)

  Note:  The keyword FEDSERVER is for the EIP database name.
  Enter the alias of the EIP database, and not the host name of
  the database server.

  9.Setting the connectionType variable specifies the location of
    the content server connectors.  Set this variable to DYNAMIC.

  Note:  The shortcut in the Start menu overrides defaults.  Verify the
  arguments in the shortcut properties if you experience starting the client.

  10.Ensure that the environment variables in the cmbenv.bat file in
     the installation directory are set correctly.


************************************
APAR NUMBER:       IR44333 / Windows
COMPONENT:         JB / 5648D03J2
PMR NUMBER:        99999

APAR DESCRIPTION:
Sometimes cannot launch doc using CMBDocumentViewer and application seems
to be locked.

FIX DESCRIPTION:
A couple of reasons were discovered for this.
1) Locks are not always released when a document is edited.
2) A message window is sometimes hidden.  This gives the appearance that the
  app is hung, but in reality, the message window is modal, so since it is
  waiting for user input, no other eip window will operate.  Made the
  message window always in the foreground.

************************************
APAR NUMBER:       IR44481 / Windows
COMPONENT:         5648D0352
PMR NUMBER:        99999

APAR DESCRIPTION:
API information did not contain information on the connections string.

FIX DESCRIPTION:
Descriptions of the connection strings were added to the
Javadoc comments for DKDatastoreOD.

REFERENCE DOCUMENTATION:
Javadoc for DKDatastoreOD

************************************
APAR NUMBER:       IR44615 / Windows
COMPONENT:         ODV / 5648D03V2
PMR NUMBER:        30446,001

APAR DESCRIPTION:
Can't display TIFF documents from OnDemand using the CMBDocumentViewer bean.

FIX DESCRIPTION:
Added test for image/tif mimetype to the bridge to the OnDemand viewer.

************************************
APAR NUMBER:       IR44616 / Windows
COMPONENT:         JB / 5648D03J2
PMR NUMBER:        49448,500

APAR DESCRIPTION:  The bridge dll used by CMBDocumentViewer visual bean to launch
the CM viewer is leaking memory.

FIX DESCRIPTION:   Fixed problem caused by faulty logic in releasing dispatch
handles.

************************************
APAR NUMBER:       IR44897 / Windows
PMR NUMBER:        99999

APAR DESCRIPTION:  CMBLogonPanel visual bean: When the Change Passwords button
is pressed, the modal ChangePasswords dialog is displayed.  When the password
is successfully changed, the CMBLogonPanel should generate an event.

FIX DESCRIPTION:   CMBLogonPanel now generates an event in this situation
(CMBPasswordsChangeCompletedEvent).

************************************
APAR NUMBER:       IR45012 / Windows
COMPONENT:         Other / 5648D03C2
PMR NUMBER:        38520,370

APAR DESCRIPTION: Unable to change display name for display only search criteria.

FIX DESCRIPTION:  Allowing display only criteria name to be changeable.

**************************
APAR NUMBER:       IR45032 / Windows
COMPONENT:         TC / 5648D03T2
PMR NUMBER:        22142,519

APAR DESCRIPTION:  ThinClientInstall.html in EIP71 states in Part 3 Configuring
Web Application Server for EIP Thin Client Sample (Multiple Machines):

1. To set the application server attributes...

Thin Client Attributes
Property Name - cmbcs
Property Value -
Description:  URL of the cmbcs.ini file that defines how to
access the content server runtime.
This value is used only when the
connectiontype is set to 2 (dynamic).
                         Default: not specified (null)
                         Typical EIP value:
                          file:///c:/cmbroot/cmbcs.ini
NOTE: This property is ignored when connectiontype is set to 0 (local) or 1 (remote).
This property is required when connectiontype is set to 2 (dynamic)."

Customer says that his connection type is 1 (remote) and that it
is NOT ignored.
When it is not specified, and he tries to search, it does not
try to go through RMI and there is a CMBInvalidQueryException.
Using tracelev 2, there is an InvocationTargetException .  It
tries to look for a local connector.  Once the customer defined
the cmbcs parameter, everything worked fine.

PS.  The same documentation exists in "Managing EIP 71"
SC27-0875-00 (pages 77-78) as well in EIP 61 documents.

FIX DESCRIPTION:   Added the following to description of cmbcs parameter
(under Part 3: Configuring Web Application Server for EIP Thin Client Sample
(MultipleMachines), Thin Client Attributes

NOTE:  This property must be set regardless of the
connection type.  This is because no matter what connectionType is,
the federated OOAPI always looks at cmbcs.ini to determine which
package to use (client, server or cs), and the thin client is only
using the federated datastore.

REFERENCE DOCUMENTATION:  thinClientInstall.html/1.23/line 1466/
NOTE:  This property must be set regardless of the
connection type.  This is because no matter what connectionType is,
the federated OOAPI always looks at cmbcs.ini to determine which
package to use (client, server or cs), and the thin client is only
using the federated datastore.

************************************
APAR NUMBER:       IR45038 / Windows
PMR NUMBER:        44009, 519

APAR DESCRIPTION: An application that implements CMBDocumentClosedListener
  may hang when the CMBDocumentViewer bean's terminate() method is called
  from within the onDocumentClosed( CMBDocumentClosedEvent ) event handler.

FIX DESCRIPTION:
 The CMBDocumentViewer terminate() method call waits until all document closed
 events are processed.  Hence, when the terminate() is called from within the
 document closed event handler, there is a deadlock and the program hangs. The
 workaround to fix this problem is to call the  CMBDocumentViewer.terminate()
 method using the SwingUtilities.invokeLater( Runnable ) method  when calling it
 from within the onDocumentClosed( CMBDocumentClosedEvent ) event handler.
 This will add the terminate() call to the end of the event queue and continue
 with the other  events in the queue( such as handling the other document closed
 events ) before calling the
 terminate method.

 Usage:
      ...
     CMBDocumentViewer viewerBean = new CMBDocumentViewer();
     ...
     ...
      public void onDocumentClosed( CMBDocumentClosedEvent event ){
     ...
      SwingUtilities.invokeLater( new Runnable() {
       public void run(){
        try {
            viewerBean.terminate();
        }catch( Exception e){
           System.out.println(e);
        }
       }
     });
     ...
     }

************************************
APAR NUMBER:       IR45111 / Windows
COMPONENT:         DES / 5648D0382
PMR NUMBER:        28083,1LD

APAR DESCRIPTION:  One could successfully Fetch a PDF document using DES connectors
from a DES file system source but could not read the correct mimetype to spinoff
the acrobat reader to display the fetched PDF document.

FIX DESCRIPTION: The DES connector code was not reading the mimetype from the CMBDB.
This is fixed in this APAR.

************************************
APAR NUMBER:       IR45305 / Windows
COMPONENT:         TS / 5648D0342
PMR NUMBER:        2731

APAR DESCRIPTION: The problem was the XML parser when found any char with
high bit (over 0x80) breaks out and start the algorithm for UTF-8,
So in our case parser will treat 0xB6 as byteOne , Next char
after 0xB6 as byteTwo and must follow UTF-8 rules . But in our
case the next char was space char 0x20 not as parser expected
this will lead to badEncoding "after initial byte of a UTF-8
character sequence" and exit parsing.

The installed driver also comprises fixes for the following APARs:
IR45383  Search within XML files was not correct for intersection word
IR45736  Invalid LIBACCESS library server parameters causes TSE client to crash JVM when using zero session handle in SimLibQueryObject()
IR46042  Text Search SIGPIPE handling causes Websphere to crash

FIX DESCRIPTION:  Install the TSE fix delivered in this CSD to get a fix of
the above described problems.

SPECIAL INSTALLATION INSTRUCTIONS:

Install fixpack.
Installation procedure will take care of which parts are client, client and server.

The driver comprises a subset of TSE client  and server parts. So please  install your TSE AIX clients as well as the TSE server.
  1. Stop the TSE server  (imlss -stop instanceName) when running tasks
     (indexing) are finished.
  2. Issue "slibclean" command from root UID
  3. Install the fix
  4. cleanup the system from all left over shared memory and semaphores owned
     by the UID which starts the TSE server
     Use "ipcs" command to list.
  5. Start TSE server
The TSE  release-version installed now is:  R5-59  ( imlss -copyright )

For the installation on WinNT apply the same procedure except step 2 and 4.

The installed driver also comprises fixes for the following APARs:
IR45383  Search within XML files was not correct for intersection word
IR45736  Invalid LIBACCESS parameters cause TSE client to crash JVM when using
   zero session handle in SimLibQueryObject()
IR46042  Text Search SIGPIPE handling causes Websphere to crash

************************************
APAR NUMBER:       IR45380 / Windows
PMR NUMBER:        99999

APAR DESCRIPTION:  Unable to "tab" to password after entering the userid on EIP
logon screen.

FIX DESCRIPTION: In login.jsp, added onChange event handler in two places:

  <INPUT type="text" maxLength=40 name=userid value="<%= inputUserid %>" align MIDDLE size=17 onChange="password.focus()">

  <INPUT type="password" maxLength=40 name="newPassword" value="" align MIDDLE size=17 onChange="verifypassword.focus()">

************************************
APAR NUMBER:       IR45421
COMPONENT:         thin client
PMR NUMBER:        99999

APAR DESCRIPTION: When using the thin client to retrieve TIFF images, and two
documents are returned, the user clicks on the first one (works fine), but when
the user clicks on the second one, the same image from the first document is
returned.

FIX DESCRIPTION:  original: if (!lastItemPid.startsWith(itemPid.substring(0,itemPid.length()-2))) {
  fix: if (!lastItemPid.startsWith(itemPid.substring(0,itemPid.length()))) {

The original code caused problems if the pids differed only in the last two
characters (they matched, and the first item was viewed).  The fix compares the
first n characters where n=length of the first pid.

**************************
APAR NUMBER:       IR45569 / Windows, AIX
COMPONENT:         Documentation

FIX DESCRIPTION:
The following Active X classes are not documented in EIP 6 or 7:
DXSequentialCollectionDL, DXSequentialIteratorDL, DXTextQueryDL, DXDDODL,
DXDatastoreDL, DXResultSetCursorDL, DXNVPairDL.  All are available classes.
Documentation for EIP V8 will include these classes.
Currently the sort() method requires using a private class and is not
available for Java.  This problem will be corrected in V8 and improved
documentation will follow.

************************************
APAR NUMBER:       IR45571 / AIX
COMPONENT:         API / 5648D0351
PMR NUMBER:        74288,519

APAR DESCRIPTION: When user is multiple parametric queries against DL with the content=no option
the object type not set properly.

FIX DESCRIPTION: Object type is set properly when content=no is used with multiple parametric
query.

************************************
APAR NUMBER:       IR45593 / Windows

APAR DESCRIPTION: Wildcard functionality not working correctly.  If the wildcard
is the only character used then both % and * the wildcard works with the LIKE
operator.  If the wildcard is used at the end of a string (i.e. CRI%) then only
% works.  Wildcards do not seem to work at the beginning or in the middle of a
search string.

FIX DESCRIPTION:   Fixed function in CMBSearchTemplateViewer, CMBSearchTemplate
beans, and federated java api.

************************************
APAR NUMBER:       IR45644 / Windows
PMR NUMBER:        02578,111

APAR DESCRIPTION: If a user is added to a user group that was previously
included on a search template or templates, that user group gets deleted
from the search template(s) and had to be re-added.

FIX DESCRIPTION:   Function has been fixed.

************************************
APAR NUMBER:       IR45696 / Windows
COMPONENT:         Other / 5648D03M2
PMR NUMBER:        41735,001,806

APAR DESCRIPTION: When getMin() or getMax() is called using ActiveX or C++, no
values are being returned.

FIX DESCRIPTION:  Function has been fixed.

************************************
APAR NUMBER:       IR45736 / Windows
COMPONENT:         TS / 5648D0342
PMR NUMBER:        24496,180

APAR DESCRIPTION: User typed "LIBACCESS=(datastore,userid,password)".  This caused
the system to crash without  reporting errors.  Text Search should not call
SimLibQueryObject if the server name is invalid.

FIX DESCRIPTION: TSE library services called  FM APIs without checking for a valid
session handle. This caused  SimLibQueryObject() call to crash and Java Virtual
Machine with it. With the fix this can't happen any more. Just logging on to
CM will fail if uid and/or psw are wrong.

SPECIAL INSTALLATION INSTRUCTIONS:
The APAR record is just kept as a reference. The driver gets delivered with
fix for APAR IR45305

************************************
APAR NUMBER:       IR46042 / AIX
COMPONENT:         TS / 5648D0341
PMR NUMBER:        51767,032,724

APAR DESCRIPTION: Text Search SIGPIPE handling causes WebSphere to crash.

FIX DESCRIPTION:  Install supplied fix.

SPECIAL INSTALLATION INSTRUCTIONS:
The APAR record is just kept as a reference. The driver gets delivered
and tested with fix for APAR IR45305

************************************
APAR NUMBER:       IR46050 / Windows
COMPONENT:         API / 5648D0352
PMR NUMBER:        30447,001,806

APAR DESCRIPTION: When doing searches through EIP, performance is slow.

FIX DESCRIPTION: Performance of EIP search was improved with updates
in several areas.  The information for mapping federated entities to
native entities is cached so it reduces the database
interaction and the memory usage. SQL calls are also reduced
by caching the mapping information, joining SQL, and retrieving more
information in each SQL call.

************************************
APAR NUMBER:       IR46089 / Windows
COMPONENT:         TC / 5648D03T2
PMR NUMBER:        99999

APAR DESCRIPTION: The following error occurs when opening a folder in a workpacket.
   0-errorreport.jsp: 2001-06-25 10:10:49.75: 9.82.159.164: Begin Exception Report
   com.ibm.mm.beans.CMBException: Server error: DGL0303A: Invalid
   parameter[56 2 DL6 LIBCM119 FBIData; LIBCM1; Case19 16
   Z6C@VI5HR@PENCEHworklist=FBICaseWorkworkpacketid=20010625100806203000]
   at com.ibm.mm.beans.CMBException.(CMBException.java:106)
	at com.ibm.mm.beans.CMBDataManagement._retrieveAndSortContents(CMBDataManagement.java:3420)
	at com.ibm.mm.beans.CMBDataManagement.retrieveItem(CMBDataManagement.java:969)
	at C_0003a.CMBROOT.SAMPLES.jsp.clientapp.foldercontents_jsp_2._jspService(foldercontents_jsp_2.java:91)
	at com.sun.jsp.runtime.HttpJspBase.service(HttpJspBase.java:175)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
	at com.sun.jsp.runtime.JspServlet$JspServletWrapper.service(JspServlet.java:159)
	at com.sun.jsp.runtime.JspServlet.serviceJspFile(JspServlet.java:505)
	at com.sun.jsp.runtime.JspServlet.service(JspServlet.java:615)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
	at

FIX DESCRIPTION: The code in itemlistdisplay.jsp was changed.

Added the & as shown in the following 2 lines.
      ild_currWorkList.append("&worklist=").append(ild_workList); // fix
      ild_currWorkPacket.append("&workpacketid=").append(ild_workPacketId); // fix

************************************
APAR NUMBER:       IR46297 / Windows
PMR NUMBER:        99999

APAR DESCRIPTION: Beans and federated API: When a search template with a text search
criterion is used, and the value for the text search criterion is set to "", a
combined search is still performed.

FIX DESCRIPTION: Beans, ooapi, sample thin client changed to only generate a combined
search only if the text criterion is set.

************************************
APAR NUMBER:       IR46297 / AIX
PMR NUMBER:        99999

APAR DESCRIPTION: CMBSTCriterion.setValue("") is not recognized correctly in the
OOAPI layer.  Currently, when searching on "", the log files display tqterm = ( ),
when it should actually return tqterm = .

FIX DESCRIPTION:  LOCAL FIX: Once bean and OOAPI layer has been fixed, then the .JSP
file can be changed.

For EIP Thin Client, in searchresults.jsp file, when text search criteria set to blank,
you must set crit[i].setValue("") or crit[i].setValue(new String("")).

**************************
APAR NUMBER:       IR46355 / Windows, AIX
COMPONENT:        Documentation

FIX DESCRIPTION:
The following information is an addition to the information on
DKDatastoreTS in the EIP online Application Programming Interface Reference:

boolean_query
       [unary_operator] text_search_criteria
      [[binary_operator [unary_operator] text_search_criteria]
... ]

Binary operators are AND or &, OR or |.
NOT is the only unary operator.

Search Argument
text_search_criteria is one of the following keyword/options,
where the dollar sign delimits the keyword/option:
      { search_argument                 |
        $DOC$  '{' proximity_search_argument '}'  |
        $PARA$ '{' proximity_search_argument '}'  |
        $SENT$ '{' proximity_search_argument '}'
      }

According to this syntax the following should be acceptable:
SEARCH=(COND=(NOT ($SENT$ {UNIX
software})));OPTION=(SEARCH_INDEX=TSTNGRAM)

but the NOT operator is not allowed with the keywords $DOC$,
$PARA$, $SENT$ as documented in the TextSearch API documentation
for EwhSearch.

************************************
APAR NUMBER:   IR46451 / Windows
COMPONENT:     OD/5648D03O2
PMR NUMBER:    20881,519

APAR DESCRIPTION:  The EIP OnDemand connector DLL, cmbod716d.dll,
was not built properly.  When running a Microsoft Visual Studio
C++ project with the debug setting linking to cmbod716d.lib, an
assertion failure will occur when a pCur->fetchNext() is called
after a search.  The assertion point is in MSVC DBGHEAP.C.
The problem was caused by referencing both MSVCRTD.DLL (debug)
and MSVCRT.DLL (non-debug) in the debug version of OnDemand
connector DLL.

FIX DESCRIPTION:  Rebuild the DLL, cmbod716d.dll, with only the
debug version of libraries to ensure MSVCRT.DLL is not referenced.

**************************
APAR NUMBER:       IR46452 / Windows
COMPONENT:         TC /
PMR NUMBER:        20400,379

APAR DESCRIPTION: When running the thin client samples with EIP 712 and WAS 3.5,
a search template query with a search string containing commas for the LIKE
operator causes "the document contained no data, try again later" error dialog.
After this error occurs, even when a search string with no commas is entered, the
query does not work anymore for the same search template.

FIX DESCRIPTION: Added an if statement to check for
between/not between/in/not in so that
parsing is only done for those operators.
Previously the code was parsing out the
comma for all operators.

************************************
APAR NUMBER:    IR46456 / Windows, AIX
COMPONENT:      ActiveX, C++, and Java Documentation
                EIP online Application Programming Reference

FIX DESCRIPTION: The DKPid.setObjectType() method description should also say:
  When associated with a federated datastore, the object type is composed of the
  federated entity name, the backend server name, and the backend native entity,
  all separated by a semicolon.
For example:
  DKPid.setObjectType("FedEntity;BackendServer;NativeEntity")

**************************
APAR NUMBER:       IR46464 / Windows
COMPONENT:         TC / 5648D03T2
PMR NUMBER:        25965,379

APAR DESCRIPTION: Got a note from the customer that states there're also problems
with the combination of searches that involve the BETWEEN and EQ/LT/GT operator.
Here're the steps to reproduce the problem:

1. Create search template containing integer criterion and specify
   BETWEEN/EQ/LT/GT operators.
2. Try EQ or LT or GT first for the search and it should work.
3. Try BETWEEN for the search, specifying a range. This should work
   also.
4. Now, try EQ or LT or GT again specifying only a number (no range
   specified), the search causes the "document contained no data" error.
5. Now, doesn't matter what you try for that criterion, the search
   doesn't work anymore.

FIX DESCRIPTION:   In searchresults.jsp,
Added the following because the code was using setValues regardless of the
number of values:

          // IR46464 - use setValue if just one value
          if (valuesArray.length==1) {
            crit[i].setValue(valuesArray[0]);
          }
          else {
            crit[i].setValues(valuesArray);
          }

Added the following to clear the search data.  After using the BETWEEN
operator, any subsequent searches were including the second value used by
BETWEEN because the array was not cleared.  This resulted in an invalid query
exception because the  single value operators had two search values.

    // IR46464 - Added following to clear search data for criterion
    for (int i=0; i <crit.length; i++) {
      crit[i].clearSearchData();
    }

**************************
APAR NUMBER:       IR46475 / Windows, AIX
COMPONENT:        Documentation:  CM v7.1 SysAdmin Guide, Ch 11, p118

FIX DESCRIPTION:
In the CM v7.1 SysAdmin Guide, Ch 11, p118, the imlclpix command is
described as being used to "Remove all index entries from an existing
index on the text search server."  This statement is somewhat half true
... it should say "This is a cleanup function for library server
consistency.  This removes all index entries from an existing index on
the text search server which no longer exists in a CM library server"

Command line, imlclpix -h, gives the *correct* information.

**************************
APAR NUMBER:       IR46493 / Windows
COMPONENT:         FS / 5648D0302
PMR NUMBER:        85102,469

APAR DESCRIPTION: Federated connector returning all native attributes for first search.

FIX DESCRIPTION: Connector failed to register schema mapping to datastore properly.
Problem has been resolved.

**************************
APAR NUMBER:       IR46600 / Windows
COMPONENT:         API / 5648D0352
PMR NUMBER:        38362,519

APAR DESCRIPTION:
When customers run Federated layer application in a development environment in C++ or
ActiveX, the application would close the development environment unexpectedly.

FIX DESCRIPTION: Code has been fixed.

**************************
APAR NUMBER:       IR46619
COMPONENT:         5648D0372
PMR NUMBER:        45219,519,000

APAR DESCRIPTION: DKWorkFlowServiceDL.listWorkBaskets method throws error in VAJ.

FIX DESCRIPTION: A missing statement is added into the code to fix the problem.

************************************
APAR NUMBER:       IR46739 / Windows
COMPONENT:         JB
PMR NUMBER:        38562

APAR DESCRIPTION: Folder contents not retrieved in method CMBItem.getFolderItem,
causing method to return no items.

FIX DESCRIPTION:   Function has been fixed.

************************************
APAR NUMBER:       IR46775 / Windows
COMPONENT:         API
PMR NUMBER:        47132,519

APAR DESCRIPTION: It seems there are three methods in the
DXResultsFed object which are not implemented - replaceElementAt(),
removeAllElements(), and addElement().

FIX DESCRIPTION:  Function has been fixed.

************************************
APAR NUMBER:       IR46818 / Windows
COMPONENT:         DL
PMR NUMBER:        00159,H39,649

APAR DESCRIPTION: When using the e-client to search for folders that
contain specific items, the search results return the folders.  But
if the folders are opened, none of the items inside the folder are
listed.  The items are inside the folder, but the e-client does not
list any of these items.

FIX DESCRIPTION:  Function has been fixed.

************************************
APAR NUMBER:       IR46897 / Windows
COMPONENT:         JB
PMR NUMBER:        22014,077,724

APAR DESCRIPTION: The connect string property is being ignored
by CMBConnectionPool when creating connections.


FIX DESCRIPTION: Be sure to pass the connect string to new instances
of CMBConnection created by CMBConnectionPool.

************************************
APAR NUMBER:       IR47256 / Windows
COMPONENT:         JB
PMR NUMBER:        00160,H39,649

APAR DESCRIPTION: CMBSchemaManagement bean needs to filter CM
internal index class names. These names start with *FRN$ for
country code FRA.

FIX DESCRIPTION:  Code has been fixed.

************************************
APAR NUMBER:    IR47710 / Windows
PMR NUMBER:     40359


APAR DESCRIPTION: Errors when retrieving documents without
annotations from an ImagePlus/390 server with the e-client

FIX DESCRIPTION:  Code has been fixed.

************************************
APAR NUMBER:    IR47765 / Windows / AIX
COMPONENT:      DL


APAR DESCRIPTION: On Windows and AIX, when changePassword method 
is called, nothing happens.  During the change, a method was
called to verify passwords.  Before password verification, the
changePassword method would encrypt the password.  This encryption 
failed on certain systems.

FIX DESCRIPTION:  Check has been removed, as it is no longer
required.

15. Notices and Trademarks

This information was developed for products and services offered in the U.S.A.

IBM may not offer the products, services, or features discussed in this document in other countries. Consult your local IBM representative for information on the products and services currently available in your area. Any reference to an IBM product, program, or service is not intended to state or imply that only that IBM product, program, or service may be used. Any functionally equivalent product, program, or service that does not infringe any IBM intellectual property right may be used instead. However, it is the user's responsibility to evaluate and verify the operation of any non-IBM product, program, or service.

IBM may have patents or pending patent applications covering subject matter described in this document. The furnishing of this document does not give you any license to these patents. You can send license inquiries, in writing, to:

IBM Director of Licensing
IBM Corporation
North Castle Drive
Armonk, NY 10504-1785
U.S.A.
For license inquiries regarding double-byte (DBCS) information, contact the IBM Intellectual Property Department in your country or send inquiries, in writing, to:
IBM World Trade Asia Corporation
Licensing
2-31 Roppongi 3-chome, Minato-ku
Tokyo 106, Japan
The following paragraph does not apply to the United Kingdom or any other country where such provisions are inconsistent with local law: INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of express or implied warranties in certain transactions, therefore, this statement may not apply to you.

This information could include technical inaccuracies or typographical errors. Changes are periodically made to the information herein; these changes will be incorporated in new editions of the publication. IBM may make improvements and/or changes in the product(s) and/or the program(s) described in this publication at any time without notice.

Any references in this information to non-IBM Web sites are provided for convenience only and do not in any manner serve as an endorsement of those Web sites. The materials at those Web sites are not part of the materials for this IBM product and use of those Web sites is at your own risk.

IBM may use or distribute any of the information you supply in any way it believes appropriate without incurring any obligation to you.

Licensees of this program who wish to have information about it for the purpose of enabling: (i) the exchange of information between independently created programs and other programs (including this one) and (ii) the mutual use of the information which has been exchanged, should contact:

IBM Corporation
J74/G4
555 Bailey Avenue
P.O. Box 49023
San Jose, CA 95161-9023
U.S.A.
Such information may be available, subject to appropriate terms and conditions, including in some cases, payment of a fee.

The licensed program described in this information and all licensed material available for it are provided by IBM under terms of the IBM Customer Agreement, IBM International Program License Agreement, or any equivalent agreement between us.

Any performance data contained herein was determined in a controlled environment. Therefore, results obtained in other operating environments may vary significantly. Some measurements may have been made on development-level systems and there is no guarantee that these measurements will be the same on generally available systems. Furthermore, some measurements may have been estimated through extrapolation. Actual results may vary. Users of this document should verify the applicable data for their specific environment.

Information concerning non-IBM products obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not tested those products and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products.

All statements regarding IBM's future direction or intent are subject to change or withdrawal without notice, and represent goals and objectives only. This information contains examples of data and reports used in daily business operations. To illustrate them as completely as possible, the examples include the names of individuals, companies, brands, and products. All of these names are fictitious and any similarity to the names and addresses used by an actual business enterprise is entirely coincidental.

COPYRIGHT LICENSE: This information contains sample application programs in source language, which illustrate programming techniques on various operating platforms. You may copy, modify, and distribute these sample programs in any form without payment to IBM, for the purposes of developing, using, marketing or distributing application programs conforming to the application programming interface for the operating platform for which the sample programs are written. These examples have not been thoroughly tested under all conditions. IBM, therefore, cannot guarantee or imply reliability, serviceability, or function of these programs. You may copy, modify, and distribute these sample programs in any form without payment to IBM for the purposes of developing, using, marketing, or distributing application programs conforming to IBM's application programming interfaces.

Trademarks:

The following terms are trademarks of International Business Machines Corporation in the United States, other countries, or both:
   IBM ImagePlus
   DB2 DB2 Universal Database
   WebSphere  OS/390
   AIX  

Java and all Java-based trademarks and logos are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.

Windows NT is a trademark of Microsoft Corporation in the United States, other countries, or both.

Other company, product or service names may be trademarks or service marks of others.