######################################################################## # # # COMPONENT_NAME: MQSeries Integrator V1.1 # # # # FILE: MEMO.PTF # # # # Program Numbers: 5697-E60, 5697-E61, 5697-E62, 5697-E63, 5697-E64, # # 5697-E65, 5697-E66, 5697-E67, 5697-E68, 5697-E69, # # 5697-E73, 5697-E74 5697-E75 and 5799-GHP. # # (C) COPYRIGHT New Era of Networks, Inc. 1999, 2000 # # All Rights Reserved. # # (C) COPYRIGHT International Business Machines Corp. 1999, 2000 # # All Rights Reserved. # # Licensed Material - Property of IBM # # # # US Government Users Restricted Rights - Use, duplication or # # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # # ######################################################################## PTF Memo for IBM MQSeries Integrator Version 1.1 ------------------------------------------------ This memo.ptf file contains information you need for updating IBM MQSeries Integrator Version 1.1. This memo.ptf file corresponds to the second CSD which is defined as PTF U200128 and is divided into the following sections: o Installation and maintenance information o Documentation changes o Special information o Service and technical support o CSD history ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ INSTALLATION AND MAINTENANCE INFORMATION ---------------------------------------- Maintenance updates are supplied on CD in the form of a Program Temporary Fix (PTF), referred to as a Corrective Service Diskette (CSD). You can find the latest information about available CSDs on the Internet, at this address: http://www.ibm.com/software/ts/mqseries/ You can also download CSDs from this web site. APPLYING MAINTENANCE ____________________ CLOSE DOWN ANY MQSERIES AND MQSERIES INTEGRATOR V1.1 PROCESSES YOU HAVE RUNNING BEFORE ATTEMPTING TO APPLY MAINTENANCE. Read the "memo.ptf" file associated with the maintenance on the supplied media. This might contain additional information regarding the installation of maintenance. NT __ Ensure that the user ID you are logged on with is a member of the Windows NT ADMINISTRATORS group in the local security domain. During installation of maintenance replaced files are automatically backed up. Reply Yes at the prompt to overwrite read only files. 1. From the CSD CD-ROM or Web Site select the correct image directory for your machine and database and copy to a temporary directory on the target machine's local hard drive. 2. Double click on 'setup.exe' and follow the instructions on the screen. 3. When the installation has finished, open a MSDOS prompt window and change to the MQSeries Integrator v1.1 root directory. The default root directory on NT is c:\mqi. 4. Run the following script to register the Visual Tester OCX files. vtupdate.cmd The script arguments are: vtupdate.cmd [ noq | mq | mqc ] [ora7 | ora8 | syb | db2 | mssql ] noq = no queuing mq = MQSeries queuing mqc = MQSeries client queuing ora7 = Oracle 7 database ora8 = Oracle 8 database syb = Sybase database db2 = DB2 database mssql = Microsoft SQL Server database After Installation, on running the NNFie utility, you will be warned that there is a conflict with existing formatter elements. You will be prompted to overwrite, ignore or rename the component. Select the overwrite option. To uninstall the csd use the 'uninstall latest csd' icon from the program folder in the startup menu. AIX ___ Log in as root (or use command su) 1. Copy the image from the web to a temporary location on your hard drive or mount your CD drive. 2. Use the 'installp' command with the -a -d options. Do not commit (-c option) the update until you are sure that the CSD has been applied and is working properly. 3. The CSD install process automatically backs-up your original files. You can back out the changes made by the CSD at any time until you commit the update. 4. The CSD install process cannot search your registry to see which database version of MQSeries Integrator v1.1 is installed therefore you must make sure you have the right image before installing. HP-UX V10/11 ____________ Log in as root (or use command su) 1. Copy the image from the web to a temporary location on your hard drive or mount your CD drive. 2. Use the 'swinstall' command to install the CSD. The CSD will automatically backup the original files to a system area on your local drive. The original files are restored if you uninstall the CSD. Note: If disk space is limited, the backup can be suppressed by creating an empty flag file called: MQPTF_NOSAVE in the directory /var/adm/sw/patch. Be aware that if this option is used, the PTF cannot be removed unless the flag file MQPTF_FORCEREMOVE is present in the directory /var/adm/sw/patch. WARNING: Use of this option will leave the product in an unusable state. The only way to restore a previous level in this instance is to reinstall the product and reapply the required PTF. Sun Solaris. ____________ Log in as root (or use command su) 1. Copy the image from the web or CD to a temporary location on your hard drive. 2. Change to your temporary location and make a temporary directory. 3. Use the 'pkgtrans' command with the arguments 'package name' and 'location'. The location where the package is unpacked to is the temporary directory you have just created. 4. Use the 'pkgadd' command to install the CSD. Note: When running the 'pkgadd' command you will get a warning asking if you want to overwrite conflicting code. Answer yes to this. The CSD will automatically backup the original files to a system area on your local drive. The original files are restored if you uninstall the CSD. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ DOCUMENTATION CHANGES --------------------- ------------------------------------------------------------------- IY14662 - HOW TO USE NNALERT NEEDS INCLUDED IN DOC. Defect # 8085 ------------------------------------------------------------------- The following information will be added to the MQSeries Integrator User's Guide V1.1, GC34-5504. Setting the NN_ALERT Environment Variable ----------------------------------------- By setting the NN_ALERT environment variable, you can control logging levels to receive only critical messages or turn off logging altogether. You can also rename the log file. To control the level of logging, do any of the following: In the korn/bourne shell (ksh/sh) - To turn off logging to status log, set the variable to OFF. - To log only critical (CRIT) errors to status log, set the variable to CRITICAL. For example: export NN_ALERT= In C shell (csh) - To turn off logging to status log, set the variable to OFF. - To log only critical (CRIT) errors to status log, set the variable to CRITICAL. For example: export NN_ALERT To rename status log, do any of the following: In the korn/bourne shell (ksh/sh) - Set the variable to . For example: export NN_ALERT_FILE_NAME= In C shell (csh) - Set the variable to For example: export NN_ALERT_FILE_NAME ------------------------------------------------------------------- Defect # 1026 - NNRMgrAddRule documentation incomplete ------------------------------------------------------------------- Description: The documentation needs to specify the number of parameters used by NNRMgrAddRule, the argument count, and the effect the value has. Resolution: Of the data in the structures that get passed to NNRMgrAddRule, not all variables are used in 4.11+ or need to be populated in the AddRule method. The following are those that are used: typedef struct NNRRule { char AppName[APP_NAME_LEN]; char MsgName[MSG_NAME_LEN]; char RuleName[RULE_NAME_LEN]; long InitFlag; } NNRRule; typedef struct NNRRuleData { NNDate DateChange; int ChangeAction; int ArgumentCount; int OrCondition; int SubscriberIndex; int RuleActive; // 1 => rule is active, 0 =>rule is inactive NNDate RuleEnableDate; NNDate RuleDisableDate; long InitFlag; } NNRRuleData; ------------------------------------------------------------------- Defect # 1027 - NNRMgrUpdateRule documentation incomplete ------------------------------------------------------------------- Description: Additional information is needed for NNRMgrUpdateRule. Resolution: The API description should include: Rulenames must be specified in both NNRRule and NNRRuleUpdate structures even if the name is the same. Additionally, a blank field in the update structure means that the name will not be changed. ------------------------------------------------------------------- Defect # 1042 - Additional NNFMgrCreateOutMstrCntl parameter ------------------------------------------------------------------- Description: The parameter table of NNFMgrCreateOutMstrCntl needs an additional parameter. Resolution: The first parameter of NNFMgrCreateOutMstrCntl( ) should be "NNFMgr *pNNFMgr". ------------------------------------------------------------------- Defect # 1043 - Update to NNFMgrGetDefaultCntlName documentation ------------------------------------------------------------------- Description: Two changes need to be made: NNFMgrGetDefaultCntlName is documented under the title GetDefaultCntlName. Also, the OUT_MASTER_CNTL identifier, which it uses is not defined. Resolution: The first parameter should be NNFMgr *pNNFMgr, and the Return Value should read "...and zero on failure." ------------------------------------------------------------------- Defect # 1051 - NNFMgrFormatInfo documentation is incomplete ------------------------------------------------------------------- Description: The documentation for NNFMgrFormatInfo is incomplete in defining all the possible values. Resolution: The following information is added to the Parameter Description for NNMgrFormatInfo: 0 = flat format ------------------------------------------------------------------ Defect # 4636 - Typo in ORACLE library name and .mk file ------------------------------------------------------------------ Description: In the MQSI 1.1 Installation Guide, Chapter 3: AIX installation, on page 44 of the pdf or page 38 of the manual, the following note appears with an error in the command. The library is named "L" as rather than "I". This applies to both the library name and the .mk file: NOTE: After MQSeries Integrator installation, if you encounter the error: Symbol not found slpmprodstab: referencing $ORACLE_HOME/lib/ libcIntsh.so.1.0. the Oracle shared library was not generated when Oracle was installed. To create this shared library, on the AIX machine, run the following command: make -f $ORACLE_HOME/rdbms/lib/cIntsh.mk Resolution: The command should be written: make -f $ORACLE_HOME/rdbms/lib/clntsh.mk ------------------------------------------------------------------- IY09398 - GUI CLIENT DOES NOT DETECT MQSERIES CAUSING VISUAL TESTER Defect # 4904 ------------------------------------------------------------------- Description: While installing Visual Tester the OCX files don't get registered and therefore visual tester won't work properly. It appears that after installing MQSeries v5.1 on a machine the install doesn't require that the machine be restarted. If you then install visual tester the ocx files don't register and visual tester doesn't work. Resolution: If you restart the machine after installing MQSeries v5.1 and then install visual tester the registering of the ocx files succeeds and visual tester works. ------------------------------------------------------------------- Defect # 5210 - Need WINNT to be entered in the project settings ------------------------------------------------------------------- Description: A warning is needed in the documentation that WINNT needs to be entered in the project settings for the sample makefile to compile. Resolution: The following warning has been added: WARNING: WINNT needs to be entered in the project settings for the sample makefile to compile. For the correct project settings, see the sample makefile. ------------------------------------------------------------------- IY09104 - NNRSIGNALSHUTDOWN DOES NOT WORK Case # 5962 Defect # 5429 ------------------------------------------------------------------ Description: NNRSignalReload and NNRSignalShutdown are incorrectly described in the MQSI documentation. In MQSI, the functionality NNRSignalReload and NNRSignalShutdown are provided through the .mpf file. The documentation needs to describe this information. Resolution: The MQSI documentation should read: 1. Add the following line to the Put Option group in the MQSIputdata.mpf file: OPT_SHUTDOWN = SHUTDOWN OPT_RELOAD = TRUE 2. To invoke putdata to send the shutdown message, type: MQSIputdata -p MQSIputdata.mpf ------------------------------------------------------------------- IY08400 -INST&CONFIG GDE CONSISTENCY CHECKER FILENAME EXT INCORRECT Case # 6113 Defect # 5648 ------------------------------------------------------------------ Description: Chapter 7 of the Installation and Configuration Guide incorrectly documents the file extensions as (.ksh). This error occurs in the following sections: 1. Checking Consistency, pp. 91 - 93 of the hardcopy document Oracle/UNIX Sybase and SQL Server/UNIX and DB2/UNIX 2. Checking the Consistency of Your 1.1 Database, pp. 95 - 96 of the hardcopy document Oracle/UNIX Sybase and SQL Server/UNIX and DB2/UNIX Resolution: To correct the error, the file extension needs to read (.sh). ------------------------------------------------------------------- Case # 6270 -Add AllocQuantum,ExtendQuantum & MaxBufferSize to SMG Defect # 5822 ------------------------------------------------------------------ Description: The System Management Guide does not describe the use of the AllocQuantum, ExtendQuantum, and MaxBufferSize parameters in the mqsiruleng.mpf. Resolution: AllocQuantum: The initial unit of memory allocated. The default is 2048 bytes. ExtendQuantum: The incremental block of memory allocated for message processing when the AllocQuantum is not sufficient. Default is 1024 bytes. MaxBufferSize: The hard limit on growth of the allocated memory block. The default is 1,048,576 bytes. Tuning MQSI ruleng processing behavior using these parameters: *The default values are recommended for most environments. *If the message size is larger than the AllocQuantum value, the block of memory allocated will dynamically increase by the value specified by the ExtendQuantum parameter until the MaxBufferSize parameter is reached. *When the message size is larger than the MaxBufferSize value, the message is sent for failure processing. *To modify the values of any of these parameters, change the values in the mqsiruleng.mpf and restart the Rules daemon. Example: A message of size 3585 is received for processing. The mqsiruleng.mpf contains the default values for the AllocQuantum, ExtenQuantum, and MaxBufferSize parameters. *The message size (3585) is larger than the AllocQuantum value (2048). *The initial memory block is increased by the ExtendQuantum value (1024) for a total of 3072 bytes (2048+1024=3072). The allocated memory block is not large enough to process the message. *The memory block is increased again by the ExtendQuantum value. The total memory allocated is 4096 bytes (2048+1024+1024=4096), which is large enough to process the 3585 byte message. Message is processed. *In this example, if the MaxBufferSize were not set to the default, but set to a value of 4000, the second increase of the memory block by the ExtendQuantum value would have caused the memory allocation to exceed the MaxBufferSize and result in failure processing for the message. ------------------------------------------------------------------- Defect # 5845 - Add warning regarding improper codepage combination ------------------------------------------------------------------- Description: The MQSI GUI program (nnfmt.exe) has the following problem. Garbage data is shown on the NEONFormatter screen for the object names and input/output fields, resulting in system inability to perform any operations. Resolution: The following warning is for all Database Administrators: WARNING: Do not insert the initial data under improper codepage combination between the database and the terminal. Improper codepage combination results in a "garbage data" problem in the NEONFormatter GUI. ------------------------------------------------------------------- IY09697 - USEREXIT.README FILE CONTAINS WRONG INFORMATION. Case # 6500 Defect # 6173 ------------------------------------------------------------------- Description: Instructions for building User Exits on UNIX are not correct in the current MQSI v.1 System Management Guide. The guide reads: -------------------------------------------- 1.2 User Exits on UNIX platforms -------------------------------------------- The procedure for creating and linking User Exit functions into a UNIX application has not changed from version 4.01. However, in order to maintain a consistent source code base, the signature of the name lookup function, NNGetUserExitFuncPtrs, has been changed as described in section 1.1 above. ----------------------------------------- Resolution: The System Management Guide should read: -------------------------------------------- 1.2 User Exits on UNIX platforms -------------------------------------------- To create a user exit for MSGTEST, build an executable called libnnuserexit.sl. For specific information on building this executable, see the sample Makefile in the /usr/lpp/mqi110/ examples directory. ----------------------------------------- ------------------------------------------------------------------- Defect # 6245,5745 - Enhance case sensitivity of DBs warning in SMG ------------------------------------------------------------------- Description: The warning about case sensitivity of databases included in the Formatter chapter of the System Management Guide on page 24 needs additional information. Resolution: The Warning on page 24 in the Formatter chapter should read: "If you are using a database where case sensitivity if irrelevant, you cannot name components the same with only a change in case to distinguish them. For example, you cannot name one format f1 and another F1. In this type of environment, each item must be unique using something other than case differences. If importing components into a case-insensitive database that were exported from a case-sensitive database, these differences will cause NNFie to fail during import because a conflict arises when two components are named the same with only case differences." ------------------------------------------------------------------- Defect # 6429 - Enhance ruletest sequence numbering info to SMG ------------------------------------------------------------------- Description: Additional information is needed in the System Management Guide regarding the sequence numbering for running ruletest. Resolution: The following information needs to be added to the System Management Guide regarding ruletest. The sequence numbering must be turned off to successfully run ruletest. ------------------------------------------------------------------- Defect # 6439 - Enhance warning re unique field names in UG & SMG ------------------------------------------------------------------- Description: Field names must be unique for Formatter to map correctly. A better warning needs to be included in the documentation. Resolution: In the User Guide, Formatter chapter, Fields section, add the following: WARNING: It is important that each field has a unique name. Do not duplicate field names. For more information, refer to Naming Conventions on page 76. In the System Management Guide, Formatter chapter, Fields and Input Controls section, add the following: WARNING: It is important that each field has a unique name. Each field name must be unique for mapping purposes. Do not duplicate field names. ------------------------------------------------------------------- Defect # 6466 - Add User Exit migration note to SMG ------------------------------------------------------------------- Description: A note needs to be added to the System Management Guide regarding migration from previous release to include User Exits. Resolution: The note should read: NOTE: After migrating your data to MQSI 1.1, you must recompile your applications, including any User Exits. The .h (include) files, DLLs, and Export side-decks in release 1.1 are different from those in release 3.2. ------------------------------------------------------------------- Defect # 6673 - Correct User Exit section in the UG ------------------------------------------------------------------- Description: The documentation for the User Exits section in the User Guide, Chapter 5 (Visual Tester) is correct as is with one exception. Resolution: Steps 1 and 2 need to be reversed, as follows: 1. Set the environment variable MQSI_BUILD to point to the location of the MQSI for Windows NT installation directory. The NNFExit project uses this variable to locate MQSI header and library files. 2. Open the Microsoft Developer Project file NNFExit.dse which is in the NNFExit directory where Visual Tester was installed. ------------------------------------------------------------------- IY11389 - SYBASE,ACCESS TO HANDLE() AFTER OPENDBMSSESSION() CALL FAILS IY11752 - HEADER FILES HAVE REFERENCE TO CS_CONNECTION FOR SYBASE Case # 7390 Defect # 6942, 7083 ------------------------------------------------------------------- Description: The Programming Reference for NEONFormatter incorrectly reads: "the Session Handle is CS_CONNECTION" Resolution: The Programming Reference for NEONFormatter should read: "the Session Handle is CS_COMMAND" ------------------------------------------------------------------- IY11713 - NEONET PRODUCT FUNCTIONALITY WRONGLY APPEARS IN MQSI BOOKS Case # 7768 Defect # 7068 ------------------------------------------------------------------- Description: NEONet references occur in error in two sections of the MQSI documentation. These sections are: - The Rules Engine Executable, pp. 159-181 of the hardcopy - Testing Rules, pp. 181-193 of the hardcopy The functionality described in these chapters do not apply to MQSeries Integrator. Resolution: Only refer to the MQSI references in this readme. Ignore the two sections containing NEONet references. This documentation error will be corrected in the next documentation release. ------------------------------------------------------------------- Case # 7773 -Add location of mqsiruleng.mpf for NT Service to SMG Defect # 7182 ------------------------------------------------------------------- Description: The System Management Guide, "Running ruleng as an NT Service" on page 208 of the PDF file, does not provide the required location of the mqsiruleng.mpf when running the MQSI Rules daemon as an NT Service. Windows NT error, "Could not start the service - Error 1067: The process terminated unexpectedly" appears. Resolution: The mqsiruleng.mpf must be located in the \mqi\bin directory. This is the directory where the mqsiruleng.mpf file is originally installed with the Rules daemon executable. ------------------------------------------------------------------- Defect # 7322 - Add ORACLE tablespace names to Inst & Config Guide ------------------------------------------------------------------- Description: The Installation and Configuration Guide does not include tablespace names for queuing for Oracle. Resolution: The Oracle tablespace names should read: QUEUE_DATA QUEUE_DATA2 QUEUE_INDEX ------------------------------------------------------------------- Defect # 7368 - Incorrect queue name prompt in Inst & Config Guide ------------------------------------------------------------------- Description: An error exists in chapter 6 of the Installation and Configuration Guide in the section "Start the Rules Engine. " In step # 7, it currently reads: 7. At the input queue name prompt, type reusing and press ENTER. Resolution: The documentation should read: 7. At the input queue name prompt, type RulesInand press ENTER. ------------------------------------------------------------------- Defect # 7369 - Correct Rules Engine startup in Inst & Config Guide ------------------------------------------------------------------- Description: Errors exist in chapter 6 of the Installation and Configuration Guide in the section "Start the Rules Engine. " In steps 12 and 13, it currently reads: 12. At the set OPT code and OPT msg prompt, type n and press ENTER. 13. At the set OPT code on failure queue (y/n) prompt, type demo_ and press ENTER. Resolution: The documentation should read: 12. At the set OPT ERR CODE and OPT ERR MSG prompt, type n and press ENTER. 13. At the set OPT ERR CODE on failure queue (y/n) prompt, type demo_ and press ENTER. ------------------------------------------------------------------- Defect # 7370 - Correct Ruletest ACTIONS in Inst & Config Guide ------------------------------------------------------------------- Description: An error exists in chapter 6 of the Installation and Configuration Guide in the section "Ruletest' in the last line of step 2 under ACTIONS. The documentation incorrectly reads: 2:MQS_PROPAGATE -NO PROPAGATE Resolution: The wording should contain an additional underscore as in the following: 2: MQS_PROPAGATE -NO_PROPAGATE ------------------------------------------------------------------- Defect # 7371 - Add PutData & GetData info to Inst & Config Guide ------------------------------------------------------------------- Description: An error exists in chapter 6 of the Installation and Configuration Guide in the sections Run PutData and Run GetData additional information is needed. - The directory location for running Putdata and Getdata needs to be identified. - Additional troubleshooting information needs to be added regarding this directory. Resolution: a. In an overview explanation under Run Putdata, the documentation should read: Run Putdata in the MQSI examples directory. b. In an overview explanation under Run Getdata, the documentation should read: Run Getdata in the MQSI examples directory. c. In the Troubleshooting section, an additional bullet needs to be added. It should read: Verify that you are in the MQSI examples directory. ------------------------------------------------------------------- Defect # 7372 - Add PutData & GetData step to Inst & Config Guide ------------------------------------------------------------------- Description: An error exists in chapter 6 of the Installation and Configuration Guide in the sections, Run PutData and Run GetData. Additional information is needed in the procedure. Resolution: After step 2 in the Run Putdata section, the documentation should have an additional step. This step should read: 3. Press Refresh to ensure reading the correct data from the queue. ------------------------------------------------------------------- Defect # 7373 - Add RunData informaton to Inst & Config Guide ------------------------------------------------------------------- Description: Additional information is needed in chapter 6 of the Installation and Configuration Guide in the section Run GetData. In steps 4 and 7 the documentation currently reads: 4. Verify that the Storage and Process columns of the Pointer row now both display as 1. 7. Verify that the Storage and Process columns of the Pointer row now both display as 1. Resolution: The documentation should read: 4. Verify that Storage column of Pointer row displays as 1 and the Section Information column of Process row displays as 1. 7. Verify that Storage column of Pointer row displays as 1 and the Section Information column of Process row displays as 1. ------------------------------------------------------------------- IC25465 - ORACLE 8.X - PLUS33.EXE SHOULD BE CHANGED TO PLUS80.EXE Defect # 3598 ------------------------------------------------------------------- Description: The script inst_db.cmd defaults to use Oracle 7.3.x SQLPLUS (Oracle's SQL command line). The variable 'plus' is set to 'plus33' (set plus=plus33). When using a newer version of Oracle, the default causes inst_db to fail because the SQL command line executable contains the version number in the file name. Resolution: In the MQSeries Integrator Installation and Configuration Guide, the sections: Preparing for a New NT Installation, Preparing for an AIX Installation, Preparing for an HP-UX Installation, and Preparing for a Solaris Installation should include the following note. NOTE: Before you run INST_DB, be sure the correct version of SQLPlus is being used. If you are using a different version than Oracle 7.3.x, you must set the environment variable SQLPLUS to the name of the executable used for the Oracle SQL command line. This is typically located in the ..\orant\bin directory. Change these settings in the appropriate startup configuration files. Windows NT: Control Panel -> System -> Environment tab -> System variables UNIX: .profile o If you are using Oracle 7.3.x, use the default, plus33. o If you are using Oracle 8.x, you must set your environment variable to plus80. For example: >SET SQLPLUS=plus80 // for Windows NT $export SQLPLUS=plus80 // for UNIX ------------------------------------------------------------------- Defect # 4988 - User Exits using Oracle 7.3 API v Oracle 8.0 db fail ------------------------------------------------------------------- Description: In the MQSeries Integrator Application and Development Guide, the User Exit code that uses the Oracle 7.3 API against an Oracle 8.0 database does not work. Provide an example of how to use the supplied handle with the Oracle 8.0 API. Resolution: DbmsType Oracle 8 API Example: # include "ora8ses.h" Ora8SesHandle *myHandle=0; myHandle= (Ora8SesHandle *) mySession->Handle(); where in ora8ses.h "struct Ora8SesHandle" is defined when compiled with the -Doracle8 flag: struct Ora8SesHandle{ OCIServer * myServerH; OCIError * myErrorH; OCIEnv * myEnvH; OCISvcCtx * mySvcCtxH; OCISession * mySessionH; OCIStmt * myStmtH; }; DbmsType Oracle 7 API Example: # include "ora7ses.h" Ora7SesHandle *myHandle=0; myHandle= (Ora7SesHandle *) mySession->Handle(); where in ora7ses.h "struct Ora7SesHandle" is defined when compiled with the -Doracle7 flag: struct Ora7SesHandle{ Lda_Def* lda; Cda_Def* cda; ub1 * hda; }; ------------------------------------------------------------------ IC25762 - SMG SAYS SERVER NAME OPTIONAL FOR ORACLE Defect # 4989 ------------------------------------------------------------------- Description: The System Management Guide states using a server name is optional for Oracle. Resolution: Chapter 5, The MQSeries Integrator Rules Daemon, of the MQSeries Integrator System Management Guide, the Rules Database Connection table should say that the server name is mandatory for Oracle. This error occurs on page 212 of the PDF file. ------------------------------------------------------------------- IC25815 - VISUAL TESTER LOAD QUEUE FUNC PUTS SPACES IN FORMAT FIELD IC25553 - INCORRECT OUTPUT FROM VISUAL TESTER WHEN POPULATING QUEUE Case # 5121 Defect # 4992 - Queues cannot be populated using Visual Tester. ------------------------------------------------------------------- Description: Queues cannot be populated using Visual Tester. Resolution: Visual Tester works as intended. Visual Tester is a testing tool only. The Load Q tab should only be used within the context of Visual Tester; it should not be used to load messages to queues for use by any tool other than Visual Tester. When a message is put on an MQSeries queue by Visual Tester, the MQSeries header information is not added. Visual Tester puts only the message on the queue. Also, Visual Tester does not strip header information from a message on an MQSeries queue when testing parse, reformat, or rules. Visual Tester does not: o understand what RFH headers are o add RFH header to a message being put to an MQSeries queue o strip RFH headers from a message being read from an MQSeries queue ------------------------------------------------------------------- IY06614 - EXAMPLES UNCLEAR IN INSTALLATION GUIDE FOR NNFIE AND NNRMIE Defect # 5049 ------------------------------------------------------------------- Description: The Solaris Installation chapter of the Installation and Configuration Guide contains the correct information for editing the database connection file. The chapters that contain this information for the other operating systems are incorrect. Resolution: The correct information is as follows. Chapter 2, NT Workstation Installation, Editing the Database Connection File, step 3: o DB2 :::: Example: new_format_demo:dodge:neonuser:neonpwd: Rules:dodge:neonuser:neonpwd: nnfie:dodge:neonuser:neonpwd: nnrmie:dodge:neonuser:neonpwd: o Oracle :::: Example: new_format_demo:dodge:neonuser:neonpwd: Rules:dodge:neonuser:neonpwd: nnfie:dodge:neonuser:neonpwd: nnrmie:dodge:neonuser:neonpwd: o SQL Server :::: Example: new_format_demo:dodge:neonuser:neonpwd:TESTDATABASE rules:dodge:neonuser:neonpwd:TESTDATABASE nnfie:dodge:neonuser:neonpwd nnrmie:dodge:neonuser:neonpwd Chapter 3, AIX Installation and Chapter 4, HP-UX Installation, Editing the Database Connection File, step 3: o DB2 :::: Example: new_format_demo:dodge:neonuser:neonpwd: Rules:dodge:neonuser:neonpwd: nnfie:dodge:neonuser:neonpwd: nnrmie:dodge:neonuser:neonpwd: o Oracle :::: Example: new_format_demo:dodge:neonuser:neonpwd: Rules:dodge:neonuser:neonpwd: nnfie:dodge:neonuser:neonpwd: nnrmie:dodge:neonuser:neonpwd: o Sybase :::: Example: new_format_demo:dodge:neonuser:neonpwd:db instance rules:dodge:neonuser:neonpwd:db instance nnfie:dodge:neonuser:neonpwd: nnrmie:dodge:neonuser:neonpwd: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ SPECIAL INFORMATION ------------------- CSD02 (PTF U200128) =================== ------------------------------------------------------------------- Enhancement # 388 - Add new NEONFormatter Management API - NNFmtRmv ------------------------------------------------------------------- Description: A new NEONFormatter Management API (NNFmtRmv) was added to allow a program to remove input or output formats and all associated components that are not being used by another NEONFormatter component from the database. ------------------------------------------------------------------- IY02553 - RULES GUI SLOW BECAUSE FIELDS ARE ALWAYS RE-CACHED Enhancement # 3519 ------------------------------------------------------------------- Description: The Jump To Rules performance in the NEONFormatter GUI has been improved. The product only recaches the fields when the FIELDs tab is selected. ------------------------------------------------------------------- Case # 1574 - Hourglass does not display during initial db access Defect # 918 ------------------------------------------------------------------- Description: In the NEONRules GUI, the hourglass did not display during initial access to the database. Resolution: to correct the problem, the pointer was set to hourglass with login when the user clicks OK. ------------------------------------------------------------------- Case # 2740 - errors during re-order collections operations Defect # 3363 ------------------------------------------------------------------- Description: In a database containing numerous formats, if you re-order a collections operations, one of the following occurs: - nothing happens - this action returns an update error message If you go into the database with sqlplus, the operations have been re-ordered but do not reflect that change in the GUI. Resolution: A fix has been made to reflect the change in the GUI. ------------------------------------------------------------------- Case # 3265 - suffix remains despite being deleted Defect # 3602 ------------------------------------------------------------------- Description: After the user completed the following sequences of actions, NEONFormatter closed down left an error message on the screen: - add a suffix operation to a output control - go to the - highlight the suffix operation under Output Controls - press DELETE - press DELETE again while the Output control is highlighted. However, if the user pressed DELETE while in to delete the suffix, the suffix disappeared as if deleted. If the user then clicked somewhere else, or logged out and logged back in, and then clicked on , the suffix remained. Resolution: To correct this problem the DELETE key functionality was enhanced to work the same as the user selected REMOVE function from the dropdown menu. ------------------------------------------------------------------- Case # 3337, 4247, 4720 Defect # 2683 - Mouse pointer disappears when using NEONFormatter ------------------------------------------------------------------- Description: When using NEONFormatter, if you perform the following sequence, the mouse pointer disappears while using the GUI: - maximize the main and inner windows - double-click on the Formats Item in the left column - select a format and immediately move the mouse over the Formatter Mapping Toolbar button. Resolution: To avoid this problem, do one of the following: - Wait for the main window to display the format or field list on the tab and then choose the mapping toolbar button. - Do not maximize the main and inner windows. ------------------------------------------------------------------- IC26293 - THE FORMATTER GUI DOES NOT WORK CORRECTLY Case # 5050 Defect # 4802 ------------------------------------------------------------------- Description: The NEONFormatter GUI did not work correctly. The function building the browse line was picking up the first (non-custom-date-time) value. Resolution: To correct the problem, a change was made to the Input Format browse tab. ------------------------------------------------------------------- IC25487 - RULES ENGINE DOES NOT WORK WITH ENCRYPTED MPF FILE Case # 5122 Defect # 4843 ------------------------------------------------------------------- Description: The .mpf file password encryption algorithm was producing encrypted values which caused the .mpf file parser to malfunction during the Rules daemon start-up. This occurred for only certain combinations of string values on certain platforms. Resolution: The encryption algorithm was adjusted to avoid production of such values on any platform. ------------------------------------------------------------------- IC26292 - THE RULES GUI DOES NOT WORK CORRECTLY. Case # 5321 defect # 4922 ------------------------------------------------------------------- Description: The user created two rules: a long rule about 5-6 lines long and a short rule. In addition, a basic subscription was created and applied to both rules. However, only the subscription for the short rule was displayed in the NEONRules Browse window. The subscription for the long rule was not displayed. The problem was caused by a PowerBuilder limitation of 120 characters per line. Resolution: A code change was made to limit the number of characters to 120 per line. If a line has more than 120 characters, it ends with the literal [more]. To view the entire line, right-click the literal to display a new window with the entire line displayed. ------------------------------------------------------------------- Case # 5590 - Problems with queue names greater than 32 chars Defect # 5484 ------------------------------------------------------------------- Description: GUI would not allow entry of a queue name longer than 32 characters. In addition, if you modified the NNRie extract file to include a queue name longer than 32 characters on a putqueue statement, the import failed and displayed a problem with security rather than stating that the queue name was too long. Resolution: To avoid the problem, users are instructed to use queue names that do not exceed 32 characters in length. ------------------------------------------------------------------- Case # 5886 - Duplication of outputs when using Field,Used in tab Defect # 5361 ------------------------------------------------------------------- Description: When looking at an individual field and then clicking on the Used in tab, all input formats were properly shown but all outputs were duplicated. Resolution: The system now checks to see if the format is already in the Used In list. If it is, it does not add it again. ------------------------------------------------------------------- Case # 5965 Defect # 5435 - Right-click in white space closed NEONFormatter ------------------------------------------------------------------- Description: NEONFormatter closed when right-clicking occurred in the white space. Resolution: To correct this problem, a check was added for a NULL value in the newhandle in the treeview. ------------------------------------------------------------------- IY08398 - MAKEFILE SPECIFIES MQSI_ROOT AS /OPT/MQI NOT /OPT/MQI11 Case # 6111 Defect # 5647 ------------------------------------------------------------------- Description: For Solaris and HP-UX, the supplied example Makefile specified the MQSI_ROOT symbol as /opt/mqi instead of the default install directory /opt/mqi110. Resolution: The example Makefiles for the Solaris and HP-UX builds of MQSI 1.1 were changed to specify the MQSI_ROOT as /opt/mqi110. ------------------------------------------------------------------- c6061 d5581 IY08132 - MQSI FOR AIX INSTALL DIRECTORIES AND FILES HAVE PERMISSION 777 ------------------------------------------------------------------- Description: There are two issues: 1. The directory permistions are set to 777. The directories are open to all users. 2. Some sql files have 777 permisions. The sql files are open to all users. Resolution: 1. The directories will remain set to 777, because users run in those directories and log files, cfg files etc. get created. If users are not going to be running processes in these directories the UNIX admin can lock down the permissions. 2. All SQL files delivered carry the correct permisions with them. ------------------------------------------------------------------- IY08283 - RULES GUI REMEMBERS OLD RULE NAME INSTEAD OF NEW NAME Case # 6121 Defect # 5666 ------------------------------------------------------------------- Description: If you renamed a Rule and then immediately tried to alter the contents the rule, Rename Rule and edit expression tried to save item information with the old rule name, giving the following error message: "-2609/Expression API: Error rule name xyz does not exist". Resolution: User object u_tv_rules event script endlabeled it was adjusted to use the new name when saving item information. ------------------------------------------------------------------- IY08452 - RENAME SUBSCRIPTION FROM WITHIN THE MSG/RULE SUBTREE GIVE Case # 6131 Defect # 5665 ------------------------------------------------------------------- Description: Rename Subscription gives a misleading error, "Authorization Error." Resolution: The security check now distinguishes between a subscriptions' parent. If the parent is a rule the subscription is read only, no security check is required. ------------------------------------------------------------------- IC27156 - OUTPUT CONTROL TO CALCULATE LENGTH DOES NOT WORKS CORRE Case # 6178 Defect # 5732 ------------------------------------------------------------------- Description: Output control length calculation of prefixed and suffixed null data was incorrectly including the length of the suf/prefix(es) in the count. Resolution: Length of suf/prefix(es) is no longer included in length calculation of null data. ------------------------------------------------------------------- Case # 6237 Defect # 6065 - message processing time grows for multiple queues ------------------------------------------------------------------- Description : The current rule engine does a blocking MQGET (blocking time equals waitInterval). So, when it processes a large number of input queues and most of the queues are empty, the turnaround time for processing messages in a queue increases. Resolution : The problem was fixed by having the ruleng block on an input queue only if it is not empty. Once the input queue is empty, the ruleng doesn't block at all on the queue, until a message appears in the queue. However, this behavior is different for the 1st input queue. In case of the 1st queue, ruleng always retrieves messages in blocking mode, regardless of whether the queue is empty or full. ------------------------------------------------------------------- IC26742 - MQSI V1.1 "COMMENTS" FIELD DOES NOT WRAP Case # 6237 Defect # 5797 ------------------------------------------------------------------- Description: The comments field under for a FIELD definition on the property page allowed you to type detail. However, when detail was entered into a box, the box did not allow wrapping of the text in the box. Resolution: The functionality for the Comments field was changed to allow word wrapping when you type detail in the comments field under for a FIELD definition. ------------------------------------------------------------------- IC28541 - MQSI POOR PERFORMANCE WITH MULTIPLE INPUT QUEUES -BLOCKING MQGE Case # 6237 Defect # 6065 ------------------------------------------------------------------- Description : The current rule engine does a blocking MQGET (blocking time equals waitInterval). So, when it processes a large number of input queues and most of the queues are empty, the turnaround time for processing messages in a queue increases. Resolution : The problem was fixed by having the ruleng block on an input queue only if it is not empty. Once the input queue is empty, the ruleng doesn't block at all on the queue, until a message appears in the queue. However, this behavior is different for the 1st input queue. In case of the 1st queue, ruleng always retrieves messages in blocking mode, regardless of whether the queue is empty or full. ------------------------------------------------------------------- IY11337 - MSGTEST WITH -DCO OPTION ERROR 1071 CANNOT RESOLVE BASE Case # 6272 Defect # 5832 ------------------------------------------------------------------- Description: When date, standard date/time, or custom date/time fields were used and the msgtest utility was run with the -dco option (output debug), an error message appeared, "Can't resolve datatype." Resolution: The behavior of OutputFieldControl::GetDataTypeName() for date data types was fixed and it no longer produces the error. ------------------------------------------------------------------- IC27155 - SETTING OPT_MSG_TYPE IN RFH STRUCT TO VALUE OF 1K OR 2K Case # 6273 Defect # 5888 ------------------------------------------------------------------- Description: Setting the OPT_MSG_TYPE in the RFH header to a value that is 2KBytes long causes the MQSI Rules engine to crash. Resolution: MQSI ruleng now only accepts messages whose RFH header has a value of OPT_MSG_TYPE that has a maximum length of 32 bytes. ------------------------------------------------------------------- Case # 6298 Defect # 5867 - Non-conformance to general GUI protocols ------------------------------------------------------------------- Description: There was a non-conformance to general GUI protocols. Resolution: The buttons were set to work with + 0 and + . ------------------------------------------------------------------- IY09250 - RUNNING MQSI/110 ON HP-UX/10.20 USING SYBASE. THE RULE Case # 6299 Defect # 5874 ------------------------------------------------------------------- Description: When MQSI was converting strings, the Rules engine core-dumped. Resolution: The libnnsql library demonstrated a memory leak when the format length was 31 characters. A new libnnsql library was created which corrected the problem. ------------------------------------------------------------------- Case # 6420 Defect # 6089 - GUI actions were OUT OF ORDER after import. ------------------------------------------------------------------- Description: The GUI actions were OUT OF ORDER after import. Resolution: Added OPT_SEQ_NUM to the sort clause. ------------------------------------------------------------------- IC26945 - MQSIRULENG ABENDS AFTER MQPUT WITH PROPAGATE Case # 6555 Defect # 6239 ------------------------------------------------------------------- Description : The message content was getting corrupted in the output message when PROPAGATE option is set. This happened after InsertBuffer is called to insert the output buffer in the output message to solve the ruleng crash problem. Resolution : The problem occurred because InsertBuffer behaved erratically, even though it solved the ruleng crash problem. The problem was fixed by extending the output workbuffer size, and copying the options and the output buffer to it. ------------------------------------------------------------------- Case # 6577 Defect # 6300 - Not all fields added to array to check field names ------------------------------------------------------------------- Description: When a format contained numerous component formats, not all of the fields were added to the array that was used to check field names. Resolution: User Object function to reset row count before adding fields to array ss_fields. ------------------------------------------------------------------- IY11918 - REPEATING FIELDS GETTING DROPPE WHEN PROCESSING A BATCH Case # 6602 Defect # 6870 ------------------------------------------------------------------- Description: A repeating optional component format for which there was no corresponding data in the input message was causing the reformat to generate incorrect results. The following input format failed to generate the correct data in the parse tree: Compound Flat - mandatory, not repeating Compound - optional, repeating Flat - mandatory Compound ... In this partial format definition, the second Compound format did not generate the proper empty placeholder in the parse tree if there was no data for this component in the input message. This caused the reformat to fail. Resolution: The compound format parsing methods were corrected. ------------------------------------------------------------------- Case # 6636 Defect # 6344 - GUI array in Rules Expression fails ------------------------------------------------------------------- Description: When Jump To Rules was used, the GUI array in Rules Expression was not sufficient to house the API created expression. Resolution: Because the Rules Engine allows for 4096 characters in the expression, the expression array was changed in structure s_expression_data from 1024 to 4096. ------------------------------------------------------------------- Case # 6716 Defect # 6383 - Browse Tab does not display actions. ------------------------------------------------------------------- Description: For certain subscriptions, the Browse Tab did not display actions. The query that retrieves actions for subscriptions (datawindow ds_subscriptions_print), did not have rule ID as part of its where clause. Depending on how data was organized in table NNR_SUBN_MSTR, it caused some queries to fail. Resolution: The query that retrieves actions for subscriptions now has a rules ID as part of its where clause. ------------------------------------------------------------------- Case # 7157 Defect # 6778 - Browse tab not displaying subscriptions correctly ------------------------------------------------------------------- Description: Occasionally, the Browse tab was not displaying subscriptions in the correct order. Resolution: A sort order to datawindow object (ORDER BY NNR_SUBN_LIST.SUBN_NAME) was added. ------------------------------------------------------------------- Case # 7259 Defect # 6876 - Literals showing incorect usage in Output Controls ------------------------------------------------------------------- Description: Several literals showed that they were being used in Output Controls that were actually not using them. Resolution: To correct the problem, a check for prefix on an Output Control was removed. It was no longer valid because the output operations were responsible for fix operations. ------------------------------------------------------------------- IY11682 - MQSIRULENG FAILS IN EXTENSION OF MESSAGE BUFFER AND IT Case # 7396 Defect # 7015 ------------------------------------------------------------------- Description: This failure only occurred on HP10.20 Oracle 8.05 when processing two messages in a row, (message 1 = 36,450 and message 2 = 3645). - If message 1 was sent through prior to message 2, both messages succeeded. - If message 2 was sent through prior to message 1, ruleng shut down and wrote the message "Failed to Allocate Memory" to the mqsiruleng.log. - If each message was sent through separately, each succeeded. An investigation found that the memory allocation (to accommodate the larger message) was failing because the algorithm that is used to calculate extend_size (the extended memory size) is returning a negative value. When this negative value is supplied to 'new' operator, it fails. Resolution: This is specific to HP1020. To correct this problem, the HP 1020 build is a non-optimized build. A defect has been opened against HP regarding this issue. ------------------------------------------------------------------- IY11844 - GETFIELDASCII CANNOT GET 32 CHAR FIELD NAME. Case # 7475 Defect # 7097 ------------------------------------------------------------------- Description: On Sybase, GetFieldAscii did not work if the field name was 32 characters in length. Resolution: The problem was corrected so that GetFieldAscii now works if the field name is 32 characters in length. ------------------------------------------------------------------- IY11708 - INPUT CONTROL CUSTOMER DATA/TIME FIELD WITH BASETYPE OF Case # 7775 Defect # 6961 ------------------------------------------------------------------- Description: The code that populates the NNFMgrParseControlInfo structure was different between the GetFirstParseControl (called when all formats are exported) and GetParseControl (called when a specific format is exported). Resolution: The NEONFormatter Management API was modified so that the same code is called, correcting the problem and yielding more predictable behavior. ------------------------------------------------------------------- Case # 8285 Defect # 7292 - NNFie coring on HP 11/Oracle 8 ------------------------------------------------------------------- Description: NNFie was coring on HP 11/Oracle 8 with a HEAP dump appearing on the screen. Resolution: For the Oracle code to work properly, set the NLS_LANG environment variable to AMERICAN : export NLS_LANG=AMERICAN ------------------------------------------------------------------- IC27903 - BAD MESSAGE WITHOUT RFH HEADER ON THE RULES ENGINE INPU Case # 8656 Defect # 7363 ------------------------------------------------------------------- Description : MQSIruleng was generating access violation, while processing a message that didn't have RF header. Resolution : The problem was occurring because opt_msgtype was being used without checking for its NULL value (opt_msgtype is NULL when the RF header is absent). The problem was corrected by checking if opt_msgtype is NULL, before using it. ------------------------------------------------------------------- Case #10388 Defect # 8117 - NNfie giving code dump ------------------------------------------------------------------- Description: For Oracle 8.1.x, during the installation of the database schema, the following error message is received NNFie -i formats.fie /usr/lib/dld.sl:Can't find path for shared library:libclnt.sl.1.0 /usr/lib/dld.sl:No such file or directory Abort (core dump) Problem Resolution : Run a soft link on libclntsh.sl.1.0 to libclntsh.sl.8.0 to correct this issue. ------------------------------------------------------------------- IC25405 - UNINSTALL OF MQSI GIVE ERROR - "UNABLE TO UNREGISTER SE Defect # 2798 ------------------------------------------------------------------- Description: An MQSI error was showing up in conjunction with the ICI install. Before the process of creating MQSI Database, a DR WATSON Fatal error could not attach to the application Windows NT error (code=87). Resolution: In general, this error does not affect the MQSI installation or application. For the NT versions of ICI, a new install of MQSI 1.1 was built to remedy the problem. ------------------------------------------------------------------- Defect # 3409, 4411 - Infinite loop in NEONFormatter ------------------------------------------------------------------- Description: When defining a repeating optional format with all optional fields, the NEONFormatter would go into an infinite loop. Resolution: The parsing code was restructured to correctly handle this type of format definition. ------------------------------------------------------------------- Defect # 4475 - Resolve NNFmtSystem dependencies ------------------------------------------------------------------- Description: The module NNFmtSystem which resides in Adapter Manager 2.1.1 is dependent on NNFmtRemover and NNApp which reside in SAP. These modules/functionality must be moved over to Adapter Manager as generic modules and must not be dependent on any one adapter. Resolution: Code has been added to the MQSI builds and is being used within a utility, NNFmtRmvr, to remove formats. ------------------------------------------------------------------- Defect # 4551 - Problem with Length-Tag-Data and optional fields ------------------------------------------------------------------- Description: There was a problem with the Length-Tag-Data input parse logic; the input message pointers were not being reset when an optional field was not found. Resolution: This fix has been port to all active branches. ------------------------------------------------------------------- Defect # 4758 - Incomplete Consistency Checker report ------------------------------------------------------------------- Description: Consistency Checker did not report Transform Field without Substitute Entries. Resolution: A new report entitled "Output Format Control Substitute Operations that refer to non-existent substitution data" (number 38) was added to the formatcc31.sql file for NT and formatcc31.ksh for Unix platforms. ------------------------------------------------------------------- Defect # 4806 - Failure to flag component messages as repeating ------------------------------------------------------------------- Description: The problem was caused by failing to flag component messages as repeating when parsing Tagged Ordinal messages. The same problem was also found with parsing repeating components inside an alternative compound. Resolution: Repeating Tagged-Ordinal formats are now parsed correctly rather than resulting in Infinite Loop errors when parsing the input message. ------------------------------------------------------------------- Defect # 4868 - Parser fails to reset pointer in error conditions ------------------------------------------------------------------- Description: This defect was caused by the parser failing to reset its internal pointer when an error occurred when parsing a tag. This and other similar Tag and Length parsing errors were included with the fix for this defect. Resolution: Optional Tag (where the Tag is delimited) and Data input controls are now parsed correctly when the tag delimiters are not found. ------------------------------------------------------------------- Defect # 5018 - Memory leak caused by multiple Oracle handles ------------------------------------------------------------------- Description: When a NEON SQLStatement class was called, the Oracle statement handle was created and prepared multiple times before an Oracle execute. This resulted in memory leakage and process growth. Resolution: The Oracle statement handle creation was moved from Ora8SQLStmt to ora8obj, resulting in a single place for statement creation and deletion. The Oracle prepare was also moved to ora8obj. The SQL text that is prepared no longer binds variables but uses the full SQL text call to produce the result set. This is accomplished by calling the getSQL function with forced unbound flag. ------------------------------------------------------------------- Defect # 5174 - VQueue not placeing value in NMSGSTRUCT ------------------------------------------------------------------- Description: The get() method of VQueue did not place a value in the DateTime member of the NMSGSTRUCT object. Resolution: DateTime info was added to NMSGSTRUCT from message option information. ------------------------------------------------------------------- Defect # 5175 - User exits executed twice ------------------------------------------------------------------- Description: User exits that were not returning data and were contained in a format that did not add data to an output message were executed twice. This caused a problem in user exits that performed data-retrieval or storage in databases. The NEONFormatter would execute the exit once during the mapping phase and then again in the output phase because no data was generated during mapping. Resolution: A code change that sets a flag on user exit execution so they are only called once per field was made to the NEONFormatter libraries. ------------------------------------------------------------------- Defect # 5236 - Entry of values for unnamed literals ------------------------------------------------------------------- Description: When typing into the default of length drop down list boxes, the literal ASCII/EBCDIC tab pages on the output control property page became active. This allowed users to enter a value for a literal that is not yet named. Users were confused with this series of events because the literal tabs were enabled and they were able to enter text but couldn't get the entries saved to the database. Resolution: A correction was made now requiring the user to tab to the default value or length pad value dropdown to create a new literal. The new user procedure is: 1. Type a new operation name in the default name field or the length name field. 2. When you tab from either value field, the contents of the value is placed in the ASCII/EBCDIC tab pages. 3. Change the value if desired. ------------------------------------------------------------------- Defect # 5282 - AIX, failure in prepareGetIDStatements() ------------------------------------------------------------------- Description: This problem is specific to AIX. Unable to connect to the database because a tool removed a format by calling existing functions. The tool was /newbuilds/SAP_301/ aixora7/NNFmtrem/source/IDOCS/NNFmtRemover/apps/nnfmtrmv.cpp. It called the constructor NNFmtRemover and blew up in the function prepareGetIDStatements() calling pSQLStmt->prepare(). The call to pSQLStmt->prepare() ultimately made it to Ora7SQLStmt.cpp. In Ora7SQLStmt.cpp, sqlsvses.cfg file was read correctly, the values were parsed as expected, and a memcpy statement was written into a NULL pointer. Resolution: The DbmsSession pointer was changed to the hda. ------------------------------------------------------------------- Defect # 5348 - Changes to literal ASCII value not saved ------------------------------------------------------------------- Description: If changes were made to literal ASCII value, the changes weren't saved when the ENTER key was pressed. Resolution: A change was made in u_tv_fmt, u_tab_editor, and u_editor to correct the problem. ------------------------------------------------------------------- Defect # 5481 - Incomplete pError->SetErrorMsg information ------------------------------------------------------------------- Description: The error message: pError->SetErrorMsg (NNRM_DB, RERR_R_SUBSCRIPTION_LIST_ADD) was not getting the 3 additional parameters it needed. Resolution: In nnrmdb.cpp, pError->SetErrorMsg was changed in 2 places to add the app, msg and sub names, if they are known. If not, (" ") were passed as the unknown value parameters. ------------------------------------------------------------------- Defect # 5681 - Database name not verified for Acquire and Deliver ------------------------------------------------------------------- Description: Both the Acquire and Deliver operations of the SQL Server 6.5 permutation incorrectly errored: Database name was not specified! It is a required parameter for the database type being used! Resolution: ifdef was added to the code to verify the database name for the Process, Acquire, and Deliver modes. ------------------------------------------------------------------- Defect # 5662 - Update API errors with rounding & decimal precision ------------------------------------------------------------------- Description: The Update API did not address decimal precision or rounding direction. Resolution: Update API was changed to allow updating for rounding up or down and decimal precision. ------------------------------------------------------------------- Defect # 5826,5839,5840 - output filed mapped to NONE with no info ------------------------------------------------------------------- Description: If an input field name was in a mapping passed to mapmgr and the field did not exist in the database, then the output field was mapped to "NONE", but no notification was made in the error log. Resolution: An additional error has been added. A message now prompts the user to look in the error log where a warning has been written: "WARNING: Input field 'FOO_BAR' did not appear in database. Output field 'fld-0' is mapped to 'NONE' in format 'OF_1'." ------------------------------------------------------------------- Defect # 5827 - Ambiguity due to 2 formats using same output field ------------------------------------------------------------------- Description: If a map file contained two lines with the same output field names that were mapped to two different input fields, then mapmgr detected an inconsistency in the file and gave an error message. This inconsistency also arose if two formats which were exported to the same file contained different mappings. Resolution: To solve the problem, do the following: 1. Verify that you are properly using mapmgr and the "-C" option. Although multiple output formats can be exported to the same map file, if two formats contain the same output field are mapped to different input fields and if the same map file is used by the two formats, ambiguity arises. 2. To correct the ambiguity, implement one of the following solutions: - Create two different map files and efficiently import/export your files to them via a command file using the "-C" option. - Use the same mapfile for both formats. Remove all references to the conflicting mapping and place them into another map file if needed. Use a command file to efficiently import or export the mappings. ------------------------------------------------------------------- Defect # 5828 - Empty file when importing non-existant map files ------------------------------------------------------------------- Description: When importing a map file that did not exist, a message displayed stating: "Field mappings transferred without error" and an empty file was created. Resolution: Parameter to ifstream::open() was modified to correct the problem. ------------------------------------------------------------------- Defect # 5889 - no access to a duplicated math expression ------------------------------------------------------------------- Description: There was no access to a duplicated math expression because the function that was inserting the duplicate items was not using the rright return code. Resolution: A correction was made to set the system to look at the right return code. ------------------------------------------------------------------- Defect # 5917, 5922, 5923 - No error for undefined format group ------------------------------------------------------------------- Description: No error message was generated when mapmgr was given a format group name that did not appear in the database. Resolution: An "else" block (corresponding to GetFormatGroupInfo() returning false) was added to correct the logging of this error. ------------------------------------------------------------------- Defect # 6163 -Infinite loop during reformat of repeating component ------------------------------------------------------------------- Description: An infinite loop occurred during a reformat of a repeating component. If two messages which use the same formats and rules are sent sequentially to ruleng, an infinite loop occurs. If one of the messages is sent twice, or if the two messages are separated by a third and different message, this does not occur. Resolution: The code in CompoundOutputFormat::Cleanup() was modified to call Component::ResetControllingField(), so that the next component sets the controllingFieldIterId and controllingFieldId to the correct IDs. The function that was inserting the duplicate items was not using the right return code. ------------------------------------------------------------------- Defect # 6300 - Not all fields added to array to check field names ------------------------------------------------------------------- Description: When a format contained numerous component formats, not all of the fields were getting added to the array that was used to check field names. Resolution: User Object u_tabpg_expression function of_load_fields reset row-count before adding fields array ss_fields. ------------------------------------------------------------------- Defect # 6308 - Wrong member name in UETEST JCL ------------------------------------------------------------------- Description: The sample JCL that compiled UETEST had MSGTEST as the member name instead of UETEST. Resolution: The JCL was changed from MSGTEST to UETEST. ------------------------------------------------------------------- Defect # 6611 - Big Endian 4 not converting large negative numbers ------------------------------------------------------------------- Description: Big Endian 4 was not successfully converting large negative numbers. Resolution: The ltostr() function in nstrfun.cpp was modified to correct the handling of the negative boundary case (-2**31). ------------------------------------------------------------------- Defect # 6622 - Problems with NNGctypArray ------------------------------------------------------------------- Description: A code merge left out a few key changes that I made to the NNGctypArray. Resolution: Code changes have been added to NNGctypArray to correct the problem. ------------------------------------------------------------------- Defect # 6643 - Performance problem with GetFieldAscii() ------------------------------------------------------------------- Description: A simple compound format, which has one repeating flat (containing three fields), a message that is parsed with 7433 repeats of the flat, and calls Formatter::GetFieldAscii() on each of the fields, runs unacceptably slow. Resolution: GetFieldAscii() calls NNFieldContainer::MoveSpecific() which finds the instance of the field specified. The algorithm was modified so that a history is maintained and when MoveSpecific() is called again, it checks the history to see if it can start the search from the last field found. If the requested field occurs "before" the last one found, then the search starts from the beginning. ------------------------------------------------------------------- Defect # 6690 - Error using NNFIE to import formats ------------------------------------------------------------------- Description: When the NNFIE executable to import formats was used, C:\mqsi\bin>nnfie -i a:formatter.exp -s import Working: -ERROR: "" could not be accessed. Resolution: The code was adjusted to fix this problem. ------------------------------------------------------------------- Defect # 6751 - digit validation removed ------------------------------------------------------------------- Description: During optimization work performed on some of the data type conversion algorithms in NEONFormatter, data validation was introduced that enforced the explicit rule that all data being converted must be a digit. Previously to allow the implicit conversion of spaces in ASCII or EBCDIC to zeros the digit validation was not performed. Resolution: The previous functionality has been restored into the product and it now works as expected. ------------------------------------------------------------------- Defect # 6784 - Database access for NEON Sybase client slow ------------------------------------------------------------------- Description: The database access code was using precompiled SQL statements for improved performance. The precompile feature was not working properly with the NEON Sybase client. Resolution: The precompile feature was removed and static SQL calls are now being issued. ------------------------------------------------------------------- Defect # 6817 - User defined type required for strict data typing ------------------------------------------------------------------- Description: The parsing capabilities of the data types (IBM Signed Zoned Decimal and IBM Signed Packed Decimal) were restricted to do not allow parsing of unsigned values represented in the respective data type formats. Resolution: If strict data validation is required, a user defined type should be employed to provide the strict data typing required. ------------------------------------------------------------------- Defect # 6830 - math expression: (3*fld1) - '!#"#=' failure ------------------------------------------------------------------- Description: The following math expression: (3*fld1) - '!#"#=' failed because the substring "fld1)" is being parsed as a field name. The math expression was missing a closing parenthesis. Resolution: The math expression field name parser was changed to allow special characters for unquoted field names. ------------------------------------------------------------------- Defect # 6855 - Unable to define a log file other than default ------------------------------------------------------------------- Description: When the user defined a log file name other than NEONetStatusLog during the initialization or the NNAlert object, the file opened but the enablement of errors to be reported did not occur. This caused the status log to be empty. Resolution: This has been changed to initialize all error types to be logged into the user-defined file. You can still pre-empt the reporting by setting NN_ALERT=OFF. ------------------------------------------------------------------- Defect # 6940 - Memory leakage caused by NNGctypArray ------------------------------------------------------------------- Description: The original implementation of the class (NNGctypArray) wasted memory through needless allocation. Resolution: The template class NNGctypArray was changed to allocate memory in a sparse manner. ------------------------------------------------------------------- Defect # 6957 - NT d/b abstraction fails when operating on 0 rows ------------------------------------------------------------------- Description: The Windows NT version of the database abstraction layers ODBC implementation failed on SQL execution that inserts, updates, or deletes 0 rows. This was because the ODBC SQLRowCount() function returned an error when called after a SQLExecute() returns SQL_NO_DATA_FOUND. Resolution: The ODBCObj::ExecPreparedStmt() method in the odbcobj.cpp file was changed. An 'if' statement was added to detect whether the SQLExecute() call returns SQL_NO_DATA_FOUND. If it does, the data member variable RowsAffected sets to 0. If it doesn’t, the SQLRowCount() function is invoked. ------------------------------------------------------------------- Defect # 6975 - Incorrect conversion of negative signed IBM types ------------------------------------------------------------------- Description: NEONFormatter is converting negative signed IBM types (Zoned and Packed) to unsigned IBM types. Resolution: When this happens, an error is created. ------------------------------------------------------------------- Defect # 6982 - NNRTrace not evaluating rules ------------------------------------------------------------------- Description: NNRTrace did not evaluate a rule. GetFieldCount is counting incorrectly. It appeared to return the total number of fields rather than the total number of repeats for the specified field. Resolution: Through a series of other fixes this problem was corrected. ------------------------------------------------------------------- Defect # 7177 - NNFie displaying erroneous conflict information ------------------------------------------------------------------- Description: When Parse Controls was imported with Tags, NNFie displayed conflicts for tagTermination or tagType even when the data was the same as that which was in the database. Resolution: NNFie now retrieves correct data from the database, so that no extra conflicts are reported. ------------------------------------------------------------------- Defect # 7197 - NNRTrace (-o) not working ------------------------------------------------------------------- Description: The (-o) option (file open) for NNRTrace was not working. It did not allow creation of a new file. Resolution: The (-o) option was changed to allow creation of new files for all non-OS/390 operating systems. ------------------------------------------------------------------- Defect # 7238 - PUTing multi-slotted messages caused errors ------------------------------------------------------------------- Description: An "end if" statement was misplaced in the Oracle version of the NNQ_PUT stored procedure (NNQ_PUT.sql) resulting in the following problem. The queue resulted in a bad state when multi-slotted messages were PUT at the wrap-around point of a queue made up of multiple segments. During a PUT of this kind, the PUT-pointer was not being set to the queue's first segment, so a portion of the message was being written to the wrong slot(s). Any attempt to GET this message generated an error. Resolution: The misplacement of the "end if" statement was corrected. ------------------------------------------------------------------- Defect # 8017 - Makefile for Unix is used for NT ------------------------------------------------------------------- Description: The makefile for userexits has been copied from unix and the necessary changes have not been made for winnt. The make file has "/" instead of "\" and uses "rm -f" instead of "del" Resolution: When customising the file ensure that these changes are also made. ------------------------------------------------------------------- IY13103 - AIX4.3.X/ORACLE7.3.4,MQSIRULENG SEGMENTATION FAULT Defect # none ------------------------------------------------------------------- Description: MQSIruleng fails with "segmentation fault" core dump on AIX V4.3.1 and Oracle V7.3.4. This is caused by the loading of the userexits at run-time. When using the rulengine to load userexits a core dump occurred. Resolution: The ruleng has been re-built in such a way that it could do such run-time loading on AIX. The rebuild included adding -brtl to the link line for all executables that linked against the libnnrulsfmt.a.1 library ------------------------------------------------------------------- Defect # ibm53801 - No execute permission for file mkexps ------------------------------------------------------------------- In order to successfully compile the userexit in /usr/lpp/mqi110/examples/mkexps the file permission needs to be set to execute, ie "chmod +x /usr/lpp/mqi110/examples/mkexps" ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ CSD01 (PTF U200114) =================== ------------------------------------------------------------------- Case # 3227 - Inconsistency in Rules operations 2379 ------------------------------------------------------------------- Description: There is an inconsistency in Rules operations. The options for the output control actions using "Jump to Rules" are in an inconsistent order; the field name, control name, or output format name randomly appear first. It appears the GUI is mismatching the order when the action is created. Resolution: Order is now fixed. ------------------------------------------------------------------- Case # 3228 - Error in rearranging operation collections 2378; 2315 ------------------------------------------------------------------- Description: Error in rearranging operation collections. Operations in an operation collection cannot be reordered. Resolution: Fixed. ------------------------------------------------------------------- Defect # 3726 - Enable specify date format YYMMDD, YY-MM-DD 2433 (5x) ------------------------------------------------------------------- Description: A new data type is needed to specify the format of the date (for example, YYMMDD, YY-MM-DD. Functionality to export and import these new custom date/time types should also be included so the types do not have to be redefined in a new database. Resolution: Importing of new custom date/time formats into NNF_CODE is now supported. Modified the makefile to build the AddDTfmt utility. ------------------------------------------------------------------- Defect # 1972 - Errors when processing alternative compound formats ------------------------------------------------------------------- Description: When processing alternative compound formats, errors are generated to the log. Resolution: Specific parse mismatches for the first n-1 alternate formats are now ignored. This patch also handles nested compound alternative formats. ------------------------------------------------------------------- Defect # 2433 - Allow Julian date data format. ------------------------------------------------------------------- Description: Allow Julian date data format. Resolution: Import of new custom date/time formats into NNF_CODE is now supported. ------------------------------------------------------------------- Defect # 2472 - Random rulengine failure. ------------------------------------------------------------------- Description: Random rulengine failure. Resolution: The function atoi() was called with a character buffer that was not NULL-terminated, causing intermittent problems when the uninitialized regions of the data buffer contained ASCII numeric characters. ------------------------------------------------------------------- Defect # 2605 - Inadequate msg when Sqlsvses.cfg is not found ------------------------------------------------------------------- Description: When Sqlsvses.cfg is not found in directory, the resulting MSGTEST error should be more descriptive. Resolution: MSGTEST error now contains more detail when no sqlsvses.cfg is available. ------------------------------------------------------------------- Case # 2390 Defect # 2846 - node string length does not allow NULL ------------------------------------------------------------------- Description: Node string was 32 characters (defining the database name), and one area cannot handle this for permissions. Resolution: Fixing node string length was 32 characters. This did not allow NULL. Now #define is used, fixing the problem. ------------------------------------------------------------------- Defect # 2876 - event handles not defined at runtime, exit routines fail ------------------------------------------------------------------- Description: The Windows NT Service event handles are statically defined at compile time instead of at runtime. The service event handles must be computed at runtime to function properly. Also, required cleanup routines are not being properly called during image exit. Resolution: The event handles are now defined at runtime and exit routines are fixed to work properly. ------------------------------------------------------------------- Defect # 2912 - EUR API returns zero values ------------------------------------------------------------------- Description: EUR API returns zero values for populated Custom Date Time values. When using the NNFMgrGetParseControl() API, the values returned in the NNFMgrParseControlInfo structure in member items baseDataType and yearCutoff were incorrect. Resolution: The values returned from the database were incorrectly type cast causing an incorrect alignment of the values. This is fixed. ------------------------------------------------------------------- Defect # 2943 - NNFie does not load an exported file ------------------------------------------------------------------- Description: NNFie does not load an exported file. The following error is generated on a valid import file: Invalid NNFie version number. Resolution: The code did not recognize the correct version. The appropriate versions of source code were merged to fix the version problem and maintain other modifications. ------------------------------------------------------------------- Defect # 2950 - NNRie error when importing 2 actions that replace 3 ------------------------------------------------------------------- Description: If you are importing a subscription with two or more actions, the subscription already exists with two or more actions, and the first action you are importing and the first action in the database are exactly the same, the second action is not compared. An NNRie error is generated when importing two actions that replace three actions. Resolution: A program logic error was fixed. ------------------------------------------------------------------- Case # 2553, 5636 Defect # 3012 - NNFie does not import Substitute Operations correctly ------------------------------------------------------------------- Description: NNFie does not import Substitute Operations correctly Due to a functionality enhancement in the output operation, substitute, all NNFie files created prior to version 4.11 must have the NONE to NONE substitutions removed. Resolution: The transformation of NONE to NONE must be removed in each of the substitute operations. During the import of NNFie, files created with versions prior to 4.11, the NONE to NONE transformations are removed during the import. ------------------------------------------------------------------- IY02552 - APPLY BUTTON IN THE FORMATTER GUI I/F WORKS INCORRECTLY. Case # 2550 Defect # 3038 ------------------------------------------------------------------- Description: In the NEONFormatter GUI, the length operation does not activate the Apply button when the up/down arrows are used. A mouse click is required in the left window to activate the Apply button. Resolution: The Apply button is now automatically enabled when a spin button on a property sheet has focus. This includes input flat format props, input format component props, output controls, as well as length, math expression, and substring operations. Fixed in the Version 1.1 NEONFormatter GUI. ------------------------------------------------------------------- IY02551 - PROBLEMS WITH DATE/TIME FIELDS Case # 2237; 2575 Defect # 3055 ------------------------------------------------------------------- Description: Rules field gives a core dump when a custom date/time is used. When the input field comes in as eight characters, and the date is either YYYMMDD or spaces, NEONFormatter converts the date to MMDDYYYY or spaces. NEONFormatter currently has a rule field control on the output field. The rules check for spaces; if there are spaces, spaces are output. If there are no spaces, use the custom date and time format MMDDYYYY. This causes core dump in MSGTEST and the rule engine hangs. Resolution: The customer's format has a problem; the format has a conditional branch. The output control used when a custom date was present did not specify both the data type and base data type. Instead, "Not Applicable" was selected. The code then took a path that involved using unitialized pointers. This problem led to a core dump. The base data type cannot be Not Applicable. ------------------------------------------------------------------- IY02554 - FORMATTER ERROR NUMBER 1055 ISSUED FROM RULE DAEMON IF Case # 2834 Defect # 3055 ------------------------------------------------------------------- Description: If the first message sent to Rules daemon (after the daemon is started) contains a 0 in a "field contains repeat count" format, all messages after the first message fail with Formatter error #1055, Infinite loop detected while mapping fields for format 9 (format name). Conditional Branch causes MSGTEST to core (Custom Date/Time). Resolution: Fixed. ------------------------------------------------------------------- Case # 4193 Defect # 3103 - application error parseing or reformating message in VT ------------------------------------------------------------------- Description: When attempting to parse or reformat a message in Visual Tester, receive the following error message: NNVT.exe - application error Resolution: Fixed by rebuilding with the latest Formatter libraries. ------------------------------------------------------------------- IY02549 - PROBLEMS WITH MATH EXPRESSIONS WITH SPACES OR IN A REPEATING Case # 2089 Defect # 3143 ------------------------------------------------------------------- Description: A repeating math expression only gives the first occurrence. Math expression is not working with nth instance access mode. Math expression is not using mapped input field instance, relying on nRelativeIndex. When a mapped field was used in a math expression output operation and an output access mode of "nth instance" is specified, the subscript was ignored and only the first instance of the data was evaluated. Resolution: A modification caused the Math expressions to trim whitespace when evaluating the data. When a field is in a flat and that flat is in a repeating compound, the nRelativeIndex is not set. During the evaluation of a mapped math expression field, if the access mode is set to "nth instance" that instance vector is now used to locate the data associated with that instance. ------------------------------------------------------------------- Defect # 3172 - Delimited repeat with zero repetitions fails ------------------------------------------------------------------- Description: Delimited repeat with zero repetitions fails to find delimiter. During the parse of a repeating group in which the repetition count associated by message field is zero, the parse fails. Resolution: The control loop was set to a post parse test and one instance of the repeat was always required. This is now changed to use a pre-parse test allowing a zero repeat condition to be valid. ------------------------------------------------------------------- Case # 4992 Defect # 3278 - NEONFormatter detects infinite loop from repeating seq ------------------------------------------------------------------- Description: When processing mapping information, the controlling field information on output repeating alternative format groups only works for the first message processed. Any other repeating sequence that uses alternative formats not used during the first message causes NEONFormatter to detect an infinite loop. Resolution: An incorrect optimization was introduced into the iteration processing causing active output format definitions to never reset controlling iterators in repeating alternative groups. The optimization was modified to cause only repeating iterators to be reset between uses of active output format definitions. ------------------------------------------------------------------- IY03400 - IBM PACKED DECIMAL FIELD CAUSES MEMORY LEAK Case # 2690 Defect # 3392 ------------------------------------------------------------------- Description: IBM packed decimal data type with a decimal place other than zero causes a memory leak. Resolution: Fixed the data conversation code that handles IBM packed decimal data types. ------------------------------------------------------------------- Defect # 3473 - MQSIputdata error when an old MQSIputdata.mpf is used. ------------------------------------------------------------------- Description: MQSIputdata generates an error when an old MQSIputdata.mpf is used. Resolution: Fixed. ------------------------------------------------------------------- IY05821 - USEREXIT FUNCTION GOT THE ERROR ON MQSI V1.1. Case # 3484, 4501, 4075 Defect # 3518, 4424 ------------------------------------------------------------------- Description: The User Exit library could not be loaded because of mutual dependencies between the Rules/Formatter library and the stubbed User Exit library. Resolution: Fixed User Exit functions in Shared Object Libraries. The dependency of the stubbed User Exit library on the Rules/Formatter library was broken, and the build configuration files were modified to correctly build the two libraries. ------------------------------------------------------------------- Defect # 3578 - Unallocated memory read from heap cause core on HP-UX ------------------------------------------------------------------- Description: Unallocated memory read from heap cause core for HP-UX only. Resolution: Allocated buffer length to read within buffer boundaries. ------------------------------------------------------------------- IY02548 - EXPORT/IMPORT PROBLEMS - END-OF-FIELD AND FORMAT COLLECTIONS Case # 3105,3042 Defect # 3586 ------------------------------------------------------------------- Description: NNFie is not working when importing certain formats. If importing a substring operation that is set to "end of field" and it has a pad character, an "I/E failed" error is generated on import. Resolution: Modified the format manager APIs to allow this import type. ------------------------------------------------------------------- Case # 3429 Defect # 3811 - reformatting pb with math expressions in repeating field ------------------------------------------------------------------- Description: There is a reformatting problem with math expressions in a repeating field. When using a math expression in an output field, if the operands are also output as their own output fields, the math expression is calculated correctly; however, it causes the operand fields to be output incorrectly (padding and justification are incorrect). During the evaluation of parsed values using math expressions, the parsed value could be altered causing subsequent operations to incorrectly use the parsed data. Resolution: It is the second occurrence (signified by a '|200' in the output), that the fields PiecesPerCase and PiecesPerPallet are output incorrectly (their justification and padding operations are incorrect). The symptom appears to be using (outputting) operands that are used in a math expression AFTER the actual output field for the math expression. The parse values are now protected from alteration by math expression output operations. ------------------------------------------------------------------- Defect # 3847 - incorrect use of skip in interactive conflict resolution ------------------------------------------------------------------- Description: When skip is used in interactive conflict resolution, the actions are skipped for the following subscriptions. Resolution: The current conflict flags were fixed. ------------------------------------------------------------------- Defect # 3858 - encryption not working due to NNRie error ------------------------------------------------------------------- Description: NNRie is not looking at the proper configuration files, causing the encryption to not work in the expected way. Resolution: Fixed the NNRie use of sqlsvses.cfg when env var NN_config_file_path is used. The environmental variable NN_config_file_path is now used in its file check. ------------------------------------------------------------------- Defect # 3955 - NOT_EXIST not considered a valid operator ------------------------------------------------------------------- Description: The NOT_EXIST portion of an expression is not being written to the database if there is more than one argument. Resolution: Fixed NOT_EXIST; it was not considered a valid operator. ------------------------------------------------------------------- Case # 3911 Defect # 3979 - Large message corruption occurs when buffer is extended ------------------------------------------------------------------- Description: Large message corruption occurs when buffer is extended. Extending the buffer did not copy the beginning of the buffer. The first message parsed always fails. ------------------------------------------------------------------- Defect # 3472 - Repeat count inaccessible in a sibling compound format ------------------------------------------------------------------- Description: The repeat count is inaccessible when it is stored in a sibling compound format. Resolution: The repeat count must be accessed by a subsequent format. FindField was fixed to allow this. ------------------------------------------------------------------- Defect # 4013 - Alternative formats output segments are out of order ------------------------------------------------------------------- Description: Alternative formats output segments are out of order. Resolution: Access modes were not being used correctly. The controlling field is used as the sort key, regardless of where it appears in the format. ------------------------------------------------------------------- IY05884 - RULES ENGINE FAILS WITH RC2142 MQRC_HEADER_ERROR WHEN PUTTING Case # 3105 Defect # 4093 ------------------------------------------------------------------- Description: After conversion of the RFH header and options segment of an MQSeries Integrator message, the CCSID and Encoding fields of the MQMD are not adjusted to accurately reflect the conversion. If the message is then fed back into MQSeries Integrator for a subsequent processing, the conversion is attempted again, resulting in a processing failure. Resolution: The MQMD fields now properly update after a successful header conversion. ------------------------------------------------------------------- Defect # 4204 - Invalid memory buffer tunables causes error or core dump ------------------------------------------------------------------- Description: The MQSeries Integrator memory buffer tunables can be altered using the .mpf file. Values in the .mpf are designed to override the default values compiled into the code. However, certain combinations of "bad" values (for example, zero for ExtendQuantum) can result in either an error or a core dump. Resolution: The code was modified to scrub the tunables for memory buffers. If the values entered in the .mpf are unacceptable, the memory tunable is reset to its default value, which always works. ------------------------------------------------------------------- Defect # 4530 - Incorrect message text in condition code 10227 ------------------------------------------------------------------- Description: Error code text is duplicated resulting in an incorrect error message being generated by the daemon when the value for the InputQueueName is omitted in the .mpf file. The error number is correct; the associated text is wrong. Resolution: The correct message text is now associated with condition code 10227. ------------------------------------------------------------------- Defect # 4487 - MSGTEST returns 0 return code when error generated ------------------------------------------------------------------- Description: MSGTEST always returns a zero return code when an error is generated. Resolution: MSGTEST now returns return codes 0-9 with specific error detail. ------------------------------------------------------------------- Defect # 4709 - Zero length message causes VT termination ------------------------------------------------------------------- Description: Visual Tester terminates abruptly after putting messages on a queue when the message file contains a blank line at the end of the file. Resolution: Added a check for a zero length message. ------------------------------------------------------------------- Defect # 4939 - Memory grows using Oracle 8 SQL Statement. ------------------------------------------------------------------- Description: Memory grows using Oracle 8 SQL Statement. Resolution: Allocation of the environment for Oracle 8 statement is now obtained from the existing connection. ------------------------------------------------------------------- Defect # 4940 - SQL uses count(FLDNAME) that is not valid for DB2 ------------------------------------------------------------------- Description: SQL uses count(FLDNAME) that is not valid for DB2. Resolution: SQL now uses count(*), fixing the problem. ------------------------------------------------------------------- Defect # 4941 - No SQL Srv 7.0 support for user-defined segments ------------------------------------------------------------------- Description: SQL Server 7.0 does not support user-defined segments that have been replaced with file group. SQL 7.0 also does not support the stored procedure sp_primarykey. Resolution: SQL Server 7.0 changed to support user-defined segments and sp_primarykey. ------------------------------------------------------------------- Defect # 4976 - MQSIputdata does not accept control character strings ------------------------------------------------------------------- Description: MQSIputdata accepts only printable (ASCII) character strings as record separators. Control characters must also be accepted. Resolution: MQSIputdata was enhanced to accept control character strings as record separator strings. They can be specified in the mpf file as the hex equivalent of control characters. ------------------------------------------------------------------- IC25808 - NNFMGR.LIB DOES NOT HAVE FORMAT API SYMBOLS Defect # 4991,3974 Case # 5530 ------------------------------------------------------------------- Description: Several functions, for example, Update Library, are not being resolved in fmgr library. These functions are not being correctly exported in the shared library because of a mismatch of the function signatures. Resolution: The signatures of the functions are fixed and are the same in the .h files and the .cpp files. The libraries built from these source files do contain the functions and therefore, the functions are able to be called by an external interface. ------------------------------------------------------------------- IY06895 - RULES ERROR -2025 "FORMATTER FAILED TO PARSE INPUT" Defect # 5182 ------------------------------------------------------------------- Description: Formatter failed to parse input message. There was a problem with an ASCII to binary integer conversion of a string that was not null terminated. Resolution: There was an uninitialized local variable. This problem was fixed. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ SERVICE AND TECHNICAL SUPPORT ----------------------------- This is the first release of products: 5697E6000, IBM MQSeries Integrator for Windows NT and DB2 V1.1 5697E6100, IBM MQSeries Integrator for Windows NT and Oracle V1.1 5697E6200, IBM MQSeries Integrator for Windows NT and SQL V1.1 5697E6300, IBM MQSeries Integrator for AIX and DB2 V1.1 5697E6400, IBM MQSeries Integrator for AIX and Oracle V1.1 5697E6500, IBM MQSeries Integrator for AIX and SYBASE V1.1 5697E6600, IBM MQSeries Integrator for Sun Solaris and Oracle V1.1 5697E6700, IBM MQSeries Integrator for Sun Solaris and Sybase V1.1 5697E6800, IBM MQSeries Integrator for HP-UX and Oracle V1.1 5697E6900, IBM MQSeries Integrator for HP-UX and Sybase V1.1 5697E7300, IBM MQSeries Integrator for Windows NT and Sybase V1.1 5697E7400, IBM MQSeries Integrator for Sun Solaris and DB2 V1.1 5697E7500, IBM MQSeries Integrator for HP-UX and DB2 V1.1 5799GHP00, IBM MQSeries Integrator for HP-UX 11 V1.1 No APARs or PTFs have been incorporated into them. The MQSeries support page is located at: http://www.ibm.com/software/ts/mqseries/support from which you can obtain the latest information about various MQSeries topics including :- - Hints and Tips - APARs and Fix Packages - FAQs - Support downloads - Newsgroups ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ CSD HISTORY =========== CSD02 (PTF U200128) ------------------- This is the second PTF for IBM MQSeries Integrator Version 1.1. It is delivered via PTF U200128 for APAR IC27568. It contains fixes for ALL the problems listed below: Name Abstract IC27568 - CUMULATIVE MAINTENANCE #2 FOR MQSERIES INTEGRATOR V1.1 FAMILY. IC25405 - UNINSTALL OF MQSI GIVE ERROR - "UNABLE TO UNREGISTER SE IC25487 - RULES ENGINE DOES NOT WORK WITH ENCRYPTED MPF FILE IC26292 - THE RULES GUI DOES NOT WORK CORRECTLY. IC26293 - THE FORMATTER GUI DOES NOT WORK CORRECTLY IC26742 - MQSI V1.1 "COMMENTS" FIELD DOES NOT WRAP IC26945 - MQSIRULENG ABENDS AFTER MQPUT WITH PROPAGATE IC27155 - SETTING OPT_MSG_TYPE IN RFH STRUCT TO VALUE OF 1K OR 2K IC27156 - OUTPUT CONTROL TO CALCULATE LENGTH DOES NOT WORKS CORRE IC27903 - BAD MESSAGE WITHOUT RFH HEADER ON THE RULES ENGINE INPU IC28541 - MQSI POOR PERFORMANCE WITH MULTIPLE INPUT QUEUES -BLOCKING MQGE IY02553 - RULES GUI SLOW BECAUSE FIELDS ARE ALWAYS RE-CACHED IY08132 - MQSI FOR AIX INSTALL DIRECTORIES AND FILES HAVE PERMISSION 777 IY08283 - RULES GUI REMEMBERS OLD RULE NAME INSTEAD OF NEW NAME IY08398 - MAKEFILE SPECIFIES MQSI_ROOT AS /OPT/MQI NOT /OPT/MQI11 IY08400 - INST&CONFIG GDE CONSISTENCY CHECKER FILENAME EXT INCORRECT IY08452 - RENAME SUBSCRIPTION FROM WITHIN THE MSG/RULE SUBTREE GIVE IY09104 - NNRSIGNALSHUTDOWN DOES NOT WORK IY09250 - RUNNING MQSI/110 ON HP-UX/10.20 USING SYBASE. THE RULE IY09398 - MQSI GUI CLIENT DOES NOT DETECT MQSERIES CAUSING VISUAL TESTER IY09697 - USEREXIT.README FILE CONTAINS WRONG INFORMATION. IY11337 - MSGTEST WITH -DCO OPTION ERROR 1071 CANNOT RESOLVE BASE IY11389 - SYBASE,ACCESS TO HANDLE() AFTER OPENDBMSSESSION() CALL FAILS IY11682 - MQSIRULENG FAILS IN EXTENSION OF MESSAGE BUFFER AND IT IY11708 - INPUT CONTROL CUSTOMER DATA/TIME FIELD WITH BASETYPE OF IY11713 - NEONET PRODUCT FUNCTIONALITY WRONGLY APPEARS IN MQSI BOOKS IY11752 - HEADER FILES HAVE REFERENCE TO CS_CONNECTION FOR SYBASE IY11844 - GETFIELDASCII CANNOT GET 32 CHAR FIELD NAME. IY11918 - REPEATING FIELDS GETTING DROPPE WHEN PROCESSING A BATCH IY13103 - AIX4.3.X/ORACLE7.3.4,MQSIRULENG SEGMENTATION FAULT IY13682 - NNFIE EXPORT OF INDIVIDUAL FORMAT FAILS - HP/SYBASE IY14662 - HOW TO USE NNALERT NEEDS INCLUDED IN DOC. e388 - Add new NEONFormatter Management API - NNFmtRmv c1574 - Hourglass does not display during initial db access c2740 - errors during re-order collections operations c3265 - suffix remains despite being deleted c5590 - Problems with queue names greater than 32 chars c5886 - Duplication of outputs when using Field,Used in tab c6270 - Add AllocQuantum,ExtendQuantum & MaxBufferSize to SMG c7773 - Add location of mqsiruleng.mpf for NT Service to SMG d1026 - NNRMgrAddRule documentation incomplete d1027 - NNRMgrUpdateRule documentation incomplete d1042 - Additional NNFMgrCreateOutMstrCntl parameter d1043 - Update to NNFMgrGetDefaultCntlName documentation d1051 - NNFMgrFormatInfo documentation is incomplete d2683 - Mouse pointer disappears when using NEONFormatter d3409 - (4411) Infinite loop in NEONFormatter d4475 - Resolve NNFmtSystem dependencies d4551 - Problem with Length-Tag-Data and optional fields d4636 - Typo in ORACLE library name and .mk file d4758 - Incomplete Consistency Checker report d4806 - Failure to flag component messages as repeating d4868 - Parser fails to reset pointer in error conditions d5018 - Memory leak caused by multiple Oracle handles d5174 - VQueue not placeing value in NMSGSTRUCT d5175 - User exits executed twice d5210 - Need WINNT to be entered in the project settings d5236 - Entry of values for unnamed literals d5282 - AIX, failure in prepareGetIDStatements() d5348 - Changes to literal ASCII value not saved d5435 - Right-click in white space closed NEONFormatter d5481 - Incomplete pError->SetErrorMsg information d5662 - Update API errors with rounding & decimal precision d5681 - Database name not verified for Acquire and Deliver d5826 - (5839,5840) output filed mapped to NONE with no info d5827 - Ambiguity due to 2 formats using same output field d5828 - Empty file when importing non-existant map files d5845 - Add warning regarding improper codepage combination d5867 - Non-conformance to general GUI protocols d5889 - no access to a duplicated math expression d5917 - (5922,5923) No error for undefined format group d6065 - message processing time grows for multiple queues d6089 - GUI actions were OUT OF ORDER after import. d6163 - Infinite loop during reformat of repeating component d6245 - (5745) Enhance case sensitivity of DBs warning in SMG d6300 - Not all fields added to array to check field names d6300 - Not all fields added to array to check field names d6308 - Wrong member name in UETEST JCL d6344 - GUI array in Rules Expression fails d6383 - Browse Tab does not display actions. d6429 - Enhance ruletest sequence numbering info to SMG d6439 - Enhance warning re unique field names in UG & SMG d6466 - Add User Exit migration note to SMG d6611 - Big Endian 4 not converting large negative numbers d6622 - Problems with NNGctypArray d6643 - Performance problem with GetFieldAscii() d6673 - Correct User Exit section in the UG d6690 - Error using NNFIE to import formats d6751 - digit validation removed d6778 - Browse tab not displaying subscriptions correctly d6784 - Database access for NEON Sybase client slow d6817 - User defined type required for strict data typing d6830 - math expression: (3*fld1) - '!#"#=' failure d6855 - Unable to define a log file other than default d6876 - Literals showing incorect usage in Output Controls d6940 - Memory leakage caused by NNGctypArray d6957 - NT d/b abstraction fails when operating on 0 rows d6975 - Incorrect conversion of negative signed IBM types d6982 - NNRTrace not evaluating rules d7177 - NNFie displaying erroneous conflict information d7197 - NNRTrace (-o) not working d7238 - PUTing multi-slotted messages caused errors d7292 - NNFie coring on HP 11/Oracle 8 d7322 - Add ORACLE tablespace names to Inst & Config Guide d7368 - Incorrect queue name prompt in Inst & Config Guide d7369 - Correct Rules Engine startup in Inst & Config Guide d7370 - Correct Ruletest ACTIONS in Inst & Config Guide d7371 - Add PutData & GetData info to Inst & Config Guide d7372 - Add PutData & GetData step to Inst & Config Guide d7373 - Add RunData informaton to Inst & Config Guide CSD01 (PTF U200114) ------------------- This is the first PTF for IBM MQSeries Integrator Version 1.1. It is delivered via PTF U200114 for APAR IC25731. It contains fixes for ALL the problems listed below: Name Abstract IC25731 - CUMULATIVE MAINTENANCE #1 FOR MQSERIES INTEGRATOR V1.1 FAMILY. IC24570 - TEST MESSAGE & TEST REFORMAT CAUSES VISUAL TESTER TO TERMINATE IC25465 - ORACLE 8.X - PLUS33.EXE SHOULD BE CHANGED TO PLUS80.EXE IC25553 - INCORRECT OUTPUT FROM VISUAL TESTER WHEN POPULATING QUEUE IC25762 - SMG SAYS SERVER NAME OPTIONAL FOR ORACLE IC25808 - NNFMGR.LIB DOES NOT HAVE FORMAT API SYMBOLS IC25815 - VISUAL TESTER LOAD QUEUE FUNC PUTS SPACES IN FORMAT FIELD IY02548 - EXPORT/IMPORT PROBLEMS - END-OF-FIELD AND FORMAT COLLECTIONS IY02549 - PROBLEMS WITH MATH EXPRESSIONS WITH SPACES OR IN A REPEATING IY02551 - PROBLEMS WITH DATE/TIME FIELDS IY02552 - APPLY BUTTON IN THE FORMATTER GUI I/F WORKS INCORRECTLY. IY02554 - FORMATTER ERROR NUMBER 1055 ISSUED FROM RULE DAEMON IF IY03400 - IBM PACKED DECIMAL FIELD CAUSES MEMORY LEAK IY05821 - USEREXIT FUNCTION GOT THE ERROR ON MQSI V1.1. IY05884 - RULES ENGINE FAILS WITH RC2142 MQRC_HEADER_ERROR WHEN PUTTING IY06614 - EXAMPLES UNCLEAR IN INSTALLATION GUIDE FOR NNFIE AND NNRMIE IY06895 - RULES ERROR -2025 "FORMATTER FAILED TO PARSE INPUT" c3227 - Inconsistency in Rules operations c3228 - Error in rearranging operation collections d1972 - Errors when processing alternative compound formats d2433 - Allow Julian date data format. d2472 - Random rulengine failure. d2605 - Inadequate msg when Sqlsvses.cfg is not found d2846 - node string length does not allow NULL d2876 - event handles not defined at runtime, exit routines fail d2912 - EUR API returns zero values d2943 - NNFie does not load an exported file d2950 - NNRie error when importing 2 actions that replace 3 d3012 - NNFie does not import Substitute Operations correctly d3172 - Delimited repeat with zero repetitions fails d3278 - NEONFormatter detects infinite loop from repeating seq d3472 - Repeat count inaccessible in a sibling compound format d3473 - MQSIputdata error when an old MQSIputdata.mpf is used. d3578 - Unallocated memory read from heap cause core on HP-UX d3726 - Enable specify date format YYMMDD, YY-MM-DD d3811 - reformatting prb with math expressions in repeating field d3847 - incorrect use of skip in interactive conflict resolution d3858 - encryption not working due to NNRie error d3955 - NOT_EXIST not considered a valid operator d3979 - Large message corruption occurs when buffer is extended d4013 - Alternative formats output segments are out of order d4204 - Invalid memory buffer tunables causes error or core dump d4487 - MSGTEST returns 0 return code when error generated d4530 - Incorrect message text in condition code 10227 d4709 - Zero length message causes VT termination d4939 - Memory grows using Oracle 8 SQL Statement. d4940 - SQL uses count(FLDNAME) that is not valid for DB2 d4941 - No SQL Srv 7.0 support for user-defined segments d4976 - MQSIputdata does not accept control character strings d4988 - User Exits using Oracle 7.3 API v Oracle 8.0 db fail d4992 - Queues cannot be populated using Visual Tester. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ TRADEMARKS ---------- The following terms are trademarks of the IBM Corporation in the United States or other countries or both: IBM MQSeries AIX DB2 NeonFormatter and NeonRules are trademarks of New Era of Networks, Inc in the United States and / or other countries. Microsoft, Windows, Windows NT and the Windows logo are trademarks of the Microsoft Corporation in the United States and / or other countries. Unix is a registered trademark in the United states and / or other countries licensed exclusively through X/Open Company Limited. Other company, product or service names may be the trademarks or service marks of others. ####### ------- end of file MEMO.PTF ------------#######################