######################################################################## # # # COMPONENT_NAME: WebSphere MQ Integrator # # # # FILE: MEMO.PTF # # # # Program Number 5724-A82 # # (C) COPYRIGHT International Business Machines Corp. 1999, 2001 # # 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. # # # ######################################################################## # # # PLEASE REVIEW THE README.TXT FILE WHICH HAS BEEN UPDATED IN THIS # # MAINTENANCE RELEASE. # # # ######################################################################## # # # The WebSphere MQ Integrator V2.1 documentation has been updated # # to the CSD02 level. The March 2002 levels are available from # # the following Web page on the MQSeries Web site: # # # # http://www.ibm.com/software/ts/mqseries/library/manualsa/ # # # ######################################################################## # # # The licence information for this product has been updated to add # # Microsoft (R) Data Access Components and Hewlett Packard Java RTE # # for HP-UX licence information. A copy of these terms and conditions # # can be found in the product directory after installation. # # # # (R) Microsoft is a registered trademark of Microsoft Corporation # # in the United States, other countries, or both. # # # ######################################################################## PTF Memo for WebSphere MQ Integrator Version 2.1 for AIX -------------------------------------------------------- The memo.ptf file contains information you need for updating WebSphere MQ Integrator Version 2.1 for AIX. This memo.ptf file corresponds to CSD05 which is defined as PTF U487579 and is divided into the following sections: o Installation and maintenance information o Documentation changes o Special information o New Era of Networks information o Service and technical support o CSD history ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ INSTALLATION AND MAINTENANCE INFORMATION ---------------------------------------- In order to restore a previous level you must backup replaced files. CSD05 requires approximately 170MB of disk space to do this. APPLYING MAINTENANCE ____________________ 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 THE MAINTENANCE INFORMATION ____________________________________ The instructions for applying and removing maintenance can be found in Appendix D (Applying Maintenance) of the Websphere MQ Integrator for AIX Installation Guide (GC34-5841-05) but must be amended by any changes documented below. RESTORING A PREVIOUS SERVICE LEVEL __________________________________ A problem has been found when attempting to reject WMQI PTFs on AIX V5.1. The error message reported by smit is: 1. the selected software has been committed, i.e., cannot be rejected 2. the selected software is not installed, or 3. a typographical error was made. and the PTF cannot be removed. This situation has been resolved by AIX 5.1 PTF U477384, 5.1.0.1 SYSTEM MANAGEMENT INTERFACE TOOL (SMIT) for APAR IY19329 - UNABLE TO REJECT UPDATES WITH SMIT OR WEBSM. Note that this does not occur on AIX 4.3.3. APPLYING NEW ERA OF NETWORKS MAINTENANCE INFORMATION ____________________________________________________ Ensure that all brokers are stopped before installing maintenance and only restart them once installation is complete. Type smitty Select Software Installation and Maintenance Install and Update Software Update Installed Software to Latest Level (Update All) or use the fastpath command smitty update_all Either, enter the directory where the update images are, or press PF4 and select the appropriate device (for example, if installing from CD-ROM). The New Era of Networks filesets are in a sub-directory called NEON/neonsoft. Decide whether or not you want to commit the update by selecting the appropriate response in the COMMIT software updates field. If you answer Yes you will not be able to restore the previous level of the product without uninstalling it. Answering No will backup the replaced files so that you can reject the update and return to the original level of the product, (see 'Committing updates'). Press the Enter key to perform the update ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ DOCUMENTATION CHANGES --------------------- IC36010 - DOCUMENT USE OF CLEARMESSAGE FOR JAVA PLUGIN NODES Use of the Java plug-in method clearMessage is not documented. Not using this method can lead to growth in memory usage by the broker. The WebSphere MQ Integrator Programming Guide, SC34-5603-03, Chapter 6; Implementing a plug-in node or parser, section; Implementing a node in Java, subsection; Building an output message, will have a new subsection entitled Propagating the message as follows: Propagating the message Before you propagate a message, you have to decide what message flow data you want to propagate, and which of the node's terminals is to receive the data. You should finalize the message before you propagate it. After propagating a message, you must delete the output message. For example: 1. To propagate the message to the output terminal "out": MbOutputTerminal out = getOutputTerminal("out"); out.propagate(outAssembly); 2. To delete the output message: outMessage.clearMessage(); Any other messages created during the processing of the node should also be deleted in a similar manner. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ PQ67615 - CNIELEMENTCHARACTERVALUE/CPIELEMENTCHARACTERVALUE CAUSING 0C4 When using either cpiElementCharacterValue or cniElementCharacterValue using an incorrect value in the length value can result in 0C4 abends or in overwrites of user storage. The Programming Guide specifies that the length parameter of these calls should have units of bytes. This is incorrect; the length should be provided in units of CciChar. The Programming Guide (SC34-5603-03) will be changed in Chapters 8 and 9 so that the following functions are now documented as taking CciChar as the unit for the length parameter: cniElementCharacterValue cniElementDecimalValue cniElementName cpiElementCharacterValue cpiElementDecimalValue cpiElementName ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ PQ72256 - BUILDING A C++ USER EXIT LIBRARY, CUSTOMER MUST USE THE CBCDRVR COMPILER (VERSIONS 2.8 - 2.10) ONLY The New Era of Networks Rules and Formatter Support for WebSphere MQ Integrator System Management Guide Version 5.6, SC34-6083-00, Chapter 5, p.134, section entitled Building a C++ User Exit Library should be added to as follows:- The CBCDRVR compiler, versions 2.8 - 2.10, must be used. When using compilers later than version 2.10 (aka V1R1), up to and including V1R4 the V2R10 CBCDRVR shipped with their compiler for backward compatibility can be used. (See C/C++ Compiler and Run-Time Migration Guide for details relating to compilers post V2R10.) Generally setting the _CXX_CNAME environment variable and including the SCBCCMP library your STEPLIB, will pick up the CBCDRVR compiler. For example, set the following in your USS users profile :- export _CXX_CNAME="CBCDRVR" STEPLIB=$STEPLIB:PP.CBC.ZOS120.SCBCCMP ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ IC36384 - IMPLEMENTATION OF THE NNSY REPEATING ATTRIBUTE TO FLAG REPEATING FORMATS IN ESQL. Implementation of the NNSY repeating attribute to flag repeating formats in ESQL is available but was not documented in WebSphere MQ Integrator Working with Messages Version 2.1. The following section, which includes the description of the NNSY repeating attribute, should have appeared in the WebSphere MQ Integrator Working with Messages Version 2.1, Chapter 12. The New Era of Networks domains. The section entitled: 'Transforming from XML and MRM to NEONMSG' should be entirely replaced and re-titled: Processing messages in the NEONMSG domain ----------------------------------------- You can use the facilities provided by the message processing nodes and the brokers to transform an input MRM or XML message to an output NEONMSG message or to manipulate a message in the NEONMSG domain. However, you must be aware that the NEONMSG parser does not recognize repeating fields in these messages, unless you explicitly flag their containing structure (format) as repeating: if the input message includes repeating fields, and you do not flag them as such, the output message generated will not accurately reflect the input. The only node that can determine your input message repeat structure by direct reference to the NNSY Formatter database is the MQInput node on the initial parse of a message in the NEONMSG domain. This is because the functionality provided in a message flow means you can potentially deviate from message structure encoded in the Formatter database. In circumstances where you need to manipulate a message in the NEONMSG domain or transform your message to this domain, in WMQI 2.1.0, you can manually edit the message to insert the attribute NNSY-XML-repeating="true" to each repeating collection. (In MQSI 2.0.2 you must use NEON-XML-repeating="true".) For example, an input message might contain: IBM 1234-L Large Widget 1234-M Medium Widget 1234-S Small Widget This must be manually edited to contain: IBM 1234-L Large Widget 1234-M Medium Widget 1234-S Small Widget An example of the ESQL needed might be: SET "OutputRoot"."Properties"."MessageSet" = 'NEONMESSAGESET'; SET "OutputRoot"."Properties"."MessageType" = 'PurchaseOrder_MT'; SET "OutputRoot"."MQMD" = "InputRoot"."MQMD"; SET "OutputRoot"."MQMD"."Format" = 'MQSTR'; DECLARE K INT; DECLARE N INT; SET "OutputRoot"."NEONMSG"."PurchaseOrder_OC"."CustomerName_OF". "CustomerName"="InputRoot"."XML"."PurchaseOrder"."CustomerName"; SET K = CARDINALITY,("InputRoot"."XML"."PurchaseOrder"."OrderDetail"[]); SET N = 0; WHILE N < K DO SET N=N+1; SET "OutputRoot"."NEONMSG"."PurchaseOrder_OC". "OrderDetail_OC"[N]. "NNSY-XML-repeating" = 'true'; SET "OutputRoot"."NEONMSG"."PurchaseOrder_OC"."OrderDetail_OC"[N]. "OrderDetail_OF"."PartNum"="InputRoot"."XML"."PurchaseOrder". "OrderDetail"[N]."PartNum"; SET "OutputRoot"."NEONMSG"."PurchaseOrder_OC"."OrderDetail_OC"[N]. "OrderDetail_OF"."PartDesc"="InputRoot"."XML"."PurchaseOrder". "OrderDetail"[N]."PartDesc"; END WHILE; An example of corresponding NNSY Output Formats: Format/PurchaseOrder_MT/Ordinal | Format/PurchaseOrder_OC/Ordinal | Format/CustomerName_OF | | | Field/CustomerName/1/Normal Access/CustomerName | | | - Output Control/CustomerName/Data Field(Name Search) | | | - Data/String | Format/OrderDetail_OC/Ordinal/Repeating/3 | Format/OrderDetail_OF | Field/PartNum/1/Controlling Field/PartNum | | | - Output Control/PartNum/Data Field(Name Search) | | | - Data/String | Field/PartDesc/2/Access Sibling Instance/PartDesc | - Output Control/PartDesc/Data Field(Name Search) | - Data/String Note: In the last example the tree structure of the formats must be adjusted, regardless of business logic, by comparison to the input message, because formats that contain formats themselves (Compound formats) cannot contain both field references and format references in the NNSY data model. Note: The use of the repeating flag is pertinent, not only to cases where you are transforming from an XML or MRM domain but also if you intend to manipulate the NEONMSG tree (even though you may not have explicitly left the NEONMSG domain). For example, if you process your message through a Compute Node, the tree will again have to have the repeating attribute flagged for all instances of repeats. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ IC35011 - IMPROVE DOCUMENTATION REGARDING NULL HANDLING The documentation regarding how WebSphere MQ Integrator handles NULL processing will be be updated to more clearly outline and explain the process as follows :- 1. Websphere MQ Integrator Working With Messages, SC34-6039-01, Chapter 4, The MRM logical message model; Section, The broker's view of the logical message model; Sub-Section, Using ESQL to manipulate the message tree; Null Handling will have the following information added at the start of the section :- Parser overview with Null Handing --------------------------------- In a WMQI message flow, there are the concepts of a message bitstream and a logical message tree. The logical message tree shields the user from the physical bitstream by providing fields that can be manipulated without having to consider the exact sequence of bytes. In WMQI parsers are used to convert a message bitstream into a message tree and vice versa. Each parser uses its own 'algorithms' to dissect the bitstream and then create the appropriately named fields in the message tree giving them the relevant field types and field values. For the XML parser these algorithms involve identifying XML markup language and then using these to separate this into the correct XML objects. The MRM parser has different ways of parsing a bitstream and these are represented by the physical layers in a messageSet. For CWF, this involves reading a set sequence of bytes and translating these into the fields value in the message tree. For TDS, the parser uses the Data Element Separation method to parse the bitstream. Depending on what has been set this could involve identifying delimiters, tags, fixed length elements or patterns etc. The parsers are also responsible for writing a new message bitstream based on the values in the message tree. This will occur when a bitstream representation is required, such as in the MQOutput node or when calling the ESQL ASBITSTREAM function. Parsing and writing can be mutually independent operations such that they both do not have to be performed in a message flow. On this basis, it is possible for users to manually create new message trees in a compute node and then the parsers will attempt to create a bitstream from this message tree. It is also very common that the parsers will receive bitstreams that they did not create and have to attempt to create a message tree from them. The ESQL SET and CREATE statements can be used to populate a message tree field with a Name, Type and Value. It is therefore possible that the Value assigned to the message tree can be the result of an expression that evaluates to a NULL. This can be caused by the use of an uninitialised variable, a message tree field that does not exist, the result of a database query or use of the NULL keyword directly. When dealing with a message tree, there are two types of NULL : - Implicit : A message tree field does not exist and so implicitly has a NULL value. - Explicit : A message tree field actually contains a NULL value through the use of the SET with VALUE keyword or similar ESQL. When a message tree field has an explicit NULL value then this will be interpreted in different ways depending on the owning parser of the message tree field, the operations performed by the parser and the ESQL operations performed on the message tree field. Not all of the WMQI parsers have 'NULL handling' capabilities, but for those that do the following is possible : - A sequence of bytes can be identified in the message bitstream that will cause a NULL value to be created in the related message tree field. - An explicit NULL value can be accepted in the message tree and this will result in a set sequence of bytes to be written into the message bitstream. When explicit NULL handling is considered as part of these parser operations then : - NULL is not a consistent concept. - In WMQI the concept of NULL is present in the logical model and is created in the variables within the message flow. There is no notion of a NULL value in a bitstream. The NULL value in the message tree is created when a specific sequence of bytes are encountered within the bitstream. This sequence of bytes will be different for each parser. - Each parser has its own representation of a NULL in a bitstream. In the case of the MRM, this representation can be different for each element if the user requires such behaviour. - Each parser will interpret a NULL value in a message tree field differently. In summary, some WMQI parsers can lead to a NULL value to be created in the message tree, and can handle a message tree field containing an explicit NULL value when writing a new output message. However, other operations can be performed on message tree fields outside the scope of parsing and writing. It is possible for a user to create or manipulate a parser created message tree through the use of ESQL or nodes that cause message tree fields to be copied from one domain to another. For more information regarding the use of explicit NULLs in the XML domain, please see the ESQL reference (as point 2 below). 2. Websphere MQ Integrator ESQL Reference, SC34-5923-02, Chapter 2; Messages and ESQL; Section, Referencing information in XML messages; will have a new subsection added after 'Constructing XML in the Compute Node' as follows : The XML message domain and NULL values -------------------------------------- The XML domain does not have a concept of a NULL value in the message bitstream. This means that there is no sequence of bytes in an XML message that will lead to an explicit NULL value to be created in the message tree. Although the XML parser will not create a message tree field with an explicit NULL value, ESQL within a message flow can lead to the creation of such a field. When the XML parser needs to construct a new message bitstream from the message tree, then it could encounter explicit NULL values and therefore needs to be able to handle them. In this case, an explicit NULL value is seen as 'no characters to write' and therefore the field is created as the empty tags. In the XML domain, there are several values that will lead to the writing of XML empty tags in the resultant XML message : - A message tree field that contains an explicit NULL value - A message tree field that contains the zero length string ('') - A message tree field that does not have a value Once these have been written as the empty tags in an XML message then, if the XML message is subsequently parsed, it is not possible to distinguish between these three cases. When empty tags are parsed in XML, then an XML message tree field is created that does not have a value. This is different from a message tree field that contains an explicit NULL value, and also different from a message tree field that contains a zero length string. Although the XML parser resolves these three different message tree field values to the same result in the message bitstream, other message tree operations can distinguish between them. Although the XML parser will not create fields that contain explicit NULLS and zero length strings, the user can perform operations in message flows that can. Therefore, if a message flow is processing messages in the XML domain, then the ESQL will need to distinguish between a explicit NULL value, a zero length string, and a message tree field that does not have a value. Not even a field that contains the explicit NULL value is considered to be NULL when using ESQL to query the value of the element. The XML writing process can handle this condition however other operations within ESQL will not treat this as a NULL value. As previously stated, the XML domain does not have a concept of NULL and the parser will never create a field that contains an explicit NULL value. Because the XML domain is a character based domain, when the value of a field is queried, it returns the result as a character field. If the user creates an XML message tree field with an explicit NULL, then this will not be seen as a NULL value for those ESQL routines that get the value of the message tree field. What will actually be returned is the character representation of the contents of the field, which in this case will be the character string 'NULL'. For example, if the user performs such comparisons as with IS NULL, then this will never evaluate to a TRUE value. If the user copies this message tree field to another message tree, then the target message tree field will be populated with the character string 'NULL'. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ IC35575 - RENAME MSGFLOW FOR DEVELOPMENT & PRESERVE ORIGINAL COPY A new section; Preserving message flows, will be added to the Using the Control Center manual, SC34560205, in Chapter 5; Working with message flows, before the Debugging message flows section to improve the documentation regarding preservation of message flows as follows:- If you wish to preserve a message flow to enable reuse or retain a stable level, whilst further developing a copy it is important to understand that renaming a message flow merely changes a label. Message flows are identified in the configuration repository by a generated unique identifier (CUUID). Therefore when a message flow is exported from configuration repository to another it will retain its CUUID. This means that if an exported message flow is imported and modified on another system then subsequently re-imported to the original system, the original message flow, even if it has been renamed, will be overwritten with the imported modified message flow unless a copy has been made of the original. Preserving a copy of a message flow: 1. Click the Message Flows tab. 2. Select the message flow you wish to preserve, and click Copy. 3. Paste the message flow to the Message Flows root. 4. A copy of the original message flow is created as a new message flow (this will have a different CUUID). Select the copy and click Rename to change the label of the message flow. 5. You can now modify the renamed copy of the message flow independent of the original. 6. Save your new message flow in the configuration repository using either Check In or one of the File -> Check In menu options. A reference with recommendation to read this will be made in Chapter 3, Using the Control Center - configuration data and the workspace, in the 'Importing resources' section. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ PQ71204 - UPDATE TO THE PROGRAMMING GUIDE ON HANDLING ERRORS RETURNED FROM THE JAVA PROPAGATE METHOD. The following following paragraph will be added to the WebSphere MQ Integrator Version 2.1 Programming Guide (SC34-5603-04) in Chapter 6, the section 'Implementing a node in Java', sub-section 'Error handling and exception' to document the exception handling for the Java propagate method. When an error occurs downstream of the plugin node the exception will get flowed back up the flow and returned to the evaluate method of the plugin. As the broker is handling this execption it is better not to handle this exception within the plugin. To do this do not code the propagate method within a try code block. If you wish to carry out some error handling then once complete the exception should be thrown back to the broker to allow it to complete its error handling. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ IY36091 - DOCUMENTATION PROBLEM WITH HOW MESSAGES ARE PROCESSED IN BOOK The WebSphere MQ Integrator Introduction and Planning Guide V2.1, GC34-5599-04, Chapter 5: Messages, Section: How messages are processed in a message flow the bulletted list will be changed to describe the correct way in which messages are processed in a message flow as follows:- The characteristics of MQSeries messages are identified by the input node of a message flow in the following way: - The input node will allocate a parser to each header in the message in turn, and the message body is simply treated as another header in the chain. - Being an MQSeries message, the first header is assumed to be the MQMD and is parsed accordingly. - Each header should indicate the type of header or data following it. With MQSeries messages, this is normally done using the 'Format' field. The MQRFH and MQRFH2 headers are slightly different in that the Name/Value data in the header may also contain information regarding the format of the following data. If the value in the Format field is a known parser (recognised by WQMI) then this will always take precedent over any Name/Value data. See the WebSphere MQ Integrator Programming Guide for more details about the content and use of these headers. - If the value in the "Format" field (or in the Name/Value data) is recognised by the input node, and it has an associated parser, this parser will be used to parse the following header (which may be the message body). - If no specific parser has been identified by the 'Format' field, the input node uses the default message template, defined as a property of the input node, to determine how the remaining message body must be parsed. - If a default message domain hasn't been specified on the input node, the BLOB parser is used. It is normal practice to use either the folder in the MQRFH2 header or the MQInput node to indicate to the message flow the characteristics of the message data. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ IY37844 - NNSYMESSAGELOG MUST BE ACCESSIBLE BY THE BROKER AND IN THE CURRENT DIRECTORY. Chapter 12: Migrating from MQSeries Integrator of the WebSphere MQ Integrator Administration Guide V2.1, GC34579206, Section: Migrating New Era of Networks Rules and Formats, Subsection: Logs and log records will be added to to specify that WebSphere MQ Integrator must have access to the New Era Messagelog file as follows :- Log records generated by all New Era of Networks Rules and Formatter Support nodes and parsers are written to the log file defined for the message flow in which the nodes appear. For details of how to specify a log file for a message flow, see WebSphere MQ Integrator Using the Control Center. The NEONMap, NEONRulesEvaluation, and NEONTransform nodes also write log information to the NNSYMessageLog.nml file. This file is created in the directory from which you issue the mqsistart command > and hence MQSeries Integrator must have write access to that > current directory. > The NEONMap, NEONRulesEvaluation, and NEONTransform nodes also write > log information to the NNSYMessageLog.nml file. This file is > created in the directory from which you issue the > mqsistart command. Note that the New Era log file is named NEONMessageLog.nml in MQSeries Integrator V2.0.2. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ IY37824 - WMQI ADMINISTRATION GUIDE IS MISSING DOCUMENTATION FOR MQSI_SETUPDATABASE SUPPORTING ORACLE9 The Websphere MQ Integrator Administration Guide V2.1, SC34-5792-05, Chapter 3: The broker, Topic: Creating a broker database, Section: Using Oracle or Sybase databases on UNIX platforms, will be updated to include instructions for creating an Oracle 9i database as follows :- In the SubSection: For Oracle 8.1.6 the command to issue to perform the required setup for Oracle 8.1.6 will be changed from: mqsi_setupdatabase oracle to: mqsi_setupdatabase oracle8 where is the directory in which Oracle 8.1.6 is installed. The SubSection: For Oracle 8.1.7 and Sybase will be changed to read as follows:- For Oracle 8.1.7, Oracle 9 and Sybase You are recommended to complete this setup after you have installed your database, but you can complete it before database installation if you specify the intended database installation directory correctly during this setup. You must issue the following command: mqsi_setupdatabase where is oracle8, oracle9, sybase 11, sybase12, or sybase12_5 depending on your database version and is the directory in which the database is (or will be) installed. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ IC35769 - DISCEPANICES AROUNDTHE COMPOUND STATEMENT AND CASE FUNCTION. The ESQL CASE statement function is incorrectly documented in the WebSphere MQ Integrator ESQL Reference, SC34592302, the WebSphere MQ Integrator CSD Release Guide, SC34619700, and the product README.TXT file. There is also an implication that there is an ESQL keyword/verb called "COMPOUND", which there is NOT. Future versions of the documentation will correct this. The README.TXT file which accompanies this maintenance has been updated. See point 95. ESQL CASE Statements, in The All Operating Systems section. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ PQ66774 - ASBITSTREAM FUNCTION IS NOT DOCUMENTED IN THE ESQL GUIDE FOR WMQI 2.1. The ASBITSTREAM function was not documented in the ESQL Guide or the README.TXT file which accompanied CSD03. The information will be included in any future release of the Guide and is included in the README.TXT file which accompanies CSD04. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ IY35159 - PROBLEM DETERMINATION GUIDE ON PAGE 39 STATES THAT HARD LIMIT FOR PROCESS ON AIX IS 512MB, HOWEVER IT IS USER DEFINED. The AIX hard limit size described in the WebSphere MQ Integrator Problem Determination Guide V2.1, GC34592000, Chapter 5, Dealing with problems during administration, Section: Configuration problems with a large number of components will be corrected and added to as follows :- AIX 4.3.3 and 5.1 For 32 bit system : 2 GB On AIX , WMQI limits DataFlowEngines to two 256MB memory segments i.e. 512MB. Normally DFE processes do not require more than 512MB of the AIX address space therefore the DataFlowEngine executable is linked so as to have a default address space of 2 segments. It is possible to extend the size of the AIX address space available to the DataFlowEngine process by increasing the number of 256MB memory segments available to it. This can be done by patching the executable. Using the following shell commands you can patch DataFlowEngine to use more memory segments. /usr/bin/echo '\0100\0\0\0'|dd of=executable_file_name bs=4 count=1 seek=19 conv=notrunc This creates a version of the DataFlowEngine which uses 4 segments, i.e. 1GB. NOTE: The above technique only overrides the soft limit, not the hard limit. If your broker processes regularly reach these sizes, consider spreading your messageflows across more execution groups to reduce the size of each one below these limits. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ IC34391 - DB2 INSTANCE PARAMETERS MAXAGENTS AND MAXAPPLS NEED TO BE SET The WMQI V2.1 documentation does not specify that the maxagents parameter needs to be set at the same time as the maxappls parameter. The following books will be amended to specify that the maxagents parameter needs to be set at the same time as the maxappls parameter. WebSphere MQ Integrator Administration Guide V2.1 (SC34579206), Chapter 3; The broker, Defining and authorizing a broker database, Creating a broker database, Broker database connections. WebSphere MQ Integrator Using the Control Center V2.1 (SC34560205), Chapter 5; Working with message flows, Creating a message flow, Managing database resources. WebSphere MQ Integrator Problem Determination Guide V2.1 (GC345920-01), Chapter 5; Dealing with problems during administration, Problems with databases, Message SQL1040N. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ IC30627 - EXPLANATION OF CARDINALITY FUNCTION IS INCOMPLETE AND INCONSISTENT IN USING THE CONTROL CENTER The examples supplied in the Using the Control Center manual are lacking and/or incorrect in clarifying how things actually work with regards to the Cardinality function and XML messages that contain pcdata, white space characters, attributes etc. The following information on the Cardinality function will be added to the WebSphere MQ Integrator Using the Control Center manual, SC34-5602-02, Chapter 16 - Concepts of XML messages :- WMQI V2 treats XML pcdata, attributes and sub-elements as children of the element. The ESQL Cardinality function returns the number of children of a parent in the message tree. This means it counts pcdata, attributes and sub-elements together, therefore when using the Cardinality function with XML messages that contain pcdata, white space characters, attributes etc. you need to distinguish what you are determining the Cardinality of. For example, to get the Cardinality of the number of elements (tags), you would replace .* with .(XML.tag) The MOVE statement will also navigate to such fields in an XML tree when dealing with FIRSTCHILD, LASTCHILD, PREVIOUSSIBLING and NEXTSIBLING. In CSD02 the TYPE and NAME clauses were added to allow target fields of a specific NAME or TYPE meaning that 'non-data' fields in the tree can be skipped over. The WebSphere MQ Integrator ESQL Reference V2.1 (SC34592302), Chapter 4; ESQL Statements, MOVE will be update to emphasise this point. The fourth paragraph currently states :- If a TYPE clause, NAME clause or both are present, the target is again moved in the direction specified (PREVIOUSSIBLING or NEXTSIBLING or FIRSTCHILD or LASTCHILD) but to a field with the given type, name or both. If the specified move cannot be made ....... This will be added to as follows :- If a TYPE clause, NAME clause or both are present, the target is again moved in the direction specified (PREVIOUSSIBLING or NEXTSIBLING or FIRSTCHILD or LASTCHILD) but to a field with the given type, name or both. This is particularly useful when the name and/or type of the target field is known because this will reduce the number of MOVE statements required to navigate to a field. This is because fields that do not match the criteria will be 'skipped' over, and this could also include unexpected message tree fields such as those representing whitespace. If the specified move cannot be made ........ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ PQ62125 - NEED DOCUMENTED GUIDELINES ON LOGGING 1GB LOB COLUMNS. The following information will be added to the WebSphere MQ Integrator for z/OS Customization and Administration Guide Version 2.1 (SC34-5919-01), Chapter 2; Customization, Customizing a broker, Step 7. Create the broker database p39 Considerations with WMQI usage of large objects in DB2 tables on z/OS. 1) DB2 needs to allocate auxiliary tables to hold large objects (LOBs). By default WMQI tables are created with CURRENT RULES = 'STD'. With this option set, DB2 implicitly defines a LOB table space, an auxiliary table and unique index for each LOB column (using default sizes). The default sizes of these tables may be too small for your particular requirements. This can mean that the maximum number of extents for the table space is quickly used up. If these tables have large and frequent updates the BIPDBTB member in the CNTL library for the broker should be edited as follows :- 1.1) The line SET CURRENT RULES = 'STD'; should be commented out 1.2) For all tables using LOB columns, including the following tables :- BSUBSCRIPTIONS, BRETAINEDPUBS, BACLENTRIES, BMQPSTOPOLOGY, BROKERAAEG, BROKERRESOURCES, BRMRTDINFO, BRMPHYSICALRES and BAGGREGATE a) Add a ROWID column to each of the create table definitions. e.g. ROW_ID ROWID NOT NULL GENERATED ALWAYS; b) Create a table space and table to hold the LOB data. The table space and table are called a LOB table space and an auxiliary table. One LOB table space and one auxiliary table must be created for each LOB column. Create these objects using the CREATE LOB TABLESPACE and CREATE AUXILIARY TABLE statements. For the create table space statement the following should be taken into consideration. PRIQTY n Specifies the minimum primary space allocation for a DB2-managed data set. The primary space allocation is at least the integer n in kilobytes, the actual value will vary depending on the page size for the buffer pool used. If PRIQTY is omitted, n is 200, 400, 800, or 1600 for 4KB, 8KB, 16KB and 32KB page sizes, respectively. SECQTY n Specifies the minimum secondary space allocation for a DB2-managed data set. The secondary space allocation is at least the integer n in kilobytes. This will again vary with respect to the page size for the buffer pool used. If SECQTY is omitted, n is either 10% of PRIQTY or 50 times the page size of the table space, whichever is larger. c) Create an index on the auxiliary table. The DSNTEJ7 sample shipped with DB2 demonstrates the above. For existing brokers a DB2 utility tools such as RUNSTATS and REORG can be used on the default named table spaces to increase the primary and secondary quantities respectively. 2) LOBs defined with a maximum size of > 1GB are not logged by DB2. This means that if you restore a backup copy of a database with LOBs > 1 GB, DB2 will not recover changes to that table at restart. To log changes to LOB columns you will need to reduce the size of the LOB column to less than or equal to 1 GB and specify LOG YES on the CREATE LOB TABLESPACE statement. Be aware that this may affect the performance of the updates to these tables. If you do not wish a LOB column to be logged, that is not greater than 1 GB, you will need to specify LOG NO for the table space concerned. Migration from an existing broker to one that supports logging of LOB columns will require the recreation of the broker. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ IC29837 - COMMIT BY GROUPID DOCUMENTATION NOT CLEAR ABOUT ROLLBACK A third bullet point will be added to the WebSphere MQ Integrator Introduction and Planning Guide, Version 2.1 (GC345599-04), Part 2. Business process planning, Chapter 4. Message flows, What is a message processing node?, Error Handling, to clarify Commit By GroupId, specifically when messages are being processed as part of a message group, as follows:- o If the message was being processed as part of a message group: When handling a message flow error for a message that is part of a message group, then the previous two points apply for the current message being processed. However, consideration must be given to the messages that have already been processed in the message group, and those that have not yet been processed in the group. The first point to note is that the use of "Commit by GroupId" on the MQInput node is not synonymous with a Unit of Work. When this option is selected this will lead to a commit being issued when the last message in the message group has been processed. If an error is encountered part way through the group then the message flow error handling paths will be invoked for this particular message as documented above. This error processing could lead to a Backout being issued for the current Unit of Work. Even when using "Commit By GroupId", it would have been necessary to specify whether each preceding message was participating in the Unit of Work using the standard transactional control. Those group messages processed as part of the Unit of Work prior to the backout, will be backed out and be sent to either the backout queue, dead letter queue, or Input queue dependent on the possible configurations documented above. Irrespective of which of these is done, there may be remaining group messages on the MQInput queue that can still be processed by the message flow. If no extra group error handling has been implemented, then these remaining messages will be retrieved by the message flow, and processed in a new Unit of Work. When the last message in the group is encountered and the "Commit by GroupId" has been selected, then a commit will be issued. This presents a situation where part of the group has been backed out and part has been committed, these being divided by failing messages. Hence, "Commit by GroupId" is not synonymous with Units of Work when an error occurs for one of the group messages which leads to a rollback. To cope with this scenario, extra error handling routines should be added to the message flow so that failing message groups can be logged. This could be done in a database table, and when a group message is retrieved, the table can be examined to see if this group had failed at some point, allowing appropriate actions to be taken. This combined with standard backout processing would allow a message group to be processed in a similar fashion to a Unit of Work. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ IY29461 - ADD TO DOCUMENTATION THAT IT IS NECESSARY TO HAVE A MATCHING CALL CNIDELETEMESSAGE IN A CUSTOM NODE IF THERE IS A CNICREATEMESSAGE A matching call to cniDeleteMessage is required for every call to cniCreateMessage, otherwise a memory leak will occur. The following information will be added to the MQSeries Integrator Programming Guide, SC34-5603-01, regarding the use of cniCreateMessage(). In Chapter 6, Implementing a plug-in node or parser; Implementing a message processing node; Build an output message, a note will be added to the end of the second paragraph (The input message is read-only ......... syntax element navigation and access.) as follows:- Note that the copy of the input message created by the cniCreateMessage function must be deleted by a matching call to the cniDeleteMessage function after the message has been propagated, or during cleanup processing after an exception has been thrown. This will ensure resources allocated by cniCreateMessage are returned. In Chapter 8, Node implementation and utility functions; Node utility function interface; the description for the cniCreateMessage function will include a reference to the cniDeleteMessage function, as follows:- Note that for every call to this function, there should be a matching call to cniDeleteMessage to return allocated resources once the processing on the output message has been completed. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ PQ60310 - 0C1 ABEND WHEN STARTING WMQI DATAFLOW ENGINE The Websphere MQ Integrator, Problem Determination Guide V2.1, GC34592000, Chapter 5, Dealing with problems during administration, Problems with starting resources, will have the following information added :- Problems with starting resources Abend code 0C1 when trying to start data flow engine on z/OS Scenario: The first two WebSphere MQ Integrator address spaces start successfully, but the third address space (the data flow engine) fails to start. The result is an 0C1 abend. The dataflow engine address space is spawned from the admin agent. If the region size is too small, either because an insufficient region size was specified in the procedure, or the region size was overridden by the OS/390 IEFUSI exit, the data flow engine address space might fail to start and fail with an 0C1 abend. Check this by using IPCS on the dump (moving it from the HFS to a traditional MVS dataset if required) by issuing the IPCS command: verbx vsmdata,'noglobal,jobname(vcp0brk2)' where vcp0brk2 is the name of the failing job. Find 'VSM LOCAL DATA AREA AT ADDRESS '. The field ELIM gives the available region size, and should be greater than 0C800000. If the field SMFEL is not ffffffff, the IEFUSI exit has changed the allowable region size. This value should also be greater than 0C80000. If you have an IEFUSI exit, you need to check that the exit does not limit the broker address spaces. For example, a commonly-used field is OUCBSUBN. This can be STC or OMVS for the broker and indicates how the address space was started. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ IC33120 - IMPROVE DOCUMENTATION ON THE NEW BEHAVIOUR OF PARSERS The WebSphere MQ Integrator Working with Messages V2.1 book, SC34-6039-01, Chapter 2. Parsers, Section: How a Message is interpreted, SubSection: Using the supplied input nodes and parsers will be updated with the following new information before the paragraph that starts 'If you set up the message headers or the input properties of a supplied .... ' At this point the selected parser is assigned to the message body, however, for performance reasons, the bitstream is not parsed. The message body will actually be parsed when a reference is first made to it during the message flow. For example, this will occur during the use of Root.XML.Field or Root.MRM.Field etc (or InputRoot.XML.Field when in the compute node) and therefore depending on paths taken in the flow, this parse could take place at different points. This "parse when first needed" approach is different to the V2.0.x versions of the product, but in normal processing the logic of a message flow will be unchanged. However when considering error handling for invalid messages the following should be observed: - If the input message is not referenced in a message flow, then it will not be parsed. This means that an invalid message can be processed and written out untouched by the message flow, with no parser errors occurring. - A parser error will be thrown at the point the message is first parsed and therefore error handling paths should be wired appropriately. For example, a ResetContentDescriptor node that changes the owning parser will not cause an immediate parse of the message by the new parser. Therefore connecting the failure terminal of this node will not handle any parser errors that may be generated. - A trace node that specifies ${Root} and ${Body} will cause a full parse of the message. Therefore the insertion of a trace node for debugging purposes will cause parser errors that may not be generated otherwise. - A check node cannot be used to parse and validate input messages. This node is used to check the current owning parser, not message validity. The WebSphere MQ Integrator Using the Control Center V2.1 book, SC34-5602-05, Appendix A: The IBM Primitive nodes, Section: ResetContentDescriptor node will be changed as follows:- The first paragraph currently reads : The ResetContentDescriptor node takes the bit stream of the input message and reparses it using a different message template and either the same or a different parser. The node can reset any combination of message domain, type and format. This will be changed to the following : The ResetContentDescriptor node takes the bit stream of the input message and will request that it be reparsed using a different message template and either the same or a different parser. The node can reset any combination of message domain, type and format. The bitstream will not be parsed by the new combination until a reference is made to the message body later in the flow. The third paragraph currently reads : The format of an incoming message might be unknown when it enters a message flow, so the BLOB parser is invoked. Later on in the message flow, you might decided that the message is defined in the MRM format and you can use the ResetContentDescriptor node to reparse the message using the MRM parser. This will be changed to the following : The format of an incoming message might be unknown when it enters a message flow, so the BLOB parser is invoked. Later on in the message flow, you might decided that the message is defined in the MRM format and you can use the ResetContentDescriptor node to cause the reparse of the message using the MRM parser. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ IC33040 - INSUFFICIENT DETAIL ON IMPLEMENTING THE PASSTHRU FUNCTION. Description of the PASSTHRU statement, previously described in the MQSeries Integrator, Using the Control Centre manual, SC34560200, and now described in the WebSphere MQ Integrator ESQL Reference guide, SC34-5923-02, will be expanded in Chapter 4; ESQL statements, as follows: If two or more other parameters are passed, each parameter is bound to the corresponding question mark in the statement string: that is, the first parameter is bound to the first question mark, the second parameter is bound to the second question mark, and so on. The question marks are processed as parameter markers in a prepared SQL statement by the DBMS. This means that if you are passing values to functions in the DBMS you will have to be sure to have appropriately typed your parameter markers. For example, in DB2 a parameter marker would be cast as follows: SET OutputRoot.XML.Result.Data = PASSTHRU('SELECT * FROM user1.stocktable where time=TIMESTAMP(CAST(? as TIMESTAMP)), '1999-12-31-23.59.59.999999'); ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ SPECIAL INFORMATION ------------------- PLEASE REVIEW THE README.TXT FILE WHICH HAS BEEN UPDATED IN THIS MAINTENANCE RELEASE. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ IY38894 - BIP2322E AND BIP8040E ERRORS WHEN MIGRATING A V201 BROKER USING AN ORACLE BROKER DATABASE TO V202/V210. There is a known problem on AIX and HP/UX when migrating V201 brokers that use Oracle for the broker database to V2.0.2 or V2.1. The following errors may be reported when running the mqsicreatebroker command to create a temporary broker to upgrade the broker database:- BIP2322E: Database Error: SQL State IM003 Native Error Code 80 Error Text 'Specified driver could not be loaded'. BIP8040E: Unable to connect to the database. This occurs because the Driver parameter in the /var/mqsi/odbc/.odbc.ini file for the Oracle ODBC Data Source Name specified in the mqsicreatebroker command references the Merant Oracle Driver that shipped with V2.0.1. To rectify this problem it is necessary to amend the parameter for each Oracle Data Source used by MQSI brokers to reference the relevant Merant Oracle Driver that ships with V2.0.2 or V2.1. This involves replacing the reference to UKor815 with UKor816. For example, on AIX change Driver=/usr/opt/mqsi/merant/lib/UKor815.so to Driver=/usr/opt/mqsi/merant/lib/UKor816.so on HP/UX change Driver=/opt/mqsi/merant/lib/UKor815.sl to Driver=/opt/mqsi/merant/lib/UKor816.sl ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 29862 - Merant driver updates CSD05 includes a new version of the DataDirect Technology (formerly Merant) ODBC Driver Manager. Changes MUST be made to the ODBCINI file entries and to any user compiled switch load files that use the number '16' files. All entries containing the number '16' MUST be changed to the number '18'. See below for details. Switch load files supplied by WebSphere MQ Integrator will be updated automatically by application of CSD05. Note that the value for LANG should be set to C or en_US While the number '16' files will remain there will be no further updates to them. ODBC fixes will only be supplied on the number '18' files. AIX, Solaris and HP-UX. ----------------------- The ODBCINI file. ----------------- DB2 (on AIX only). ----------------- The name of the DB2 driver used has also changed from db2.o to libdb2.a . The file pointed to by your $ODBCINI environment variable and any other user built files using db2.o will need to be changed . For example change Driver=/db2data/db2inst1/sqllib/lib/db2.o to Driver=/db2data/db2inst1/sqllib/lib/libdb2.a where /db2data/db2inst1 is the DB2 instance home on your machine ORACLE and SYBASE. ------------------ WMQI V2.1 CSD05 includes a new version of the DataDirect Technology (formerly Merant) ODBC drivers and Driver Manager. The driver files supplied by DataDirect have changed name from drivers containing the number '16' to the number '18'. Changes MUST be made to the file refrenced by your $ODBCINI environment variable . All entries containing the number '16' MUST be changed to the number '18'. On AIX change Driver=/usr/opt/mqsi/merant/lib/UKor816.so to Driver=/usr/opt/mqsi/merant/lib/UKor818.so and Driver=/usr/opt/mqsi/merant/lib/UKase16.so to Driver=/usr/opt/mqsi/merant/lib/UKase18.so On Solaris change Driver=/opt/mqsi/merant/lib/UKor816.so to Driver=/opt/mqsi/merant/lib/UKor818.so and Driver=/opt/mqsi/merant/lib/UKase16.so to Driver=/opt/mqsi/merant/lib/UKase18.so On HP/UX change Driver=/opt/mqsi/merant/lib/UKor816.sl to Driver=/opt/mqsi/merant/lib/UKor818.sl and Driver=/opt/mqsi/merant/lib/UKase16.sl to Driver=/opt/mqsi/merant/lib/UKase18.sl The qm.ini file. ---------------- Brokers using MQSeries queue managers that are performing XA coordination with Sybase or Oracle on AIX or Solaris will need their XA stanzas in the queue managers qm.ini file altered to use the '18' files instead of the '16' files. On AIX change SwitchFile=/usr/opt/wmqi/merant/lib/UKor8dtc16.so to SwitchFile=/usr/opt/wmqi/merant/lib/UKor8dtc18.so and SwitchFile=/usr/opt/wmqi/merant/lib/UKase16.so to SwitchFile=/usr/opt/wmqi/merant/lib/UKase18.so On Solaris change SwitchFile=/opt/wmqi/merant/lib/UKor8dtc16.so to SwitchFile=/opt/wmqi/merant/lib/UKor8dtc18.so and SwitchFile=/opt/wmqi/merant/lib/UKase16.so to SwitchFile=/opt/wmqi/merant/lib/UKase18.so There are no changes needed on HPUX for qm.ini. WINDOWS ------- Oracle and Sybase. ------------------ ODBC definitions. ----------------- WMQI V2.1 CSD05 includes a new version of the DataDirect Technology (formerly Merant) ODBC drivers and Driver Manager. The driver files supplied by DataDirect have changed name from drivers containing the number '16' to the number '18'. You MUST need recreate the ODBC definitions for your databases so as they use the following drivers. For Oracle use the "MQSeries DataDirect Technologies 4.10 32-BIT Oracle" driver For Sybase use the "MQSeries DataDirect Technologies 4.10 32-BIT Sybase" driver XA Resource definitions ----------------------- Brokers using MQSeries queue managers that are performing XA coordination with Sybase or Oracle will need to have their resource properties modified to use the new DataDirect dlls. Change $MQSI\bin\UKor8dtc16.dll to $MQSI\bin\UKor8dtc18.dll and $MQSI\bin\UKase16.dll to $MQSI\bin\UKase18.dll where $MQSI is the place where WMQI V2.1 is installed. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ IC35512 - UPDATE TO DOMAIN SECURITY AND AWARENESS DOCUMENTATION. Problems have been experienced concerning the use of extended domain security options, specifically domain awareness and the -l and -d options, when creating the Configuration Manager. The changes to the domain security function have been explained in the readme.txt file (accompanying this maintenance release) in the Documentation section, subsection: Updates, point 1, Using Fully Qualified User Names for Control Center Users. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ SupportPac IA0F: WebSphere MQ Integrator - IDoc parser for SAP The IDoc SupportPac, IA0F, was included in the product from CSD03 onwards. This SupportPac contains a set of parsers which add support for parsing of input messages and creation of output messages in the SAP IDoc Version 4 format. The IDoc parser represents incoming data to WebSphere MQ Integrator in a format that the Integrator compute node can manipulate. It also allows data of a different format to be mapped to an IDoc stream. For more information, see the support pack IA0F documentation at www.ibm.com/software/integration/support/supportpacs/individual/ia0f.html ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ WebSphere MQ Everyplace 1.2.7 nodes The WebSphere MQ Everyplace nodes (1.2.7) supported in WebSphere MQ Integrator V2.1 can be obtained via the Level 2 Service organisation at http://l3.hursley.ibm.com/ftp/fixes/MQe/ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Migration from previous levels to CSD04 The redundant validate checkbox has been removed from the Advanced tab of the input nodes in CSD04. Therefore, when migrating flows developed pre-CSD04, ensure the validate check box on the Advanced tab of all input nodes is unchecked. Failure to do this will result in BIP1758 error messages during a deploy of message flows containing such nodes. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 28704 - Merant Driver Manager update Support for DB2 UDB Version 7.1 FixPak 2 or later on UNIX. The DB2 flash 1042663 - "Merant Driver Manager and DB2 UDB V7 ODBC driver on Unix" described incompatibilities that had been encountered with Unicode support when the Merant Driver Manager accessed DB2's ODBC driver on UNIX. The affected versions of DB2 UDB included Version 7.1 with FixPak 2 or later, and Version 7.2. The workaround was to use an alternative DB2 ODBC driver library without Unicode support enabled. CSD04 includes a new version of the DataDirect (formerly Merant) Driver Manager which has removed the need for the workaround documented in the above DB2 flash. If your DB2 database is running on HP-UX or Solaris you will need to remove the above workaround to enable this support. If your DB2 database is running on AIX you will need to remove the above workaround and also change the DB2 Driver entry in your .odbc.ini file from : Driver=/db2data/db2inst1/sqllib/lib/db2.o to : Driver=/db2data/db2inst1/sqllib/lib/libdb2.a ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ IC34394 - MQOUTPUT NODE ABENDS WHEN WRITING AGGREGATED REPLY MESSAGE This is resolved in CSD04 however if the problem has already been encountered the BAGGREGATE table of the broker database will contain records which MUST BE DELETED after applying CSD04 and BEFORE STARTING THE BROKER. Failure to do this will prevent the fix taking effect and errors will be reported in the system log indicating 'failure due to invalid MQMD header at MQOUTPUT node'. If this problem has not been encountered these entries will not be present in the BAGGREGATE table and no further action is required. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ IC33207 - SILENT INSTALL FOR CSD FAILS The problem with the backup folder has now been resolved. For information on how to perform a silent install of a CSD see Chapter 3; Installing Websphere MQ Integrator; Silent Installation, of the Websphere MQ Integrator for Windows NT and Windows 2000 Installation Guide Version 2.1, and use the maintenance CD instead of the product CD. Note that to perform a silent install of a CSD downloaded from the web perform the following actions. To create the response file change to the directory where the CSD .exe file has been stored and run the following command :- U200nnn.exe -s -a setup.exe -noinst -r -f1x:\mypath\my.iss Where U200nnn is the PTF number of the CSD being loaded and x:\mypath\my.iss is the target drive for the response file being recorded To perform the silent install run the following command:- U200nnn.exe -s -a setup.exe -nomsgbox -s -f1x:\mypath\my.iss ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Migration from CSD02. In order to activate new options within the Control Center, the Config Manager must be deleted and re-created. This is done as follows 1) Stop the Config Manager mqsistop ConfigMgr 2) Delete the Config Manager preserving the configuration and message repository. mqsideleteconfigmgr Use no options on this command. 3) Re-create the Config Manager mqsicreateconfigmgr Use all the options that were used when the Config Manager was last created. 4) Start the Config Manager mqsistart ConfigMgr 5) Restart the Control Center and the new options will be available. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ IC30970 - GLOBALLY CO-ORDINATED FLOW INVOKING NEON PARSER CAUSE XA PROBLEM LEAVING DB INVOLVED IN A TRANSACTION LOCKOUT. This problem has been resolved by introducing a new environment variable, MQSI_NNSY_XA. If it is not set there is no change in operation i.e. one connection per process and New Era nodes connect to the database themselves. If it is set to anything AND we are using DB2, then xa support is enabled, i.e. we have one database connection per thread and we connect to the New Era database on their behalf. This environment variable changes the connection to the New Era database from a per process to a per thread basis. As each connection has it's own cache of rules and formats it is expected that memory usage will increase. For further information see the entry in the NEW ERA OF NETWORKS INFORMATION section of this file. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ To use WebSphere MQ Integrator on a Solaris machine in Simplified Chinese in zh locale you should modify the sample profile as shown below. If you are using zh.GBK locale, there is no need for you to modify the sample profile. NLSPATH=/usr/lib/locale/%L/LC_MESSAGES/%N:$NLSPATH; /opt/wmqi/messages/Zh_CN/%N:/opt/wmqi/messages/%N LANG=zh LC_ALL=zh export NLSPATH LANG LC_ALL Alternatively you may set up symbolic links to the message catalogue files in /opt/wmqi/messages/Zh_CN from /usr/lib/locale/zh/LC_MESSAGES if you wish to avoid changing the NLSPATH environment variable. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ CSD02 introduces the concept of prefixed identifiers for MRM elements. Refer to the Working with Messages book, Chapter 4 section "Names and Identifiers" for full details. If this concept is exploited, you must ensure that all components of your WMQI domain are upgraded to CSD2, that is, your Configuration Manager, all Control Centers, and all brokers to which a message set containing such elements is to deployed. Failure to upgrade in this manner will result in parse errors in the broker. Please note also that the DTD Importer functionality of the Control Center exploits prefixed identifiers, so if this is used to populate message sets then the upgrade stated above must be performed. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ IC32427 - V201 AND V202 TO V2.1 MRM MIGRATION AND COEXISTENCE WMQI V2.1 contains a major upgrade to MRM capability. As a result of this upgrade, the format of the message dictionary that flows from the Configuration Manager to brokers during a deploy operation has changed compared with MQSeries Integrator V2.0.x. Migration details are in the Administration Guide, chapter 12. Please note the following additional information: Importing 2.0.x message sets into a 2.1 Configuration Manager. When importing 2.0.x message sets into the 2.1 Configuration Manager you may choose to create a default XML wire format layer. This additional layer allows a 2.1 broker to process application messages that specify a message domain of 'MRM' and a message format of 'XML'. You create the layer by adding the '-x XML' option to your mqsiimpexpmsgset command line. You may specify any valid name for the new layer, but for compatibility with existing messages and message flows you must use 'XML'. If you do not migrate your Control Centers, Configuration Manager and all brokers in the domain to WMQI 2.1 at the same time, then you must be aware of the following extra information that applies to co-existence scenarios: A 2.1 Configuration Manager may co-exist with 2.0.1 and 2.0.2 brokers, as long as message sets assigned to the 2.0.x brokers do NOT exploit the new messaging functionality available in 2.1. This is the recommended co-existence scenario. In order to implement this scenario, you must perform the following steps: 1) Apply the fix for APAR IC32427 to all the 2.0.x brokers in the domain. 2) Migrate the existing 2.0.x Configuration Manager to V2.1 and apply cumulative maintenance zero to the 2.1 Configuration Manager. Once the first step is complete you will still be able to administer your brokers using the 2.0.x Configuration Manager. After you complete the second step you will be able to add 2.1 brokers to the domain. If the message set does exploit new MRM function, the deploy to a 2.0.x broker will fail with a BIP5293 message. Function that can cause this error includes: - Types with composition other than 'ordered set' and 'unordered set'. - Types with context other than 'open'. - Types with Types as members. - Types with Messages as members. - Simple Types other than 'binary', 'boolean', 'float', 'integer', and 'string'. - Type Members of type 'string' with no maximum length specified. You may specify the maximum length by adding an Element Value Constraint with the role of Max Length. - Types with a value. If your Compound Type has a value, there will be a 'Type' field shown on the main properties page for the type, below the 'Suspended from Use' field. A 2.0.1 or 2.0.2 Configuration Manager may co-exist with 2.1 brokers. Note that this co-existence scenario is NOT supported for application messages that specify a message domain of 'MRM' and a message format of 'XML'. In order to implement this scenario you must perform the following steps, IN THIS ORDER: 1) Apply the fix for APAR IC32427 to all the 2.0.x brokers in the domain. 2) Apply the fix for APAR IC32427 to the 2.0.x Configuration Manager. 3) Apply cumulative maintenance zero to 2.1 brokers, and add them to the domain. Once the first step is complete you will still be able to administer your existing brokers using the 2.0.x Configuration Manager. If you apply the fix for APAR IC32427 to the 2.0.x Configuration Manager before applying the fix to the 2.0.x brokers then message sets may fail to deploy. If the failure occurs, BIP5145 and BIP5280 messages will be reported by the broker. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ NEW ERA OF NETWORKS INFORMATION ------------------------------- The installation of the New Era of Networks (NEON) component may have altered the permissions of the /usr and /usr/lpp directories to 777. The new /usr/lpp/neonsoft directory that is used for the NEON component and some of its subdirectories may also have been given the same 777 permission. If security is a concern review the permissions on these directories and change as required. To restore the default permissions on /usr and /usr/lpp use: chmod 755 /usr chmod 755 /usr/lpp CSD05 ===== Contents: Part 1: General Issues Part 2: New Era of Networks Formatter Issues Part 3: New Era of Networks Rules Issues Part 4: Visual Tester Part 5: Documentation Issues ==================================================================== Part 1: General Issues ==================================================================== CR # 253551, 287258 APAR # IY37844 - NNSYMESSAGELOG MUST BE ACCESSIBLE BY THE BROKER AND IN THE CURRENT DIRECTORY. Problem: The NNSYMessageLog.nml file is not being created or written causing DFE to terminate. Resolution: Create and Write permissions must be granted to the UserId in the directory where the broker is started. -------------------------------------------------------------------- CR # 254087 APAR # IY24156 - INST_DB NOT RETURNING THE UNDERLYING ORACLE ERROR CODE Problem: This is a known inst_db problem. Because of how inst_db uses the DBTIL component and how DBTIL stores errors internally, the application does not report native database vendor errors during failed connections. Work-around: Do the following: 1. Upon receipt of a generic error from inst_db, assume some sort of login failure. 2. Then use vendor-specific interactive SQL tools to troubleshoot the source of the login failure. -------------------------------------------------------------------- CR # 275130, 296735 APAR # IY35755 - REFORMAT FAILS TO FIND INPUT DATA - NEONTRANSFORM ENGINE FAILS TO TRANSFORM A MESSAGE Problem: Repeating Alternative Output formats sometimes are unable to map all parsed input data. Resolution: The code has been adjusted to prevent this from happening. Repeating Alternative Output formats now work properly. -------------------------------------------------------------------- CR # 299402 APAR # IC34947 - APAR IC34947 NNSY NODES/PARSER NOT PICKING UP THE CCSID OF THEMESSAGE FROM THE FLOW - MQMD.CCSID Problem: There is a problem with an WMQI 2.1 message flow. It does the following: 1) An input Node that sets the Message Domain to NEON and sets a Message type and format which then parsers the message. 2) The header gets removed. 3) The NEON fields are taken and an XML output is created. 4) The data is then output on a queue. Resolution: A correction was made to the wrapper code for the New Era API. The MQSI 2.1 message flows now operate properly. --------------------------------------------------------------------- CR # 296422 APAR # PQ66950 - MEMORY LEAK WHEN USING THE NEON FEATURE OF WMQI. Problem: On OS/390, the WMQI Broker runs out of memory after processing about 10,000 messages. Resolution: INFR was adjusted to correct the problem. --------------------------------------------------------------------- CR # 303392 APAR # IC35410 - MQSI THROWS NEWERAON FORMAT EXCEPTION AS SETERROR ALWAYS IGNORES NN_ERSTATUS_OK (0), CHANGING IT TO NN_ERSTATUS_ERROR (-1) Problem: The intended usage for NNExitRet::SetError was when user exit routines are in an error state. SetError allowed an informative error message to be logged before the user exit erred out. Passing a message in with NN_ERSTATUS_OK is assumed to be a mistake, and SetError changed NN_ERSTATUS_OK to NN_ERSTATUS_ERROR silently. Resolution: The new behavior is: * SetError allows logging of true error messages if passed with NN_ERSTATUS_ERROR * SetError allows logging of messages in non-error situations if passed with NN_ERSTATUS_OK * SetByteArrayValue will clear all NN_ERSTATUS_ERROR messages, but not NN_ERSTATUS_OK (debug) messages ==================================================================== Part 2: New Era of Networks Formatter Issues ==================================================================== CR # 277090 PMR # 69192 Problem: NNFie does not properly export some output controls, causing a failure to occur. Resolution: The SQL was fixed to properly export Substitute output controls. -------------------------------------------------------------------- CR # 290523 APAR # IY38886 - ZERO LENGTH MSGS ON OUTPUT Q WHEN LOGLVL=3 Problem: On AIX, the Log Level setting #3 corrupts the broker behavior. Resolution: The Message Logging code was fixed to properly handle all the levels. -------------------------------------------------------------------- CR # 290843 APAR # IC34564 - 'USED IN' DOES NOT SHOW CORRECTLY FOR THE LITERAL THAT HAS % SIGN IN IT Problem: Formatter GUI does not display Output Controls in the Used In list. Resolution: The code was modified and now Output Controls appear on the list. -------------------------------------------------------------------- CR # 296377 APAR # IC35605 - INCORRECT OUTPUT DATA LENGTH WHEN THERE IS NO VALID DATA CAUSES A MESSAGE TO FAIL - NNSY. PMR # 42404 Problem: Output fields with effective length zero were being handled incorrectly. They appear in output messages when running under the WMQI 2.1 Broker. Resolution: The code was changed to properly handle length zero output fields. -------------------------------------------------------------------- CR # 296736 APAR # IY38935 - IN RULES EXPORT FILES AN EXTRA SPACE AFTER AN EXIST OPERATOR IN RULES EXPRESSION,CAUSES A CONFLICT IN NNRIE PMR # 43909 Problem: NNFie has trouble importing STRING literals. On a second import of the same NNFie file, conflicts are reported incorrectly. Resolution: The code was changed to fix the reading of literals type (STRING/BINARY) from the database on non-Windows platforms. -------------------------------------------------------------------- CR # 298811 APAR # IY39051 - ALTERNATIVE FORMAT DOES NOT FIND IT'S INPUT DATA Problem: When migrating from versions 4.11 to 5.6, data loss occurs and missing sections appear within repeating alternative components. Resolution: A change was made to allow processing of controlling fields that appear within a repeating alternative. -------------------------------------------------------------------- CR # 302048 PMR # 07912 Problem: NNFie fails to import some files from MQSI 1.1. Resolution: A message handling error caused the incorrect failures and was fixed. -------------------------------------------------------------------- CR # 304880 APAR # IC35605 - INCORRECT OUTPUT DATA LENGTH WHEN THERE IS NO VALID DATA CAUSES A MESSAGE TO FAIL - NNSY. PMR # 42652 Problem: Trim and codepage problems occur with output messages on the NEONEval node. Resolution: The code was changed to properly handle length zero output fields. ==================================================================== Part 3: New Era of Networks Rules Issues ==================================================================== CR # 275544 APAR # IC33620 - RULES EXPRESSION CHANGES WHEN IT IS APPLIED PMR # 90880 Problem: When clicking on the 'Apply' button in the Rules GUI, the expression changes, resulting in a extra set of parentheses and the | (pipe) changing to an & (ampersand). Resolution: The code was fixed to correctly parse expressions when you use additional parentheses in your expression. -------------------------------------------------------------------- CR # 290252 APAR # IC35428 - RE-EVALUATED RULE DOES NOT GET HIT Problem: Certain functions that are valid under OldNodes processing such as Re-evaluate and TagSearch do not work under the NewNodes version. Work-around: Use the OldNodes processing for functions that do not work under NewNodes. -------------------------------------------------------------------- CR # 294240 APAR # IC35013 - ERROR VIEWING THE PROPERTIES OF A RULE CONTAINING FORMATS WITH FIELDS THAT DO NOT START WITH AN ALPHANUMERIC CHARACTER Problem: Field names beginning with a character other than alphanumeric causes the Formatter GUI to error. Resolution: The code was adjusted to allow for special characters. -------------------------------------------------------------------- CR # 296736 APAR # IY38935 - IN RULES EXPORT FILES AN EXTRA SPACE AFTER AN EXIST OPERATOR IN RULES EXPRESSION,CAUSES A CONFLICT IN NNRIE PMR # 43845 Problem: Some Rules export files have an extra space after an EXIST operator in the Rules expression. This space is trimmed before the data is imported, but it causes a conflict in NNRie. Resolution: The program now trims trailing spaces from the Rules expression when the data is imported. --------------------------------------------------------------------- CR # 297111 APAR # IY38799 - RULESET AND ADDED AGAIN AS A 'FORMATTER' MESSAGE TYPE. Problem: When you create a Rules message type that has the same name as a Format even when the message type is deleted from a Ruleset and added again as a Formatter message type, it continues to show as a Rules message type. Resolution: The product now checks to see if the message type is in a Ruleset: - If it does exist in a Ruleset, an error message is generated and you will need to delete it and add one with a different evaluation type. - If it does not exist in a Ruleset, the Evaluation Type changes to the type of the newly added message type. -------------------------------------------------------------------- CR # 299233 APAR # IY38713 - THE MQMD FORMAT IS BLANK, PROCESSING A MESSAGE USING A NEONRULESEVALUATION NODE. Problem: When a message is processed using a NEONRulesEvaluation node, the output message does not contain the expected value set in the MQMD format of its Subscription option. The MQMD Format is blank. Resolution: The MQMD format field is now being populated. ==================================================================== Part 4: Visual Tester ==================================================================== CR # 296737 APAR # IC35084 - INPUT CONTROL SET AS REGULAR EXPRESSION + DELIMITER CAUSES APITEST/VISUAL TESTER TO TERMINATE Problem: When an input control is incorrectly set as Regular Expression + Delimiter instead of just Delimiter, apitest and Visual Tester terminate abnormally. Resolution: The code was adjusted and now checks for a NULL Regular Expression before trying to use it in an error message. ==================================================================== Part 5: Documentation Issues ==================================================================== CR # 260215 - System Management Guide CMVC # 20626, NN406I - Missing Insert Problem: The location of the NNSYMessagelog.nml file is not indicated in the current documentation. Resolution: On Unix The NNSYMessageLog.nml file is written to the current working directory at application startup. For broker logging, this file is written to the current directory when mqsistart was issued. For migration and test utility logging, such as msgtest, NNFie, and NNRie, the NNSYMessageLog.nml file is written to the current working directory. On Windows NT For broker and Control Center logging, the NNSYMessageLog.nml file is written to \bin where wmqi_inst_loc is the location of the WebSphere MQ Integrator installation; for example, "C:\Program Files\IBM\WebSphere MQ Integrator 2.1". For migration and test utility logging, such as msgtest, NNFie, and NNRie, the NNSYMessageLog.nml file is written to the current working directory. -------------------------------------------------------------------- CR # 273641 - System Management Guide CMVC # 25353 - Decimal Values Are Allowed in a Numeric Field Problem: If you define an input control field with a data type as Numeric, New Era of Networks Formatter parses with decimal values that are inconsistent with the Numeric data type information described on pages 171, 180, 186, 187 of the System Management Guide. The SM Guide states: "NUMERIC data types only support characters (0-9) and do not support decimals. While an error might not occur with decimals, the decimals may be ignored and the number will be truncated to a whole number. Resolution: When using the Numeric data type in your input or output control definitions, observe the following additional guidelines: Input Control Definition Guidelines - If you define an input control field value as a decimal, New Era of Networks Formatter will not fail to parse. Output Control Definition Guidelines - If you want the decimal portion of the input date to appear in an output message, select N/A or String as the data type in your output control definition. New Era of Networks Rules will ignore the decimal portion of the input data. - If you do not want the decimal portion of the input date to appear in an output message, select Numeric as the data type in your output control definition. ---------------------------------------------------------------------- CR # 275197 - System Management Guide PMR # 89584 Problem: The following section of information is missing from the WMQI V2.1 System Management Guide. Resolution: Include the following information in the WMQI V2.1 System Management Guide. Assigning Permissions To assign permissions, you must create more than one user in your database. In Oracle The following procedure describes how to create database users in Oracle. To access WMQI databases, users must be created and associated with the user role that was created during the WMQI installation. The process for creating users in Oracle includes: - Creating users - Granting roles to users - Creating synonyms for database objects Creating Users You must create users to identify individual user names in the database. To create a user, type the following command and press ENTER. create user identified by ; where USERNAME and PASSWORD are required parameters. Granting Roles to Users To give users permissions to access the database data, you can grant permissions to an individual user or create roles with certain permissions and associate users with specific roles. A role was created for user access to the WMQI database during the installation process. This role uses the following format: _ROLE where is your site-specific role name provided during installation. To grant the role to each created user: 1. Log in to the database as SYS. 2. Establish a connection to the Oracle instance using SQL Plus and the SYS username and password. 3. Type the following command to grant the role to the new user: grant _ROLE to ; The _ROLE role is granted to the user identified by USERNAME. NOTE: For rules permissions, each user can have only one role granted and this role must be the same for all users. Creating Synonyms for Database Objects To create synonyms for the WMQI database objects, users must run a database script. To run the WMQI synonyms SQL script: 1. Locate the nn_synonyms.sql script in the install.sql_rulfmt56\inst_db\or806\tmp sub-directory of the installation directory. Log in to the directory where the nn_synonyms.sql resides. 2. Run the nn_synonyms.sql script for each user using the following command: sqlplus @@ nn_synonyms.sql> synonyms.log 3. Review the contents of the synonyms.log file for any errors. Ignore the errors related to dropping synonyms. In Sybase or SQL Server The following procedures describe how to create users in Sybase or Microsoft SQL server. The commands are run within the command line program isql, and all references to SQL Server include both Sybase and SQL Server. Except for changing passwords, these procedures are limited to either the system administrator or database owner. Users must have login accounts and a user name in each database they want to access. Adding login accounts, database users, and object permissions can be done by the system administrator, security officer, or database owner. A single person can occupy one or more of these roles. Check with your database administrator for information about your specific environment. The process includes: - Creating login accounts - Assigning users to a database - Defining user groups Creating Login Accounts Login accounts give users access to the SQL Server. To access a database, a login must be assigned to a user name to the databases the user wants to access. Only a system administrator or security officer has the authority to create login accounts. To create a login account, enter the following: sp_addlogin loginName, password [, defdb [, deflang [,sid [, encryptopt]]]] where loginName is the sysname with no default, where password is the login; login is sysname with no default, where defdb is the default database for the login (database is sysname with a default of master), where deflang is the name of the default language assigned when a user logs in to SQL Server (language is sysname with a default of NULL; if language is not specified, language is set to the servers current default language defined by the sp_configure variable default language). NOTE: Changing the server default language does not change the default language for existing logins. The language remains the same as the default language used when the login was added. where sid is the security identification number (SID) [sid is varbinary (16) with a default of NULL. If sid is NULL, the system generates a SID for the new login, specifying a value other than NULL, but the number must not already exist. SID is useful when you are scripting or moving SQL Server logins from one server to another and you want the logins to have the same SID between servers.], and where encryptopt specifies whether the password is encrypted when stored in the system tables (encryption_option is varchr(20) and can be one of these values: Value Description NULL (default) The password is encrypted. skip_encryption The password is not encrypted. The supplied password was encrypted by an earlier version of SQL Server and is used for upgrade purposes only. Assigning Users to a Database To use a database, the server login must be associated with a user name in the database. Only the database owner (DBO) can assign users to a database. From the database in which the user is to be added, enter the following: sp_adduser loginName [, nameInDB] [, group] where the loginName is the user's server login account, where the nameInDB parameter is the name for the user in the database, where the nameInDB defaults to the loginName if it is not specified, and where the group enables the DBO to add the user to an existing group in the database. If a group is not specified, the user is placed in the default group, PUBLIC. NOTES: - To add permissions both in New Era of Networks Rules and in New Era of Networks Formatter, you must add users as users not aliases. They must be members of the same user group. - SQL Server: Permission errors occur if the user is the same as the database owner (DBO). the user must be part of NNSYGRP, but cannot be the DBO. Defining User Groups During installation process, NNSYGRP is created for WMQI users. Users must be linked to the NNSYGRP group to access the WMQI databases. In addition, each database user, with the exception of the database owner, must be granted permissions to access objects within that database. To add users to NNSYGRP, do one of the following: - To use the sp_adduser procedure, enter the following: sp_adduser loginName [, nameInDB] [, group] where the loginName is the user's server login account, where the nameInDB parameter is the name for the user in the database, where the nameInDB defaults to the loginName if it is not specified, and where the group enables the DBO to add the user to an existing group in the database. If a group is not specified, the user is placed in the default group, PUBLIC. - To use the sp_changegroup system procedure, enter the following: sp_changegroup groupName, userName where groupName is the name of the group to which the user is added, and where userName is the database user name. In DB2 UDB The following procedures describe how to create database users in DB2. It includes the following: - Creating users - Creating aliases for database objects To allow other users to have access to the objects created during installation, a new user must be created with aliases to link the user’s objects to the objects in the installer’s schema. New users are added to the NNSYGRP group created during installation. You must be a member of NNSYGRP in order to access any of the objects owned by another NNSYGRP member. Creating Users To grant user access to the database, you must create additional user accounts at the local system level. Create additional users in the NNSYGRP group. Creating Aliases for Database Objects Each new user must run a database script to create aliases for the WMQI database objects created during the WMQI database installation. NOTE: To have assignable permissions, you must be a member of the system group NNSYGRP. Ask your database administrator to create aliases for OS/390. To create aliases using the nn_aliases.sql script: 1. Connect to the WMQI database using the user ID of the user you want to add. 2. Establish a DB2 CLP session. Example: db2 connect to user using 3. Locate the nn_aliases.sql script in the \install.sql_rulfmt56\inst_db\tmp directory of the installation directory. 4. Run the nn_aliases.sql script using the following command: db2 -f nn_aliases.sql -l aliases.log -t 5. Review the contents of the aliases.log file for any errors. Ignore the errors related to dropping aliases. ---------------------------------------------------------------------- CR # 290003 - User's Guide APAR # IY33142 - IMPLICIT AND EXPLICIT DATA CONVERSIONS FOR MATH EXPRESSIONS Problem: The New Era of Networks Formatter chapter unclearly states: NOTE: A math expression cannot be preceded by data type conversion output operations unless the output data type is ASCII. For example, the numeric format International Decimal cannot be preceded a math expression. Resolution: More information is required in the note. NOTE: In an Output Operation Collection when the output data type is different from the input data type, a data conversion needs to occur. However, you can control the timing of the conversion. If an Output Operation Collection specified in the Output Control contains a Data/Convert operation, then the conversion is delayed until the explicit conversion operation is reached. In this case, all operations preceding the Data/Convert act on the parsed data, and all operations following the Data/Convert act on the converted data. If there is no Data/Convert operation in the Output Operation Collection, then an implicit conversion operation immediately acts on the input data. Subsequently, all the other defined operations in the collection act on the converted data. Compare the following Output Operation Collection examples: Collection_A Math_Mult_by_2 Trim_neg_sign Collection_B Math_Mult_by_2 Trim_neg_sign Convert If the Output Control specifies IBM Zoned Decimal as the Data Type and the input data is "12" (ASCII x'3132'), then Collection_A will fail, but Collection_B will work. The math operations work on ASCII numeric data only. Since Collection_A does not contain a convert operation the data will be converted to Zoned Decimal before any other operation occurs. The data reaching the Math operation will be Zoned (EBCDIC x'f1f2') and the Math operation parser will not recognize it. Collection_B contains a Convert operation, so the data flowing through it will remain ASCII until the Convert operation is reached. This enhancement enables Output Operation Collections to behave in a consistent manner. In 4.11 certain operations, such as Math Expressions, pulled their input from the formatter parsed tree discarding output from any previous operations. This meant that these operations had to be listed before other operations. Confusion existed around the order in which operations could occur and numbers could not be manipulated before a math expression. This was solved by serializing the output from each operation, allowing the data to flow through the collection with the input to each operation being the serialized output of the previous operation. Implicit conversion had to fit in this flow somewhere, so putting the implicit conversion first in the flow was a conscious decision. -------------------------------------------------------------------- CR # 291079 - System Management Guide PMR # 60004 Problem: In the Configuration chapter of the System Management Guide, the following Logging Levels are stated in error: 0 - Logs informational messages, warnings, errors, and fatal errors. 1 - Logs warnings, errors, and fatal errors. 2 - Logs errors and fatal errors. 3 - Logs fatal errors only. Resolution: The Logging Levels should read: 0 - Logs messages of any severity. 1 - Logs error and warning messages. 2 - Logs only error messages. 3 - Disables all logging. ---------------------------------------------------------------------- CR # 296736 - System Management Guide and CSD #3 Readme APAR # IY38935 - IN RULES EXPORT FILES AN EXTRA SPACE AFTER AN EXIST OPERATOR IN RULES EXPRESSION,CAUSES A CONFLICT IN NNRIE Problem: Both the System Management Guide and the CSD#3 readme incorrectly document the use of the [-p] option. Resolution: The System Management Guide should read: The [-p] option can only be used when migrating from MQSI 1.1 or MQSI 2.01 on NT, AIX, Solaris, and HP-UX to WMQI 2.1 on z/OS. All other migration scenarios do not support the use of the [-p] option. ---------------------------------------------------------------------- CR # 300000 - System Management Guide PMR # 65852 Problem: The procedure for configuring the database set up on z/OS on pages 27, 29, 33 and 34 used incorrect terminology. The procedures talk about "Connecting to the database server and the database." Resolution: The terminology should be changed from "database" to "table qualifier." ---------------------------------------------------------------------- APAR # IC34946 - DOCUMENTATION DOES NOT INCLUDE ALL SUPPORTED CODEPAGES BY NNSY COMPONENT Problem: The documentation does not include all codepages that the NNSY component supports. The documented list only identifies the code sets that were tested; however, the component is designed to work with a more comprehensive list. The NNSY component uses ICU 1.8 and is designed to work with code sets that do not have the embedded NULL's found in UCS-2, UCS-4, and UTF-16. Resolution: The Supported Code set table should include the following: Code Set Code Set Alias Description Identifier Name -------------------------------------------------------------------- 1208 ibm-1208 UTF8 Unicode transformation utf-8 8 bit ibm-1208 cp1208 ====================================================================== CSD04 ===== Contents: Part 1: New Era of Networks Formatter Issues Part 2: New Era of Networks Rules Issues Part 3: Documentation Issues ==================================================================== Part 1: New Era of Networks Formatter Issues ==================================================================== CR # 279277 APAR # IY31377 - IMPORT NEW ERA FORMATS FROM OLDER VERSION INTO V2.1 Problem: On AIX/Oracle, when exporting rules and formats from MQSI 2.0.2 using NNRie and NNFie and importing them into WMQI 2.1, two problems are encountered: #1 Trailing spaces are generated in New Era of Network Formatter components. #2 New Era of Networks Rules Subscription names that contain the % (percent) character fail to import. Work-arounds: #1 To correct the NNFie problem, delete the trailing spaces in the NNFie export file from the component lines that failed to import. #2 To correct the NNRie problem, remove the % character from the Subscription names, do one of the following: - Use the MQSI V2.02 GUI to remove the % characters and then reexport the file. - Open the NNRie export file and manually delete the % characters from the Subscription names. ==================================================================== Part 2: New Era of Networks Rules Issues ==================================================================== CR # 275544 APAR # IC33620 - RULES EXPRESSION CHANGES WHEN IT IS APPLIED Problem: When clicking on the Apply button in the New Era of Networks Formatter GUI, the expression changes resulting in an extra set of parentheses, and pipes (|) changing to ampersands (&). Resolution: The code was fixed to correctly parse expressions. -------------------------------------------------------------------- CR # 286132 APAR # IY32488 - EXCEPTION LIST OMITS NEON DETAILS Problem: When a message comes out of the failure terminal of a NEONRulesEvaluation node, the Exception List contains an error message (NN311E) that is written to the NNSYMessageLog.nml and the (Unix) mqsisyslog or (NT) Event Log. However, it does not contain the details of the error (#1001) which caused the problem. Resolution: The code was adjusted to provide error message details. ==================================================================== Part 3: Documentation Issues ==================================================================== CR # 260215 - System Management Guide CMVC # 20626 - NN406I: Missing insert etc Problem: The location of the NNSYMessagelog.nml file is not indicated in the current documentation. Resolution: On Unix The NNSYMessageLog.nml file is written to the current working directory at application startup. For broker logging, this file is written to the current directory when mqsistart was issued. For migration and test utility logging, such as msgtest, NNFie, and NNRie, the NNSYMessageLog.nml file is written to the current working directory. On Windows NT For broker and Control Center logging, the NNSYMessageLog.nml file is written to \bin where wmqi_inst_loc is the location of the WebSphere MQ Integrator installation; for example, "C:\Program Files\IBM\WebSphere MQ Integrator 2.1". For migration and test utility logging, such as msgtest, NNFie, and NNRie, the NNSYMessageLog.nml file is written to the current working directory. -------------------------------------------------------------------- CR # 273641 - System Management Guide CMVC # 25353 - Decimal values are allowed in a numeric field Problem: If you define an input control field with a data type as Numeric, New Era of Networks Formatter parses with decimal values that are inconsistent with the Numeric data type information described on pages 171, 180, 186, 187 of the System Management Guide. The SM Guide states: "NUMERIC data types only support characters (0-9) and do not support decimals. While an error might not occur with decimals, the decimals may be ignored and the number will be truncated to a whole number. Resolution: When using the Numeric data type in your input or output control definitions, observe the following additional guidelines: Input Control Definition Guidelines - If you define an input control field value as a decimal, New Era of Networks Formatter will not fail to parse. Output Control Definition Guidelines - If you want the decimal portion of the input date to appear in an output message, select N/A or String as the data type in your output control definition. New Era of Networks Rules will ignore the decimal portion of the input data. - If you do not want the decimal portion of the input date to appear in an output message, select Numeric as the data type in your output control definition. ---------------------------------------------------------------------- CR # 275197 - System Management Guide PMR # 89584 Problem: The following section of information is missing from the WMQI V2.1 System Management Guide. Resolution: Include the following information in the WMQI V2.1 System Management Guide. Assigning Permissions To assign permissions, you must create more than one user in your database. In Oracle The following procedure describes how to create database users in Oracle. To access WMQI databases, users must be created and associated with the user role that was created during the WMQI installation. The process for creating users in Oracle includes: - Creating users - Granting roles to users - Creating synonyms for database objects Creating Users You must create users to identify individual user names in the database. To create a user, type the following command and press ENTER. create user identified by ; where USERNAME and PASSWORD are required parameters. Granting Roles to Users To give users permissions to access the database data, you can grant permissions to an individual user or create roles with certain permissions and associate users with specific roles. A role was created for user access to the WMQI database during the installation process. This role uses the following format: _ROLE where is your site-specific role name provided during installation. To grant the role to each created user: 1. Log in to the database as SYS. 2. Establish a connection to the Oracle instance using SQL Plus and the SYS username and password. 3. Type the following command to grant the role to the new user: grant _ROLE to ; The _ROLE role is granted to the user identified by USERNAME. NOTE: For rules permissions, each user can have only one role granted and this role must be the same for all users. Creating Synonyms for Database Objects To create synonyms for the WMQI database objects, users must run a database script. To run the WMQI synonyms SQL script: 1. Locate the nn_synonyms.sql script in the install.sql_rulfmt56\inst_db\or806\tmp sub-directory of the installation directory. Log in to the directory where the nn_synonyms.sql resides. 2. Run the nn_synonyms.sql script for each user using the following command: sqlplus @@ nn_synonyms.sql> synonyms.log 3. Review the contents of the synonyms.log file for any errors. Ignore the errors related to dropping synonyms. In Sybase or SQL Server The following procedures describe how to create users in Sybase or Microsoft SQL server. The commands are run within the command line program isql, and all references to SQL Server include both Sybase and SQL Server. Except for changing passwords, these procedures are limited to either the system administrator or database owner. Users must have login accounts and a user name in each database they want to access. Adding login accounts, database users, and object permissions can be done by the system administrator, security officer, or database owner. A single person can occupy one or more of these roles. Check with your database administrator for information about your specific environment. The process includes: - Creating login accounts - Assigning users to a database - Defining user groups Creating Login Accounts Login accounts give users access to the SQL Server. To access a database, a login must be assigned to a user name to the databases the user wants to access. Only a system administrator or security officer has the authority to create login accounts. To create a login account, enter the following: sp_addlogin loginName, password [, defdb [, deflang [,sid [, encryptopt]]]] where loginName is the sysname with no default, where password is the login; login is sysname with no default, where defdb is the default database for the login (database is sysname with a default of master), where deflang is the name of the default language assigned when a user logs in to SQL Server (language is sysname with a default of NULL; if language is not specified, language is set to the servers current default language defined by the sp_configure variable default language). NOTE: Changing the server default language does not change the default language for existing logins. The language remains the same as the default language used when the login was added. where sid is the security identification number (SID) [sid is varbinary (16) with a default of NULL. If sid is NULL, the system generates a SID for the new login, specifying a value other than NULL, but the number must not already exist. SID is useful when you are scripting or moving SQL Server logins from one server to another and you want the logins to have the same SID between servers.], and where encryptopt specifies whether the password is encrypted when stored in the system tables (encryption_option is varchr(20) and can be one of these values: Value Description NULL (default) The password is encrypted. skip_encryption The password is not encrypted. The supplied password was encrypted by an earlier version of SQL Server and is used for upgrade purposes only. Assigning Users to a Database To use a database, the server login must be associated with a user name in the database. Only the database owner (DBO) can assign users to a database. From the database in which the user is to be added, enter the following: sp_adduser loginName [, nameInDB] [, group] where the loginName is the user's server login account, where the nameInDB parameter is the name for the user in the database, where the nameInDB defaults to the loginName if it is not specified, and where the group enables the DBO to add the user to an existing group in the database. If a group is not specified, the user is placed in the default group, PUBLIC. NOTES: - To add permissions both in New Era of Networks Rules and in New Era of Networks Formatter, you must add users as users not aliases. They must be members of the same user group. - SQL Server: Permission errors occur if the user is the same as the database owner (DBO). the user must be part of NNSYGRP, but cannot be the DBO. Defining User Groups During installation process, NNSYGRP is created for WMQI users. Users must be linked to the NNSYGRP group to access the WMQI databases. In addition, each database user, with the exception of the database owner, must be granted permissions to access objects within that database. To add users to NNSYGRP, do one of the following: - To use the sp_adduser procedure, enter the following: sp_adduser loginName [, nameInDB] [, group] where the loginName is the user's server login account, where the nameInDB parameter is the name for the user in the database, where the nameInDB defaults to the loginName if it is not specified, and where the group enables the DBO to add the user to an existing group in the database. If a group is not specified, the user is placed in the default group, PUBLIC. - To use the sp_changegroup system procedure, enter the following: sp_changegroup groupName, userName where groupName is the name of the group to which the user is added, and where userName is the database user name. In DB2 UDB The following procedures describe how to create database users in DB2. It includes the following: - Creating users - Creating aliases for database objects To allow other users to have access to the objects created during installation, a new user must be created with aliases to link the user's objects to the objects in the installer's schema. New users are added to the NNSYGRP group created during installation. You must be a member of NNSYGRP in order to access any of the objects owned by another NNSYGRP member. Creating Users To grant user access to the database, you must create additional user accounts at the local system level. Create additional users in the NNSYGRP group. Creating Aliases for Database Objects Each new user must run a database script to create aliases for the WMQI database objects created during the WMQI database installation. NOTE: To have assignable permissions, you must be a member of the system group NNSYGRP. Ask your database administrator to create aliases for OS/390. To create aliases using the nn_aliases.sql script: 1. Connect to the WMQI database using the user ID of the user you want to add. 2. Establish a DB2 CLP session. Example: db2 connect to user using 3. Locate the nn_aliases.sql script in the \install.sql_rulfmt56\inst_db\tmp directory of the installation directory. 4. Run the nn_aliases.sql script using the following command: db2 -f nn_aliases.sql -l aliases.log -t 5. Review the contents of the aliases.log file for any errors. Ignore the errors related to dropping aliases. ---------------------------------------------------------------------- CR # 290003 - User's Guide APAR # IY33142 - IMPLICIT AND EXPLICIT DATA CONVERSIONS FOR MATH EXPRESSIONS Problem: The New Era of Networks Formatter chapter unclearly states: NOTE: A math expression cannot be preceded by data type conversion output operations unless the output data type is ASCII. For example, the numeric format International Decimal cannot be preceded a math expression. Resolution: More information is required in the note. NOTE: In an Output Operation Collection when the output data type is different from the input data type, a data conversion needs to occur. However, you can control the timing of the conversion. If an Output Operation Collection specified in the Output Control contains a Data/Convert operation, then the conversion is delayed until the explicit conversion operation is reached. In this case, all operations preceding the Data/Convert act on the parsed data, and all operations following the Data/Convert act on the converted data. If there is no Data/Convert operation in the Output Operation Collection, then an implicit conversion operation immediately acts on the input data. Subsequently, all the other defined operations in the collection act on the converted data. Compare the following Output Operation Collection examples: Collection_A Math_Mult_by_2 Trim_neg_sign Collection_B Math_Mult_by_2 Trim_neg_sign Convert If the Output Control specifies IBM Zoned Decimal as the Data Type and the input data is "12" (ASCII x'3132'), then Collection_A will fail, but Collection_B will work. The math operations work on ASCII numeric data only. Since Collection_A does not contain a convert operation the data will be converted to Zoned Decimal before any other operation occurs. The data reaching the Math operation will be Zoned (EBCDIC x'f1f2') and the Math operation parser will not recognize it. Collection_B contains a Convert operation, so the data flowing through it will remain ASCII until the Convert operation is reached. This enhancement enables Output Operation Collections to behave in a consistent manner. In 4.11 certain operations, such as Math Expressions, pulled their input from the formatter parsed tree discarding output from any previous operations. This meant that these operations had to be listed before other operations. Confusion existed around the order in which operations could occur and numbers could not be manipulated before a math expression. This was solved by serializing the output from each operation, allowing the data to flow through the collection with the input to each operation being the serialized output of the previous operation. Implicit conversion had to fit in this flow somewhere, so putting the implicit conversion first in the flow was a conscious decision. -------------------------------------------------------------------- CR # 291079 - System Management Guide PMR # 60004 Problem: In the Configuration chapter of the System Management Guide, the following Logging Levels are stated in error: 0 - Logs informational messages, warnings, errors, and fatal errors. 1 - Logs warnings, errors, and fatal errors. 2 - Logs errors and fatal errors. 3 - Logs fatal errors only. Resolution: The Logging Levels should read: 0 - Logs messages of any severity. 1 - Logs error and warning messages. 2 - Logs only error messages. 3 - Disables all logging. ---------------------------------------------------------------------- CR # 296736 - System Management Guide PMR # 43909 Problem: Both the System Management Guide and the CSD#3 readme incorrectly document the use of the [-p] option. Resolution: The System Management Guide should read: The [-p] option can only be used when migrating from MQSI 1.1 or MQSI 2.01 on NT, AIX, Solaris, and HP-UX to WMQI 2.1 on z/OS. All other migration scenarios do not support the use of the [-p] option. ---------------------------------------------------------------------- CR # 300000 - System Management Guide PMR # 65852 Problem: The procedure for configuring the database set up on z/OS on pages 27, 29, 33 and 34 used incorrect terminology. The procedures talk about "Connecting to the database server and the database." Resolution: The terminology should be changed from "database" to "table qualifier." CSD03 ===== Contents: Part 1: General Issues Part 2: New Era of Networks Formatter Part 3: New Era of Networks Rules Part 4: Documentation Issues Part 1: General Issues ==================================================================== CMVC # 17303 CR # 253330 Problem: When the ICU_DATA variable is not specified in a UNIX environment, the DataFlowEngine (DFE) does not start successfully, repeatedly re-starts, and writes a series of messages to the system log, such as: thehulk WMQIv210[25819]: [ID 702911 user.error] (BROKER.Parallel)[1]BIP2203E: An execution group has encountered a problem whilst starting. : BROKER.dc07ea0b-e600-0000-0080-d56401eb87f5: /build/S210_P/src/DataFlowEngine/ImbMain.cpp: 491: main: : thehulk WMQIv210[25834]: [ID 702911 user.error] (BROKER.Parallel)[1]BIP2203E: An execution group has encountered a problem whilst starting. : BROKER.dc07ea0b-e600-0000-0080-d56401eb87f5: /build/S210_P/src/DataFlowEngine/ImbMain.cpp: 491: main: : thehulk WMQIv210[25861]: [ID 702911 user.error] (BROKER.Parallel)[1]BIP2203E: An execution group has encountered a problem whilst starting. : BROKER.dc07ea0b-e600-0000-0080-d56401eb87f5: /build/S210_P/src/DataFlowEngine/ImbMain.cpp: 491: main: : Work-around: To correct the problem, do one of the following: - Set the ICU_DATA variable. On AIX: ICU_DATA=$NNSY_ROOT/share/icu/data export ICU_DATA On HP-UX : export ICU_DATA=$NNSY_ROOT/share/icu/data On Solaris: ICU_DATA=$NNSY_ROOT/share/icu/data export ICU_DATA -Or add the following to the WMQI User Profile: On AIX /usr/opt/wmqi/sample/profiles/profile.aix On HP-UX /opt/wmqi/sample/profiles/profile.hpux On Solaris /opt/wmqi/sample/profiles/profile.sol -------------------------------------------------------------------- CMVC # 24380 CR # 265227 Description: On AIX 4.3.3, the WMQI DataFlowEngine can fail when New Era of Networks technology is used in the flow, and many threads are used. The DataFlowEngine will fail with an abend file. Work-around: Run with fewer message processing threads (message flows plus additional instances). You can also create more execution groups and spread the message flows among the execution groups. -------------------------------------------------------------------- CMVC # 24600 CR # 269179 Description: On AIX, when DEBUG MALLOC is turned on and when NEON Nodes are loaded during start-up of the Broker, there is corruption of the heap. Work-around: Use MQSI_PRELOAD to verify that the ICU libraries are loaded when the process starts. Set the following environment variable: export MQSI_PRELOAD=/usr/lpp/nnsy/bin/ libicuin18.a:/usr/lpp/nnsy/bin/ libicuio18.a:/usr/lpp/nnsy/bin/ libicuio18.a:/usr/lpp/nnsy/share/icu/data/libicudt18b.a -------------------------------------------------------------------- CMVC # 24629 CR # 267223 Description: While uninstalling both the GA and CSD component versions or just the CSD component version on HP-UX 11.00, the following error message appears: There is unmarked software which depends on software that is marked for remove. The remaining software cannot operate properly without the software you plan to remove. Work-arounds: On Windows NT Ignore the dependency warning messages and continue with uninstalling. On HP-UX 11.00 To remove the CSD patch and leave the GA component: 1. Run swremove, click Options, and then Change Options to list the remove options. 2. Deselect Enforce dependency analysis errors in agent and click OK. 3. Scroll to the component in the Software Selection menu and do one of the following: - If the component was added by the CSD, then mark the component. The component will be marked Yes. - If the component was patched by the CSD, then press ENTER to open the Software Selection sub-menu and mark the specific patch level of the component to be removed. Select ..(go up). The component will be marked Partial. NOTE: If a Dependency Message Dialog appears when marking a full component or a component patch level for removal, ignore it and click OK. 4. Select Actions, Remove (analysis)..., OK, Yes, and Done. 5. Repeat steps 3 and 4 for each New Era of Networks component, starting with the highest numbered component and working down the list of components ending with the lowest numbered component (for example, n7nrfdk52, n6nrfx52, ..., n0infr20). To remove both the CSD and the GA components 1. Run swremove, click Options, and then Change Options to list the remove options. 2. Deselect Enforce dependency analysis errors in agent and click OK. 3. Scroll to the component in the Software Selection menu and mark the component. The component will be marked Yes. NOTE: If a Dependency Message Dialog appears when marking a full component for removal, ignore it and click OK. 4. Select Actions, Remove (analysis)..., OK, Yes, and Done. 5. Repeat steps 3 and 4 until all New Era of Networks components are removed from the "Software Selection" menu. -------------------------------------------------------------------- CR # 253460 Description: inst_db leaves files containing plain text passwords in its directory structure. Resolution: Scripts were created to delete files containing plain text passwords after an inst_db run. To use this feature of inst_db, run the following: o Windows NT inst_db.cmd o UNIX inst_db.sh These files run the inst_db program plus remove the text-encoded password files from your inst_db directories. --------------------------------------------------------------------- CR # 268274 Description: On z/OS, database commits cannot be issued from a New Era of Networks Formatter user exit because this impacts the WMQI broker. Resolution: On z/OS, the New Era of Networks Formatter user exits are now run in a child thread, allowing them to issue database commits without impacting the WMQI Broker. NOTE: COBOL user exits compiled with version 3.0 and higher can run in a multi-threaded environment. To run COBOL in a multi-threaded environment, the keyword RECURSIVE must be specified in the COBOL program on the PROGRAM ID statement, and the compiler option THREAD must be specified in the compile step. -------------------------------------------------------------------- PMR # 89584 - System Management Guide CR # 275197 Description: The following section of information is missing from the WMQI V2.1 System Management guide. Resolution: Include the following information in the WMQI V2.1 System Management Guide. Assigning Permissions To assign permissions, you must create more than one user in your database. In Oracle The following procedure describes how to create database users in Oracle. To access New Era of Networks Rules and Formatter databases, users must be created and associated with the user role that was created during the New Era of Networks Rules and Formatter installation. The process for creating users in Oracle includes: - Creating users - Granting roles to users - Creating synonyms for database objects Creating Users You must create users to identify individual user names in the database. To create a user, type the following command and press ENTER. create user identified by ; where USERNAME and PASSWORD are required parameters. Granting Roles to Users To give users permissions to access the database data, you can grant permissions to an individual user or create roles with certain permissions and associate users with specific roles. A role was created for user access to the New Era of Networks Rules and Formatter database during the installation process. This role uses the following format: _ROLE where is your site-specific role name provided during installation. To grant the role to each created user: 1. Log in to the database as SYS. 2. Establish a connection to the Oracle instance using SQL Plus and the SYS username and password. 3. Type the following command to grant the role to the new user: grant _ROLE to ; The _ROLE role is granted to the user identified by USERNAME. NOTE: For rules permissions, each user can have only one role granted and this role must be the same for all users. Creating Synonyms for Database Objects To create synonyms for the New Era of Networks Rules and Formatter database objects, users must run a database script. To run the New Era of Networks synonyms SQL script: 1. Locate the nn_synonyms.sql script in the install.sql_rulfmt56\inst_db\or806\tmp sub-directory of the installation directory. Log in to the directory where the nn_synonyms.sql resides. 2. Run the nn_synonyms.sql script for each user using the following command: sqlplus @@ nn_synonyms.sql> synonyms.log 3. Review the contents of the synonyms.log file for any errors. Ignore the errors related to dropping synonyms. In Sybase or SQL Server The following procedures describe how to create users in Sybase or Microsoft SQL server. The commands are run within the command line program isql, and all references to SQL Server include both Sybase and SQL Server. Except for changing passwords, these procedures are limited to either the system administrator or database owner. Users must have login accounts and a user name in each database they want to access. Adding login accounts, database users, and object permissions can be done by the system administrator, security officer, or database owner. A single person can occupy one or more of these roles. Check with your database administrator for information about your specific environment. The process includes: - Creating login accounts - Assigning users to a database - Defining user groups Creating Login Accounts Login accounts give users access to the SQL Server. To access a database, a login must be assigned to a user name to the databases the user wants to access. Only a system administrator or security officer has the authority to create login accounts. To create a login account, enter the following: sp_addlogin loginName, password [, defdb [, deflang [,sid [, encryptopt]]]] where loginName is the sysname with no default, where password is the login; login is sysname with no default, where defdb is the default database for the login (database is sysname with a default of master), where deflang is the name of the default language assigned when a user logs in to SQL Server (language is sysname with a default of NULL; if language is not specified, language is set to the servers current default language defined by the sp_configure variable default language). NOTE: Changing the server default language does not change the default language for existing logins. The language remains the same as the default language used when the login was added. where sid is the security identification number (SID) [sid is varbinary (16) with a default of NULL. If sid is NULL, the system generates a SID for the new login, specifying a value other than NULL, but the number must not already exist. SID is useful when you are scripting or moving SQL Server logins from one server to another and you want the logins to have the same SID between servers.], and where encryptopt specifies whether the password is encrypted when stored in the system tables (encryption_option is varchr(20) and can be one of these values: Value Description NULL (default) The password is encrypted. skip_encryption The password is not encrypted. The supplied password was encrypted by an earlier version of SQL Server and is used for upgrade purposes only. Assigning Users to a Database To use a database, the server login must be associated with a user name in the database. Only the database owner (DBO) can assign users to a database. From the database in which the user is to be added, enter the following: sp_adduser loginName [, nameInDB] [, group] where the loginName is the user's server login account, where the nameInDB parameter is the name for the user in the database, where the nameInDB defaults to the loginName if it is not specified, and where the group enables the DBO to add the user to an existing group in the database. If a group is not specified, the user is placed in the default group, PUBLIC. NOTES: - To add permissions both in New Era of Networks Rules and in New Era of Networks Formatter, you must add users as users not aliases. They must be members of the same user group. - SQL Server: Permission errors occur if the user is the same as the database owner (DBO). the user must be part of NNSYGRP, but cannot be the DBO. Defining User Groups During installation process, NNSYGRP is created for New Era of Networks Rules and Formatter users. Users must be linked to the NNSYGRP group to access the New Era of Networks Rules and Formatter databases. In addition, each database user, with the exception of the database owner, must be granted permissions to access objects within that database. To add users to NNSYGRP, do one of the following: - To use the sp_adduser procedure, enter the following: sp_adduser loginName [, nameInDB] [, group] where the loginName is the user's server login account, where the nameInDB parameter is the name for the user in the database, where the nameInDB defaults to the loginName if it is not specified, and where the group enables the DBO to add the user to an existing group in the database. If a group is not specified, the user is placed in the default group, PUBLIC. - To use the sp_changegroup system procedure, enter the following: sp_changegroup groupName, userName where groupName is the name of the group to which the user is added, and where userName is the database user name. In DB2 UDB The following procedures describe how to create database users in DB2. It includes the following: - Creating users - Creating aliases for database objects To allow other users to have access to the objects created during installation, a new user must be created with aliases to link the user's objects to the objects in the installer's schema. New users are added to the NNSYGRP group created during installation. You must be a member of NNSYGRP in order to access any of the objects owned by another NNSYGRP member. Creating Users To grant user access to the database, you must create additional user accounts at the local system level. Create additional users in the NNSYGRP group. Creating Aliases for Database Objects Each new user must run a database script to create aliases for the New Era of Networks Rules and Formatter database objects created during the New Era of Networks Rules and Formatter database installation. NOTE: To have assignable permissions, you must be a member of the system group NNSYGRP. Ask your database administrator to create aliases for OS/390. To create aliases using the nn_aliases.sql script: 1. Connect to the New Era of Networks Rules and Formatter database using the user ID of the user you want to add. 2. Establish a DB2 CLP session. Example: db2 connect to user using 3. Locate the nn_aliases.sql script in the \install.sql_rulfmt56\inst_db\tmp directory of the installation directory. 4. Run the nn_aliases.sql script using the following command: db2 -f nn_aliases.sql -l aliases.log -t 5. Review the contents of the aliases.log file for any errors. Ignore the errors related to dropping aliases. -------------------------------------------------------------------- CMVC # 17674 CR # 253717 Problem: An invalid neonreg.dat file specifying the machine name parameter instead of the DB2 database name parameter caused NNFie and NNRie to be terminated by Windows NT. Resolution: Correct the nnsyreg.dat file. ____________________________________________________________________ CMVC # 23428 CR # 263272 Problem: The -C optional parameter is not working properly in NNFie. This option specifies the file which contains the program arguments. Resolution: NNFie was fixed to handle the -C option properly. NOTE: If your Text Editor does not automatically insert a new line at the end of a command file by default, you must manually enter the a new line character (x0A). If the new line character is not present, NNFie fails when using the -C option. ________________________________________________________________________ CMVC # 26497 CR # 270160 Problem: There has been internal security updates in oracle 9i. This has caused inst_db with 9i to malfunction. Resolution: Fixed problems from running the inst_db program as system. This is with a small documented step that the dba will have to run. To run inst_db in an Oracle 9i database to install the rulfmt56 schema, do the following: 1. Run sqlplus as sys user. 2. Issue the following command inside sqlplus: GRANT SELECT on dba_role_privs to system with grant option 3. To create a new rulfmt database schema, run inst_db as the system rather than as the sys account. ______________________________________________________________________________ CMVC # IC30970 Using NEON domain within a globally coordinated transactional message flow. There are known problems when using DB2 database and working with the NEON domain (NEON parser, NEONRules and NEONFormatter nodes) within a message flow which is globally coordinated. To overcome these problems, take the following action: 1. Install CSD3 2. Edit your nnsyreg.dat file On Unix: Edit Session.MQSI_PLUGIN section replace NNOT_SHARED_LIBRARY = dbt26db250 with NNOT_SHARED_LIBRARY = dbt26mqi and NNOT_FACTORY_FUNCTION = NNSesDB2Factory with NNOT_FACTORY_FUNCTION = NNSesODBCFactory On Win32: replace NNOT_SHARED_LIBRARY = dbt26db250 with NNOT_SHARED_LIBRARY = dbt26msodbc and NNOT_FACTORY_FUNCTION = NNSesDB2Factory with NNOT_FACTORY_FUNCTION = NNSesODBCFactory 3. Ensure that your Rules and Formats database is defined as an ODBC datasource either in .odbc.ini file (unix) or in the Windows GUI (control panel->ODBC dataSources) 4. Set the following environment variable MQSI_NNSY_XA=1 NOTES: 1. When using NNFie or NNRie, you are recommended to not use the MQSI_PLUGIN session but to have a separate session for these tools, containing the following values: NNOT_SHARED_LIBRARY = dbt26db250 NNOT_FACTORY_FUNCTION = NNSesDB2Factory 2. If you wish to have some message flows coordinated and some not coordinated, you are recommended to have them in separate execution groups. i.e. do not mix coordinated and non coordinated message flows in the same execution group. 3. NEONMSG domain ( i.e. NEONMSG parser, NEONRulesEvaluation, NEONMap NEONTransform nodes) cannot, as yet, be used in a globally coordinated message flow. ______________________________________________________________________________ CMVC # 27810 Stress problems with NNSY & Oracle9i When using New Era of Networks nodes/parsers you may observe problems running large numbers of message flows in an execution group. Symptoms of this problem include a BIP2228 message written to the syslog log, e.g. WMQIv210[21988]: (BROKER.default)[3085]BIP2228E: Severe error: build/S210_D/src/CommonServices/Unix/ImbAbend.cpp 417 signal received Abend file: var/mqsi/errors/BROKER.default.21988.3085.abend action: abort If you experience any such problems, reduce the number of message flows in each execution group. ______________________________________________________________________________ Part 2: New Era of Networks Formatter ==================================================================== CMVC # 23080, 23098 CR # 262539, 262603 Description: On z/OS, an export file cannot be FTP or imported from a different operating system from which it was initially exported. Resolution: To migrate formats and rules between platforms, observe the following guidelines: - Use the NNFie and NNRie utilities provided with New Era of Networks Support for WMQI to migrate rules and formats between platforms. - Do not transfer export files that use different code pages between platforms by ftp. NOTE: Characters that are in the syntactic character set, that is, characters whose code points are invariant between most code pages may not be converted correctly during an ftp transfer. For example, the exclamation mark (!) is at code point 0x5A in some EBCDIC code pages and can be converted as the pipe symbol (|). NNFie and NNRie use the ICU function calls to convert character data. These calls are more sensitive to variations in code points between code pages. For more information, see the WMQI 5.6 System Management Guide, Process Overview section. __________________________________________________________________ CMVC # 26039 CR # 275396 Problem: A pre-CSD #3 version of NNFie cannot be used to import a file from the latest version of NNFie in CSD #3. Work-around: 1. Export your formats using a pre-CSD #3 WMQI V2.1 NNFie version. or 2. Import the export file using WMQI V2.1 CSD #3 NNFie version. Part 3: New Era of Networks Rules ==================================================================== CMVC # 25354 - New Era of Networks Formatter Online Help CR # 273640 Problem: The New Era of Networks Formatter online help does not describe Numeric Output Data Types. Resolution: The following information describes the Numeric Output Data Types: A numeric string is a sequence of characters encoded in the native encoding for the machine on which New Era of Networks Formatter executes. A numeric string contains only the characters 0 to 9 (no + or -). _________________________________________________________________________ CMVC # 20626 - System Management Guide CR # 260215 Problem: The location of the NNSYMessagelog.nml file is not indicated in the current documentation. Resolution: On Unix, The NNSYMessageLog.nml file is written to the current working directory at application startup. For broker logging, this file is written to the current directory when mqsistart was issued. For migration and test utility logging, e.g. msgtest, NNFie & NNRie- The NNSYMessageLog.nml file is written to the current working directory. On NT, For broker & Control Center logging, the NNSYMessageLog.nml file is written to \bin where wmqi_inst_loc is the location of the Webspher MQ Integrator installation , e.g. "C:\Program Files\IBM\WebSphere MQ Integrator 2.1". For migration and test utility logging, e.g. msgtest, NNFie & NNRie- The NNSYMessageLog.nml file is written to the current working directory. Part 4: Documentation Issues ==================================================================== CR # 264846, 273815 System Management Guide Description: The following changes are required in Chapter 4, Formats and Rules Database Migration under the section Migrating Between Versions and Platforms: 1) On page 110, instead of the paragraph 'To export data....' substitute: If your export files are from a Version 1.1 database and you want to represent your literal values as ASCII strings, you must include the -p option when you run NNFie. You cannot use the -p option when importing from a Version 2.0.2 or 2.1 database. 2) On page 111, the sentence beginning, 'For more information...' needs to be removed. 3) This information must be added to the following z/OS migration procedures: - from 1.1/2.0.1 Windows NT to 2.1 z/OS (bottom of p.114) - from 2.0.2 Windows NT to 2.1 z/OS (middle of p.115) - from 1.1/2.0.1 AIX/HP/Solaris to 2.1 z/OS (bottom of p.115) - from 2.0.2 AIX/HP/Solaris to 2.1 z/OS (bottom of p.116) For Windows NT Version 2.1, you must use an intermediate machine with Windows NT and WebSphere MQ Integrator to complete this migration. a. Create the nnfie.exp and nnrie.exp export files by running the NNFie and NNRie utilities on the source machine. b. Transfer these files to the intermediate machine. c. To import to WebSphere MQ Integrator for z/OS v2.1, use the version 2.1 NNFie and NNRie utilities on the intermediate machine while using an ODBC connection to import to the DB2 database on the target machine. ---------------------------------------------------------------------- PMR # 07191 - System Management Guide Description: The WMQI 5.6 System Management Guide contains some errors. Resolution: Page 27, 29, 32, and 34: The NNOT_SHARED_LIBRARY items are incorrect. The tables should read: -------------------------------------------------------------- Database Type NNOT_SHARED_LIBRARY NNOT_FACTORY_FUNCTION -------------------------------------------------------------- Microsoft SQL Server 6.5, 7 dbt26sq165 NNSesMS6Factory Oracle 8 dbt26or806 NNSesOra8Factory Sybase CTLIB dbt26syb11 NNSesSybCTFactory DB2 dbt26db250 NNSesDB2Factory Page 134: The path for the example Makefile is incorrect. o Verify that the following drives are mapped. These drives are supplied in the $(INSTALL)/examples/Makefile. K:\ - The location of the appropriate database installation files. L:\ - The Microsoft Visual Studio 6.0 directory including vc98/bin and vc98/lib. The information should read: Verify that the following drives are mapped. These drives are defined in the example Makefile. To locate the example go to: nnsy\rulfmt56\examples\NNSYrf directory CSD02 ===== Contents: Part 1: General Issues Part 2: New Era of Networks Formatter Part 3: New Era of Networks Rules Part 4: Documentation Issues ==================================================================== Part 1: General Issues ==================================================================== CMVC # 17303 CR # 253330 Description: If the ICU_DATA variable is not specified in a UNIX environment, DataFlowEngine (DFE) crashes. Work-around: You must specify the ICU_DATA environment variable in a UNIX environment. This defect will be resolved in a future patch release. -------------------------------------------------------------------- CMVC # 22900 CR # 261619 Description: You can create export files containing string literals x'0A' and x'1A', but these characters can cause problems when reimporting. Value x'0A' causes the record to split onto another line in the export file, and value x'1A' causes the following error to be written to the nnfie.log when importing on an ASCII platform: ERROR: Failed to separate and fetch a piece of the input data. Resolution: NNFie was modified to only write HEX-encoded literal values to the NNFie export file. This modification stops the export file from being corrupted. -------------------------------------------------------------------- CMVC # 24145 CR # 266308 Description: On AIX 4.3.3, the WMQI Data Flow Engine can fail when using Sybase as a New Era of Networks repository. The Data Flow Engine can abend. Work-around: Run with fewer message processing threads (message flows plus additional instances). You can also create more execution groups and spread the message flows among the execution groups. -------------------------------------------------------------------- CMVC # 24600 CR # 269179 Description: On AIX, when DEBUG MALLOC is turned on and when NEON Nodes are loaded during start-up of the Broker, there is corruption of the heap. Work-around: Use MQSI_PRELOAD to verify that the ICU libraries are loaded when the process starts. Set the following environment variable: export MQSI_PRELOAD=/usr/lpp/nnsy/bin/ libicuin18.a:/usr/lpp/nnsy/bin/ libicuio18.a:/usr/lpp/nnsy/bin/ libicuio18.a:/usr/lpp/nnsy/share/icu/data/libicudt18b.a -------------------------------------------------------------------- CMVC # 24629 CR # 267223 Description: While uninstalling both the GA and CSD component versions or just the CSD component version on HP-UX 11.00, the following error message appears: There is unmarked software which depends on software that is marked for remove. The remaining software cannot operate properly without the software you plan to remove. Work-arounds: To remove the CSD patch and leave the GA component: 1. Run swremove, click Options, and then Change Options to list the remove options. 2. Deselect Enforce dependency analysis errors in agent and click OK. 3. Scroll to the component in the Software Selection menu and do one of the following: - If the component was added by the CSD, then mark the component. The component will be marked Yes. - If the component was patched by the CSD, then press ENTER to open the Software Selection sub-menu and mark the specific patch level of the component to be removed. Select ..(go up). The component will be marked Partial. NOTE: If a Dependency Message Dialog appears when marking a full component or a component patch level for removal, ignore it and click OK. 4. Select Actions, Remove (analysis)..., OK, Yes, and Done. 5. Repeat steps 3 and 4 for each New Era of Networks component, starting with the highest numbered component and working down the list of components ending with the lowest numbered component (for example, n7nrfdk52, n6nrfx52, ..., n0infr20). To remove both the CSD and the GA components 1. Run swremove, click Options, and then Change Options to list the remove options. 2. Deselect Enforce dependency analysis errors in agent and click OK. 3. Scroll to the component in the Software Selection menu and mark the component. The component will be marked Yes. NOTE: If a Dependency Message Dialog appears when marking a full component for removal, ignore it and click OK. 4. Select Actions, Remove (analysis)..., OK, Yes, and Done. 5. Repeat steps 3 and 4 until all New Era of Networks components are removed from the "Software Selection" menu. This problem will be resolved in a future release. -------------------------------------------------------------------- CMVC # 24635 CR # 269174 Description: When moving files across operating systems, string literals are subject to code page changes. This can cause an import failure even when they have been changed to Binary. Resolution: All literals are now stored as HEX in the export files. -------------------------------------------------------------------- CR # 253460 Description: inst_db leaves files containing plain text passwords in its directory structure. Resolution: Scripts were created to delete files containing plain text passwords after an inst_db run. To use this feature of inst_db, run the following: o Windows NT inst_db.cmd o UNIX inst_db.sh These files run the inst_db program plus remove the text-encoded password files from your inst_db directories. --------------------------------------------------------------------- CR # 268274 Description: On z/OS, database commits cannot be issued from a New Era of Networks Formatter user exit because this impacts the WMQI broker. Resolution: On z/OS, the New Era of Networks Formatter user exits are now run in a child thread, allowing them to issue database commits without impacting the WMQI Broker. NOTE: COBOL user exits compiled with version 3.0 and higher can run in a multi-threaded environment. To run COBOL in a multi-threaded environment, the keyword RECURSIVE must be specified in the COBOL program on the PROGRAM ID statement, and the compiler option THREAD must be specified in the compile step. ==================================================================== Part 2: New Era of Networks Formatter ==================================================================== CMVC # 22158 CR # 257695 Description: If repeat count field is not within the immediate sibling format, parsing of repeating formats fails. Resolution: The algorithm has been modified so that if the repeat count field is not found in any immediate sibling, it walks up the format hierarchy in search of the field. -------------------------------------------------------------------- CMVC # 22898 CR # 261617 Description: On z/OS, the New Era of Networks Formatter GUI is unable to show conflicts when they exist. Resolution: NNFie failed to parse the command sent by the New Era of Networks Formatter GUI to report conflicts. NNFie was fixed to handle the command properly. -------------------------------------------------------------------- CMVC # 23080, 23098 CR # 262539, 262603 Description: On z/OS, an export file cannot be FTP or imported from a different operating system from which it was initially exported. Resolution: To migrate formats and rules between platforms, observe the following guidelines: - Use the NNFie and NNRie utilities provided with New Era of Networks Support for WMQI to migrate rules and formats between platforms. - Do not transfer export files that use different code pages between platforms by ftp. NOTE: Characters that are in the syntactic character set, that is, characters whose code points are invariant between most code pages may not be converted correctly during an ftp transfer. For example, the exclamation mark (!) is at code point 0x5A in some EBCDIC code pages and can be converted as the pipe symbol (|). NNFie and NNRie use the ICU function calls to convert character data. These calls are more sensitive to variations in code points between code pages. For more information, see the WMQI 5.6 System Management Guide, Process Overview section. -------------------------------------------------------------------- CMVC # 23881 CR # 266591 Problem 1: The New Era of Networks Formatter GUI fails to import or export if an nnfie.err file exists anywhere in the system path. Resolution 1: The GUI now deals with the nnfie.err file correctly and ignores files that are not related to the current import/export session. Problem 2: Using NNFie to import from the command line can cause the following error: Assertion failed: CNTL_NAME && CNTL_NAME[0]. Resolution 2: A fix was made in NNFie to eliminate the error. Problem 3: Using an Oracle 8.1.7 client, the New Era of Networks Formatter GUI can cause an assert on exit: 'DDE Server Window: nnfmt.exe - Application Error. Resolution 3: A change was made in the database session handling code to fix this. --------------------------------------------------------------------- CR # 260376 Description: It may appear that the Import/Export function of the New Era of Networks Formatter GUI does not work. In actuality, the problem lies in the path with the nnfie.err file. Resolution: The New Era of Networks Formatter GUI properly handles the files that NNFie creates and ignores files not associated with the session that the user is currently in. -------------------------------------------------------------------- CR # 268922 Description: When editing maps, errors display when no errors have actually occurred. The New Era of Networks Formatter GUI is attempting to retrieve rows from the database by passing the incorrect retrieval argument. Resolution: Now the correct argument is passed to the database. ==================================================================== Part 3: New Era of Networks Rules ==================================================================== CMVC # 23774 CR # 264519 Description: When using the Import/Export feature in the New Era of Networks Rules GUI, a db password is left in nnrie.dat file. Resolution: Remove the temporary nnrie.dat file when the import/export dialog terminates. ==================================================================== Part 4: Documentation Issues ==================================================================== CMVC # 25618 CR # 264846, 273815 System Management Guide Description: The following changes are required in Chapter 4, Formats and Rules Database Migration under the section Migrating Between Versions and Platforms: 1) On page 110, instead of the paragraph 'To export data....' substitute: If your export files are from a Version 1.1 database and you want to represent your literal values as ASCII strings, you must include the -p option when you run NNFie. You cannot use the -p option when exporting from a Version 2.0.1 or 2.1 database. 2) On page 111, the sentence beginning, 'For more information...' needs to be removed. 3) This information must be added to the following z/OS migration procedures: - from 1.1/2.0.1 Windows NT to 2.1 z/OS (bottom of p.114) - from 2.0.2 Windows NT to 2.1 z/OS (middle of p.115) - from 1.1/2.0.1 AIX/HP/Solaris to 2.1 z/OS (bottom of p.115) - from 2.0.2 AIX/HP/Solaris to 2.1 z/OS (bottom of p.116) For Windows NT Version 2.1, you must use an intermediate machine with Windows NT and WebSphere MQ Integrator to complete this migration. a. Create the nnfie.exp and nnrie.exp export files by running the NNFie and NNRie utilities on the source machine. b. Transfer these files to the intermediate machine. c. To import to WebSphere MQ Integrator for z/OS v2.1, use the version 2.1 NNFie and NNRie utilities on the intermediate machine while using an ODBC connection to import to the DB2 database on the target machine. ---------------------------------------------------------------------- CR # 275197 System Management Guide APAR# IY29253 - V5.6 VERSION OF THE NNSY GUIDES MISSING STEPS ON HOW TO GIVE MULTIPLE USERS DB ACCESS VIA TABLE ALIASES IN DB2. Description: The section of information, Assigning Permissions, is missing from the WMQI V2.1 System Management guide. Resolution: The following information needs to be added to the Configuration chapter: Assigning Permissions To assign permissions, you must create more than one user in your database. In Oracle The following procedure describes how to create database users in Oracle. To access e-Biz Integrator databases, users must be created and associated with the user role that was created during the e-Biz Integrator installation. The process for creating users in Oracle includes: - Creating users - Granting roles to users - Creating synonyms for database objects Creating Users You must create users to identify individual user names in the database. To create a user, type the following command and press ENTER. create user identified by ; where USERNAME and PASSWORD are required parameters. Granting Roles to Users To give users permissions to access the database data, you can grant permissions to an individual user or create roles with certain permissions and associate users with specific roles. A role was created for user access to the e-Biz Integrator database during the installation process. This role uses the following format: _ROLE where is your site-specific role name provided during installation. To grant the role to each created user: 1. Log in to the database as SYS. 2. Establish a connection to the Oracle instance using SQL Plus and the SYS username and password. 3. Type the following command to grant the role to the new user: grant _ROLE to ; The _ROLE role is granted to the user identified by USERNAME. NOTE: For rules permissions, each user can have only one role granted and this role must be the same for all users. Creating Synonyms for Database Objects To create synonyms for the e-Biz Integrator database objects, users must run a database script. To run the e-Biz Integrator synonyms SQL script: 1. Locate the nn_synonyms.sql script in the install.sql_rulfmt56\inst_db\tmp sub-directory of the installation directory. Log in to the directory where the nn_synonyms.sql resides. 2. Run the nn_synonyms.sql script for each user using the following command: sqlplus @@ nn_synonyms.sql> synonyms.log 3. Review the contents of the synonyms.log file for any errors. Ignore the errors related to dropping synonyms. In Sybase or SQL Server The following procedures describe how to create users in Sybase or Microsoft SQL server. The commands are run within the command line program isql, and all references to SQL Server include both Sybase and SQL Server. Except for changing passwords, these procedures are limited to either the system administrator or database owner. Users must have login accounts and a user name in each database they want to access. Adding login accounts, database users, and object permissions can be done by the system administrator, security officer, or database owner. A single person can occupy one or more of these roles. Check with your database administrator for information about your specific environment. The process includes: - Creating login accounts - Assigning users to a database - Defining user groups Creating Login Accounts Login accounts give users access to the SQL Server. To access a database, a login must be assigned to a user name to the databases the user wants to access. Only a system administrator or security officer has the authority to create login accounts. To create a login account, enter the following: sp_addlogin loginName, password [, defdb [, deflang [,sid [, encryptopt]]]] where loginName is the sysname with no default, where password is the login; login is sysname with no default, where defdb is the default database for the login (database is sysname with a default of master), where deflang is the name of the default language assigned when a user logs in to SQL Server (language is sysname with a default of NULL; if language is not specified, language is set to the servers current default language defined by the sp_configure variable default language). NOTE: Changing the server default language does not change the default language for existing logins. The language remains the same as the default language used when the login was added. where sid is the security identification number (SID) [sid is varbinary (16) with a default of NULL. If sid is NULL, the system generates a SID for the new login, specifying a value other than NULL, but the number must not already exist. SID is useful when you are scripting or moving SQL Server logins from one server to another and you want the logins to have the same SID between servers.], and where encryptopt specifies whether the password is encrypted when stored in the system tables (encryption_option is varchr(20) and can be one of these values: Value Description NULL (default) The password is encrypted. skip_encryption The password is not encrypted. The supplied password was encrypted by an earlier version of SQL Server and is used for upgrade purposes only. Assigning Users to a Database To use a database, the server login must be associated with a user name in the database. Only the database owner (DBO) can assign users to a database. From the database in which the user is to be added, enter the following: sp_adduser loginName [, nameInDB] [, group] where the loginName is the user's server login account, where the nameInDB parameter is the name for the user in the database, where the nameInDB defaults to the loginName if it is not specified, and where the group enables the DBO to add the user to an existing group in the database. If a group is not specified, the user is placed in the default group, PUBLIC. NOTES: - To add permissions both in New Era of Networks Rules and in New Era of Networks Formatter, you must add users as users not aliases. They must be members of the same user group. - SQL Server: Permission errors occur if the user is the same as the database owner (DBO). the user must be part of NNSYGRP, but cannot be the DBO. Defining User Groups During installation process, NNSYGRP is created for e-Biz Integrator users. Users must be linked to the NNSYGRP group to access the e-Biz Integrator databases. In addition, each database user, with the exception of the database owner, must be granted permissions to access objects within that database. To add users to NNSYGRP, do one of the following: - To use the sp_adduser procedure, enter the following: sp_adduser loginName [, nameInDB] [, group] where the loginName is the user's server login account, where the nameInDB parameter is the name for the user in the database, where the nameInDB defaults to the loginName if it is not specified, and where the group enables the DBO to add the user to an existing group in the database. If a group is not specified, the user is placed in the default group, PUBLIC. - To use the sp_changegroup system procedure, enter the following: sp_changegroup groupName, userName where groupName is the name of the group to which the user is added, and where userName is the database user name. In DB2 UDB The following procedures describe how to create database users in DB2. It includes the following: - Creating users - Creating aliases for database objects To allow other users to have access to the objects created during installation, a new user must be created with aliases to link the user's objects to the objects in the installer's schema. New users are added to the NNSYGRP group created during installation. You must be a member of NNSYGRP in order to access any of the objects owned by another NNSYGRP member. Creating Users To grant user access to the database, you must create additional user accounts at the local system level. Create additional users in the NNSYGRP group. Creating Aliases for Database Objects Each new user must run a database script to create aliases for the e-Biz Integrator database objects created during the e-Biz Integrator database installation. NOTE: To have assignable permissions, you must be a member of the system group NNSYGRP. Ask your database administrator to create aliases for OS/390. To create aliases using the nn_aliases.sql script: 1. Connect to the e-Biz Integrator database using the user ID of the user you want to add. 2. Establish a DB2 CLP session. Example: db2 connect to user using 3. Locate the nn_aliases.sql script in the \install.sql_rulfmt56\inst_db\tmp directory of the installation directory. 4. Run the nn_aliases.sql script using the following command: db2 -f nn_aliases.sql -l aliases.log -t 5. Review the contents of the aliases.log file for any errors. Ignore the errors related to dropping aliases. ---------------------------------------------------------------------- PMR # 07191 - System Management Guide Description: The WMQI 5.6 System Management Guide contains some errors. Resolution: Page 27, 29, 32, and 34: The NNOT_SHARED_LIBRARY items are incorrect. The tables should read: -------------------------------------------------------------- Database Type NNOT_SHARED_LIBRARY NNOT_FACTORY_FUNCTION -------------------------------------------------------------- Microsoft SQL Server 6.5, 7 dbt26sq165 NNSesMS6Factory Oracle 8 dbt26or806 NNSesOra8Factory Sybase CTLIB dbt26syb11 NNSesSybCTFactory DB2 dbt26db250 NNSesDB2Factory Page 134: The path for the example Makefile is incorrect. o Verify that the following drives are mapped. These drives are supplied in the $(INSTALL)/examples/Makefile. K:\ - The location of the appropriate database installation files. L:\ - The Microsoft Visual Studio 6.0 directory including vc98/bin and vc98/lib. The information should read: Verify that the following drives are mapped. These drives are defined in the example Makefile. To locate the example go to: nnsy\rulfmt56\examples\NNSYrf directory ====================================================================== ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ SERVICE AND TECHNICAL SUPPORT ----------------------------- This is the first release of WebSphere MQ Integrator Version 2.1 for AIX, 5724A8200. It supersedes IBM MQSeries Integrator Version 2 for AIX, 5765D6600. The following APARs have been incorporated into it. Name Abstract IC26734 - SQL ERRORS OCCUR WHEN WORKING WITH DATABASEUPDATE NODE IC26799 - BIP2293 WHEN DEPLOYING A MESSAGE USING PLUG-IN PARSER IC26880 - FAILURE TO START/STOP ALL MESSAGE FLOWS FOR AN EXECUTION GRP IC26952 - CREATION OF RESPONSE MSG FAILS DUE TO NULL NAMEVALUECCSID IC27033 - TRACE DOES NOT SHOW CORRECT DATA - XML STATEMENT WITH A NULL IC27038 - ADD MAPPING IN AN OUTPUT MESSAGE COMPUTE NODE IS NOT POSSIBLE IC27068 - REGISTER A SUBSCRIPTION GIVES THE EVENT ERROR 7053 -UNEXPECTED IC27301 - SETTING MQMD.EXPIRY FIELD TO AN ABSOLUTE VALUE IN COMPUTE NODE IC27350 - RFH2 THAT IS ADDED AFTER THE BODY OF THE MESSAGE SHOULD NOT BE IC27394 - INCOMPATIBILITY BETWEEN MQSI-TIMESTAMP-DATATYPE AND THE FORMAT IC27806 - DATA FLOW ENGINE WILL NOT RECOVER FROM ERRORS DURING DELETION IC27959 - DELETING A DATABASE REFERENCE FROM A COMPUTE NODE DOES NOT STO IC28174 - COMPOUND NODE OF A FLOW CONTAINING LABELS CANNOT BE INCLUDED IC28312 - FLOAT DATA TYPES OF LENGTH 8 ARE NOT HANDLED CORRECTLY WHEN SE IC28324 - COBOL COPYBOOK IMPORT PROBLEM, MESSAGE BIP1812S RECEIVED. IC28401 - BIP2211E ERROR OCCURRED BY USING BYUSERID IN ORDER MODE OF INP IC28443 - BIP1812S RECEIVED USING THE CONTROL CENTER GENERATE FUNCTION I IC28446 - INSTALL GUIDE DOES NOT DISCUSS ABOUT MQSI_PARAMETERS_FILE VARI IC28447 - INSTALL GUIDE PAGE 129/130 HAVE INCORRECT NAMES FOR NT CONSIST IC28452 - RULES NODE - SUBSCRIPTION REFORMAT OPERATION IS IGNORING THE IN IC28518 - 1. CREATING A BITSTREAM THAT CONTAINS A REPEATING SEGMENT OF IC28520 - LOOP ON COMPUTE NODE - REPEATING ELEMENT USES A REPEAT COUNT IC28605 - MESSAGE FLOW LOOP WITH MSGBIP2608I MSGBIP2623I AND MSGBIP2611I IC28607 - HEX FF VALUES NOT VALID FOR STRING TYPES IC28724 - IMPORT OF COBOL COPY BOOK THAT DOES NOT HAVE A COMPLETELY ASCE IC28810 - SUBSCRIPTIONS WON T SHOW UP FOR A SINGLE USERID IC28926 - SIGNED PACKED DECIMALS WILL ACCEPT F AS WELL AS C AND D IC29022 - BIP1812E CAUSED DURING A DEPLOY IN STRUCTURES WITH MANY EBMEDD IC29033 - MQSI V201 USING DUPLICATE FLOW FEATURE TO CREATE MESSAGE FLOW IC29180 - THE INTERVAL DATETIME TYPE DOESN T WORK AS DOCUMENTED IC29184 - XML-PARSE ENVIRONMENT INCORRECT IC29200 - XML MESSAGE GETTING TRUNCATED AFTER PROCESSING THROUGH COMPUTE IC29210 - MQSIMRMCOPYMSGSET CHANGES TWO ATTRIBUTES OF THE COPY IT MAKES IC29235 - SPURIOUS ESQL SYNTAX ERROR IN COMPUTE NODE WHEN SETTING A FIELD IC29371 - MQSI DOES NOT PROPERLY CONVERT HEX VALUE FOR UNICODE CODE-POINT IC29387 - MESSAGE TRANSLATION INTERFACE SEEMS TO HAVE A PROBLEM WITH THE IC29416 - COMPUTE NODE ADD MAPPING TO MRM LAYOUT GENERATES BAD ESQL IC29489 - DBCS MESSAGES WERE NOT CONVERT CORRECTLY FROM PC CODEPAGE TO H IC29506 - MQSI SUPERUSER IBMMQSI2 CAN CHECKOUT RESOURCES, BUT GETS AN ERR IC29632 - MQSI - INCORRECT STRUCLENGTH AND NAMEVALUELENGTH IN RFH2 LOOP IC29775 - MQSI BROKER DO NOT PASS THE MQMD CONTEXT INFORMATION WHEN A IC29789 - IT APPEARS THAT A CDATA SECTION IS MARKED AS "SPECIAL" IN THEXM IC29801 - MQSI V2 FAILS TO RECONNECT AFTER ORACLE HAS BEEN BOUNCED IC29992 - IF DEFAULTHEX IN THE DB TABLE HAS 1000 BYTES OR MORE THEN SPACE IC30171 - REORDER OF ELEMENTS FOR A MESSAGE SET, WITHIN A COMPOUND TYPE IC30173 - MQINPUT CATCH TERMINAL DOES NOT COMMIT DATABASE LOCKS. IC30195 - EG ABEND WHEN USING TWO MESSAGES OF THE SAME STRUCTURE WITHIN IC30424 - AFTER APPLIED CSD2, THE MESSAGE BROKER INTERNAL PROBLEM ERROR O IC30497 - ERRORS OCCURRING DURING MQSI GUI CONNECTION TO ORACLE 8.1.6 NE IC30653 - WHEN YOU UNSET A PROMOTED PROPERTY, DEFAULT IS LOST IC30673 - SQL SYNTAX CHECKER REPORTS ERROR ON VALID SYNTAX WHICH DEPLOYS IC31150 - GETTING AN ERROR BIP1835E. THE CREATE RUNTIME MESSAGE DIC. IC31345 - COBOL IMPORT PROBLEM WHEN LEVEL NUMBERS FIELDS NOT ASCENDING IC31362 - MESSAGE GROUPING FUNCTION ONLY PROCEED THE FIRST MESSAGE IC31445 - DEFINING A STRING MRM-MESSAGE ELEMENT AS NULL-TERMINATED WITHIN IC31787 - MQSICHANGEUSERNAMESERVER ACCEPTS INVALID USERID, AND CHANGES IC31806 - PROBLEM IMPORTING COBOL COPYBOOK. IMPORTER DOESN T LIKE EXTRA IC31825 - BOTHRESH AND BOQNAME NOT WORKING PROPERLY WHEN ERROR OCCURS ON IY12651 - DATA FLOW ENGINE WILL NOT RECOVER FROM ERRORS DURING DELETION IY13621 - MQSI MRM MESSAGE IS CAUSING THE BROKER TO SPIN IY14540 - AIX BROKER CONFIGURATION LIBPATH MODIFICATION MISSING IN DOCUM IY14660 - MEMORY CORRUPTION ON AIX USING DB2 VIA TCP/IP WITH NIS ENABLED IY14720 - MSGBIP2301E WHEN A BROKER TRIES TO LOAD THE MQSI SAMPLE PLUGIN IY14970 - DOCUMENTATION INCORRECT/NEEDS CHANGE ON COMPILERS SUPPORTED BY IY15310 - MEMORY LEAK AND THROUGHPUT DEGREDATION IY16379 - EXECUTION GROUP TERMINATES ON STARTUP WITH BIP2123 IY16620 - MQSI CORE DUMP CAUSED BY ADDRESS ALIGHNMENT ISSUE WHEN BINDING IY16679 - INADEQUATE ERROR MESSAGE PRODUCED FOR EXECUTION GROUP FAILURE IY16970 - DFE STOPS PROCESSING MESSAGES FOR A FLOW. INCOMING MESSAGES BA IY17486 - COBOL STRUCTURES, CONTAINING SIGNED DECIMAL NUMBERS (PIC S9), IY17561 - RULES NODE NOT PROCESSING A MQS EXPIRY NO PROPAGATE FIELD IN SU IY17772 - AFTER UPGRADE MQSI VERSION F/V1.1 T/V2.0.1, MQSI BROKER HANG IY17780 - DFE NOT STARTING PROCESSING OF MESSAGES ON THE INPUT QUEUES IY17806 - WHEN BROKER HAS LONG CONNECTION TO DATABASE, SOMETIMES THE CONN IY17808 - XML PARSER ADD TRUE TO THE END OF XML DECLARATION. IY18104 - CAST FUNCTION INTERMITTENTLY FAILING IY18146 - IF THE BROKERDB IS ORACLE, ADDITIONAL NLSPATH IS REQUIRED. IY18245 - PERFORMANCE FIX TO ADDRESS INEFFICENCY IN BIT STREAM FOR IY18458 - ERROR PUT TO DLQ BY THROW NODE IS UNREADABLE - 4048 ERROR AND IY19242 - LOCAL_TIMEZONE ESQL IS RETURN 239/241 INSTEAD OF 240 ABOUT 50% IY19382 - DATAFLOWENGINE LOOP IY19787 - BIP1205E DATABASE EXCEPTION SQL0302N ON DEPLOY IY20050 - ERROR WHEN OUTPUT TERMINAL THAT IS LABELLED WITH A NAME THAT IY21179 - DFE COSUMING HIGH CPU AND HANGING WITH NO ERRORS IY22261 - BROKER IN AIX SMP ENVIRONMENT MEMORY MANAGEMENT VULNERABLE TO F IY23087 - EXCESSIVE CASHING PERFORMED BY MQSI CAN LEAD TO MEMORY HEAP The WebSphere MQ support page is located at: http://www.ibm.com/software/ts/mqseries/support from which you can obtain the latest information about various WebSphere MQ topics including :- - Hints and Tips - APARs and Fix Packages - FAQs - Support downloads - Newsgroups For the latest versions of WebSphere MQ Integrator Version 2.1 for Windows NT and Windows 2000 documentation see the following Web page on the MQSeries Web site: http://www.ibm.com/software/ts/mqseries/library/manualsa/ The README file shipped with WebSphere MQ Integrator Version 2.1 contains information that was current at that time. The very latest information is available at:- http://www.ibm.com/software/ts/mqseries/support/readme/index.html ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ CSD HISTORY =========== CSD05 - U487579 ________________ This is CSD05 for WebSphere MQ Integrator Version 2.1 for AIX. It is delivered via PTF U487579 for APAR IY41497. It contains fixes for ALL the problems listed below: Name - Abstract IY41497 - CUMUL MAINT #05 FOR WEBSPHEREMQ INT V2.1 FOR AIX IC32907 - SELECT FROM A DATABASE IS NOT RETURNING THE MICROSECON IC32971 - BIP2430 - ESQL CONCATENATION WITH NON EXISTANT FIELD IC33620 - RULES EXPRESSION CHANGES WHEN IT IS APPLIED IC34564 - 'USED IN' DOES NOT SHOW CORRECTLY FOR THE LITERAL THAT IC34708 - RCD NODE CAUSES MRM MSGTYPE PREFIX DOUBLE PRE-PEND. IC34946 - DOCUMENTATION DOES NOT INCLUDE ALL SUPPORTED CODEPAGES IC34947 - NNSY NODES/PARSER NOT PICKING UP THE CCSID OF THE MESS IC35006 - USE OF REPLYTO FIELDS IN THE DESTINATIONDATA FOLDER. IC35011 - WMQI V2.1 - C/T REQUEST TO IMPROVE DOCUMENTATION REGAR IC35013 - ERROR VIEWING THE PROPERTIES OF A RULE CONTAINING FORM IC35052 - ADDRESS TREE COPYING FROM USER PARSER CREATED MESSAGE IC35084 - INPUT CONTROL SET AS REGULAR EXPRESSION + DELIMITER CA IC35097 - COBOL INPORT : DEFAULT VALUES NOT CREATED FOR DECIMAL IC35139 - REPEAT KEYWORD IN MOVE INCORRECTLY REJECTED IN CONTROL IC35298 - REPEATING RECORDS ARE SEEN AS EXTRANEOUS IF THE LAST F IC35342 - CODE PROBLEM WITH MULTIBYTE CHARACTER SETS IC35370 - DECIMAL POINT IS NOT SUBSTITUTED IN MRM COBOL LANGUAGE IC35397 - ADD MSGFLOW VERY SLOW - IMPROVE PERFORMANCE IC35410 - MQSI THROWS NEWERAON FORMAT EXCEPTION AS SETERROR ALWA IC35479 - QUEUE MANAGER HANGS AFTER INITIATING USER LOGS OFF IC35512 - UPDATE TO DOMAIN SECURITY AND AWARENESS DOCUMENTATION. IC35549 - CONTROL CENTER HANGING - DUE TO THREADING PROBLEMS. IC35575 - RENAME MSGFLOW FOR DEVELOPMENT & PRESERVE ORIGINAL COP IC35605 - INCORRECT OUTPUT DATA LENGTH WHEN THERE IS NO VALID DA IC35664 - ONLINE HELP FILES INTEGRATED INTO CSD03 AND CSD04 HAVE IC35769 - DISCEPANICES AROUNDTHE COMPOUND STATEMENT AND CASE FUN IC35806 - BIP9398S,9351S ON IMPORTING THE MESSAGES IN THE SAME M IC35898 - 'TDS Group Indicator written for omitted compound elem IC35939 - DEADLOCKS WHEN USING THE AGGREGATE REPLY NODE. IC35942 - MESSAGES FAIL WHILE UPDATING THE TABLE BMQESTDMSGOUT U IC35949 - XML SCHEMA IMPORT FAILS, WHEN 'SIMILAR' ENUMERATION AR IC36010 - DOCUMENT USE OF CLEARMESSAGE FOR JAVA PLUGIN NODES IC36384 - IMPLEMENTATION OF THE NNSY REPEATING ATTRIBUTE TO FLAG IY24156 - INST_DB NOT RETURNING THE UNDERLYING ORACLE ERROR CODE IY25775 - PROBLEM WITH BIGINT DATATYPE ON AIX IY27218 - ERROR WHEN SELECTING DATETIME WITH MILLISECONDS ON MSS IY34362 - ORACLE DB CONNECTION IS NOT RE-ESTABLISHED IF USER DB IY35755 - REFORMAT FAILS TO FIND INPUT DATA - NEONTRANSFORM ENGI IY36059 - ESQL SYNTAX ERROR CAUSING A EG TO ABEND IY36091 - DOCUMENTATION PROBLEM WITH HOW MESSAGES ARE PROCESSED IY37213 - FOLDERBITSTREAM CONSTANT INCORRECT ON AIX PLATFORM IY37803 - BROKER FAILS TO CONNECT TO ITS DATABASE, AFTER A DATAB IY37824 - WMQI ADMINISTRATION GUIDEIS MISSING DOCUMENTATION FOR IY37844 - NNSYMESSAGELOG MUST BE ACCESSIBLE BY THE BROKER AND IN IY37997 - 'MQCMITS ISSUED WHEN NO MSG AVAILABLE'. IY38039 - MQSICOPYMSGSET DOES NOT PRESERVE UNSET VALUES IY38589 - BIP2228E ON ORACLE DB IPL IY38673 - BIP2135E DATA CONVERSION ERROR DURING CONVERT FROM SJI IY38713 - THE MQMD FORMAT IS BLANK, PROCESSING A MESSAGE USING A IY38799 - RULESET AND ADDED AGAIN AS A FORMATTER MESSAGE TYPE. IY38886 - ZERO LENGTH MSGS ON OUTPUT Q WHEN LOGLVL=3 IY38891 - JAVAW.EXE EXCEPTION (CSD04) ESQL SYNTAX CHECKER IY38894 - MIGRATION FROM V201 TO V202 USING ORACLE 815 IY38935 - IN RULES EXPORT FILES AN EXTRA SPACE AFTER AN EXIST OP IY39051 - ALTERNATIVE FORMAT DOES NOT FIND IT'S INPUT DATA IY39777 - CSD04 CAUSING DB2 STORED PROCEDURES TO FAIL. IY39952 - ERROR BIP5341 OCCURS WHEN COPYING MRM INT FIELD TO STR IY40097 - CASE FUNCTION CANNOT RETURN LIST/ROWS - BIP2556 IY40186 - SEMOP FAILURE IN IMBNAMEDMUTEX CAUSES DATAFLOWENGINE A IY40730 - 'MQINPUT NODE: MESSAGE TYPE SHOULD SHOW IDENTIFIERS NO IY40842 - MQSI NOT USING 'C' AS A CODE FOR SIGNED EBCDIC EXTENDE IY41088 - 'END OF BITSTREAM' DOESN'T WORK FOR BINARY ELEMENTS. IY41996 - ACCEPT ZERO LENGTH STRINGS FOR MRM NUMERIC FIELDS IY42133 - TEXT FOR ERROR BIP5199 NEEDS TO BE CORRECTED. PQ66950 - MEMORY LEAK WHEN USING THE NEON FEATURE OF WMQI. PQ67615 - CNIELEMENTCHARACTERVALUE/CPIELEMENTCHARACTERVALUE CAUS PQ70700 - ABEND0C4 OR DICTIONARY LOAD ERROR INTERMITTENTLY WHILE PQ71204 - UPDATE TO THE PROGRAMMING GUIDE ON HANDLING ERRORS RET PQ71205 - BIP5502E:MRM INT/FLOAT->EBCDIC INC. SIGNED EXTDEC WITH PQ72256 - BUILDING A C++ USER EXIT LIBRARY, CUSTOMER MUST USE TH 24125 - MRM: Msg 5424 user response could be more helpful. 27730 - HOT:ACORD:VAL:BIP5374 output ACORD message 28447 - Resource Manager cannot handle WMQI 5.0 dictionaries 28806 - v2.1 csd 03 breaks IH05/IC02 SupportPacs 28835 - Dublin - Incorrect parsing 29230 - XML Schema Importer does not handle UTF-16 + See comment 29382 - logErrorData macro causes java core dump in CMI on AIX p 29648 - When trying to run the sample program scribble on window 29862 - Merant driver updates 30107 - Problem importing a DTD 30150 - Invalid ESQL syntax checker scope error when using proce 30263 - readme update for ACORD 30709 - Poor perf. expanding large MRM structures in Compute nod CSD04 - U485544 ________________ This is CSD04 for WebSphere MQ Integrator Version 2.1 for AIX. It is delivered via PTF U485544 for APAR IY36047. It contains fixes for ALL the problems listed below: Name - Abstract IY36047 - CUMULATIVE MAINT #04 FOR WEBSPHEREMQ INTEGRATOR V2.1 FOR AIX IC33207 - SILENT INSTALL FOR CSD FAILS IC33620 - RULES EXPRESSION CHANGES WHEN IT IS APPLIE IC33844 - JUMPTORULES FUNCTION NOT WORKING THROUGH FORMATTER GUI IC34178 - USING DATE FORMAT FROM XML TO MRM, THERE IS A DECREASE OF ONE IC34394 - MQOutput node abends when writing aggregated reply message IC34449 - ZOOM FACTOR FAILS WHEN VIEWING A MESSAGE FLOW USING 'FIT TO IC34463 - 2068 ERROR WHEN A FAILED MESSAGE IS BACKED OUT TO A CLUSTERE IC34470 - BIP1813W OCCURS WHEN TRYING TO ADD A PHYSICAL LAYER ON A MESSAG IC34489 - USE OF INVALID CODEPAGE IN MRM CAUSES BROKER TO ABEN IC34526 - PROBLEMS IMPORTING XML SCHEMA FILE USING THE NEW PROVISION IC34563 - BIP5288E ERROR AT CSD03 LEVEL IC34594 - UNABLE TO RENAME A MESSAGE FLOW ON THE LEFT PANEL OF IC34602 - A BROKER DATABASE CONNECTION *LEAK* UPON MQISDP CLIENT IC34651 - PROPAGATED SUBSCRIPTION RECV'D ON SYSTEM.BROKER.CONTROL.QUEUE IC34656 - AFTER CSD03, COPY AND PASTE ON A MESSAGE FLOW DOESN'T WORK IC35035 - XML SCHEMA IMPORTER IS MISSING AT U200179 LEVEL OF WEBSPHERE IY29380 - BIP8146E MESSAGE IS NOT PICKING UP THE CORRECT INSERT FOR REGIS IY30276 - Problem selecting > 1998 bytes from Oracle CLOB column IY31377 - IMPORT NEW ERA FORMATS FROM OLDER VERSION INTO V2.1 IY32488 - EXCEPTION LIST OMITS NEON DETAILS IY33022 - XA TRANSACTION BETWEEN A SOLARIS BROKER AND DB2 ON OS/390NOT WO IY33142 - IMPLICIT AND EXPLICIT DATA CONVERSIONS FOR MATH EXPRESSIONS. IY33716 - AggregateReply node loops following catch terminal IY33904 - STATUS OF REMOVED MESSAGE SETS IS NOT UPDATED CORRECTLY ON THE IY34240 - BIP2080 MESSAGE IS LOGGED IN SYSLOG BECAUSE EXECUTION GROUP ( E IY34332 - THE VDB CAUSES A BIP5009E FOR SOME FIELD NAMES IN NON-XML IY34561 - DATABASE EXCEPTION WITH AN SQLCODE =-501 IY34804 - AGGREGATE NODES FAIL TO DEPLOY UNDER XA IY34805 - WMQI 2.1 CSD 03 LATE BREAKING TDS UPDATES AFFECTING SWIFT USERS IY34949 - COALESCE INCORRECTLY RETURNS A NULL VALUE. IY34951 - NEGATIVE EXTDEC WITH TRAIL 0 INCORRECT ON SOME EBCDIC CODEPAGES IY35037 - THE CWF TAB HAVING STRING JUSTIFICATION SET TO RIGHT JUSTIFY AN IY35159 - PROBLEM DETERMINATION GUIDE ON PAGE 39 STATES THAT HARD LIMIT IY35724 - TDS PARSER FAILS TO DETECT THE END OF A REPEAT. IY36341 - NO INFORMATION/INSTRUCTIONS AVAILABLE FOR UNINSTALLING NEW PQ66348 - THE BITSTREAM FUNCTION HAS BEEN REGRESSED IN CSD03 WHEN PQ66584 - WMQI DOESN'T FREE UP CACHE FOR PREPARED STATEMENTS. PQ66773 - ASBITSTREAM IS NOT AVAILABLE IN THE CONTROLCENTER FUNCTION PQ66774 - ASBITSTREAM FUNCTION IS NOT DOCUMENTED IN THE ESQL GUIDE PQ66775 - CONTROL CENTER DOES NOT ACCEPT ASBITSTREAM WITH ANY OPTIONS, PQ66803 - SELECT STATEMENT WITHIN PLUGIN NODE CAUSES SQLSTATE HY010 f20575 - MRM-Select layers to be pasted f24996 - IO02 message file need uppercase names f25963 - EUI "RegExp" verifications on "Data Pattern" value member f26073 - Improve messageset identifier usability f26106 - Tidy up DataConv error messages 11098 - Only first added broker is shown in collective's properties 15870 - Smartguide name edit controls allow names > 254 characters 16174 - Message pane does not display message clearly 16953 - Message flow view reset while flow is being modifie 17059 - one item of each type displayed as property for a collection 17288 - Exception Delete MsgProcNode from flow use pulldown/Delete key 18981 - Usability suggestion for Create Element Value 19499 - Broker subscriptions cannot be selected using the mouse. 19780 - Promote Property dialog wrong display after window /pane resize 20518 - Plug-in Wizard attribute/group ordering 20585 - Copying and pasting message flows and sets in assignments tab. 20794 - Node with promoted properties should not be delete 20860 - MRM-Inconsistent error messages 21679 - On-line help can't be invoked from Check Message Flow dialog 21905 - Focus does not default to parent if tree object delete 22009 - checkin and unlock very close together. 22222 - Type field not highlighted by tabbing if no selection made 22271 - MQSI2.1:GUI Nodes:Context menu is not getting cleared after Es 22522 - For all TDS string properties, the length > 254 is accepte 22601 - Finish of import dialog should be disable after remove all file 23511 - MRM-can edit frozen message set tab but then lose changes. 23571 - Dbl-clicking brings up properties when properties are disable 24196 - STRESS: repeated SEGV in aggr timeout threa 25183 - Topics: Principal highlight moves when navigating ACLs dropdown 25320 - MRM-User can create messages with base types 25353 - Decimal values are allowed in a numeric fiel 26231 - corruption of ImbStringBase object 26461 - NEON nodes in the export list when exporting from configmgr 26570 - Unable to Ctrl+Tab through node properties 26724 - Subscriptions: Unable to browse subscriptions using U/D arrow k 27442 - MRM:TDWF Tag is not setting default value correctly 27726 - ACORD:VAL:5371 on Parse/validate ACORD embedded compound type 27727 - Check out list dialog displays new objects 27753.1 - Internal error raised by PWFData 27786 - Broker registry key remains on Win XP 27841 - SWIFT:VAL:min and max occurs not validated at compute node 27844 - SWIFT:VAL:Closed type inside opendef makes opendef act close 27846 - ACORD: MRM BIP5506 in ACORD Message if non-? 27853 - ACORD:VAL:MRM Anon field inheriting values from prev elements 27891 - ACORD:MRM BIP5421/BIP5505 parsing repeating ACORD message body 27911 - Select As Function is wrong flagge 27921 - SWIFT:VAL:Missing mand. not validated after selfdef elem on o/p 27929 - SWIFT:VAL: MT562, problem with repeat within repeat validation 27944 - SWIFT:VAL: MT210_0015 repeat seq. causes DFE loop 27955 - SWIFT:VAL: MT300 repeating sequence causes val failure. 27958 - SWIFT:VAL: MT600 failis validat'n seqB missing but seqC present 27971 - ERRMSG BIP5452 has minor typo 27978 - SWIFT:VAL: Embedded Message in MT792 causes validation error 27979 - EUI Check out list causes workspace updates to be lost 27986 - EUI Java exception adding value constraint 27988 - SWIFT:VALID: MT521I messages giving BIP5371 27991 - EUI MRM unexpected hierarchy collapse 28005 - Interface to RgXExp matcher to take end offset 28026 - SWIFT: VAL: MT450: 52B: wrong path in choice being validated. 28037 - SWIFT: 2002: MT501 has 16R with missing : on output. 28047 - SWIFT: VAL: MT562 Some still failing 28048 - SWIFT: VAL: DFE Loop with MT801 message 28056 - SWIFT: 2001: VAL: MT204 57A: failures with validation. 28057 - SWIFT: 2002: VAL: MT103 invalid data pattern in 53B 28059 - German CSD3 Refresh install contains one garbage char 28088 - Correct m_Parent issues 28090 - Sub-field naming for SWIFT field 71F is incorrect 28099 - Failure using EVAL() in filter node on OS/390 28123 - SWIFT: Mset Problem MT500 field MT500^A should be optional 28124 - SWIFT: MT330 Fails to parse 28165 - SWIFT - 2002 failures: MT210, MT306, MT307, MT308 28171 - SWIFT - Modelling problem with 2002 MT321 28172 - Update the preimporter 28180 - The NT/2K CD for CSD03 does not install. 28183 - SWIFT : Missing sequence B1 in MT571 definition 28185 - Allow for MQSeries differences in endmqlsr 28187 - SWIFT: MT700 41D: extra inserted. 28195 - SWIFT: 2002: MT500 missing optional seq B1 not parsed correctly 28198 - SWIFT: 2002: MT514 SeqE shoulkd allow 3 not 2 repeats of 22F 28199 - Embedded messages no longer separated by delimiter of parent 28202 - SWIFT: 2002: MT536 etc. 98A/B/C repeats incorrect 28203 - SWIFT: 2002: MT519 etc repeats of 94C incorrect 28210 - SWIFT: 2002: repeats wrong in MT529 for 70 28213 - SWIFT: 2002: MT584 17B repeats wrong. 28215 - SWIFT: 2002: MT574 data pattern inccorect causes parse fail 28216 - SWIFT: 2002: MT578 seqE 17B should be optional 28217 - SWIFT: 2002: MT308 some msgs give BIP5371 with tags 22H or 19B 28221 - SWIFT: 2002: MT380 test 0004 fails with BIP5377 28228 - During uninstall psapi.dll gets locked by MQ5.3 28229 - SWIFT: 2002: MT513 test 1661 gives BIP5375 on seq F 28238 - SWIFT: 2002: MT500 parsing error 28241 - SWIFT: 2002: MT519 95S/P/U/R repeats wrong 28246 - SWIFT: 2002: MT578 seqD 20C should have 2 repeats 28247 - SWIFT: 2002: MT308 tests fail due to 70C in B4B being mandatory 28276 - Abend of DFE following several thousand SWIFT tests 28332 - Datetime problems 28350 - The MQInput node 'validate' property should not be present 28362 - Mandatory binary elements 28375 - AS400 database: (GEAC) broker loops in fetch with Client Access 28514 - MRM- Empty tags in mcd cause broker aben 28532 - Tag comparisons in parser 28548 - Res. Mgr. caching of dictionaries failing 28612 - Persistent msgs written to Temporary Dynamic Queues 28668 - Plug-in Wizard attribute group drag and drop 28682 - Finish of import dialog should be disabled if no text entere 28704 - Merant Driver Manager update 28706 - Aggregation performance improvements 28755 - Apply track 27891 in CP000_dea 28946 - REGR:Drag and drop into an execution group fails with BIP00004E 29097 - ERRMSG BIP5452 has minor typo 29100 - Unable to drag & drop more than 1 msgflow into an exgrp 28946 29144 - Build error on 390 caused by defect 28514 9177 - Inconsistent adding of brokers between Domain and Topology pan CSD03 - U483514 ________________ This is CSD03 for WebSphere MQ Integrator Version 2.1 for AIX. It is delivered via PTF U483514 for APAR IY31451. It contains fixes for ALL the problems listed below: Name - Abstract IY31451 - CUMULATIVE MAINT #03 FOR WEBSPHEREMQ INTEGRATOR V2.1 FOR AIX IC28837 - RENAME A DEPLOYED FLOW, DEPLOY EXEC GROUP SHOWS NEW FLOW NAME I IC29837 - COMMIT BY GROUPID DOCUMENTATION NOT CLEAR ABOUT ROLLBACK IC30627 - EXPLANATION OF CARDINALITY FUNCTION IS INCOMPLETE AN IC30970 - GLOBALLY CO-ORDINATED FLOW INVOKING NEON PARSER CAUSE XA PROBLE IC31219 - MQSI STACK OVERFLOW BY MESSAGE FLOW THAT LOOPS IC31421 - IN MQSI 2.0.2 USERIDENTIFIER IN MSG CONTEXT GETS SET THE USERI IC32774 - PROBLEM WITH COPY MSG HEADERS IN COMPUTE NODE IC32883 - BIP5341 ERROR IS THROWN WHEN ASSIGNING DATE VALUES TO THE MRM IC33120 - IMPROVE DOCUMENTATION ON THE NEW BEHAVIOUR OF PARSERS IC33126 - INCORRECT COPYBOOK IMPORT CAUSES CONFIGMGR TO HANG IC33163 - MQI V2.1 MRM CWF PARSER BEHAVIOUR NEEDS TO BE CHANGED TO OPERAT IC33180 - THE MRM PARSER WILL NOT ACCEPT AN MRM FOLDER THAT HAS ANY FIEL IC33333 - MQE SUBSCRIBER RECEIVING A MESSAGE CONTAINING CERTAIN BINARY CH IC33382 - TDS PARSER THROWING ERRORS FOR REPEATING FIELDS. IC33383 - INSTALLING THE CSD02 ON A CONTROL CENTER MACHINE ONLY GIVES IC33412 - XML TO IDOC CONVERSION RESULTS IN TIMESTAMP PROBLEM IC33445 - VISUAL DEBUGGER CAN'T HANDLE MESSAGE FLOWS IN WHICH THE MQINPUT IC33480 - BIP5009 PARSER ERROR - VISUAL DEBUGGER ADDS SPURIOUS END TAG IC33490 - COBOL IMPORTER INCORRECTLY SETS THE PADDING AND JUSTIFICATION IC33549 - AIX BROKER CSD02 UNABLE TO PARSE TAD/DELIMITED MESSAGE - TREATI IC33588 - EXTENSIONS TO MQSIIMPEXPMSGSET TO HANDLE ERRORNEOUS COBOL IC33610 - BIP0068E CONTROL CENTER STARTUP PROBLEM IC33627 - CCI_EXCEPTION PLUGIN SAMPLE TO BE UPDATED TO INCLUDED AN EXAMPL IC33693 - BIP1812S WHEN IMPORTING COBOL COPYBOOK ON MQ V5.2 IC33699 - DEFAULT VALUE FOR THE DATE IS NOT BEING UNDERSTOOD BY ONE OF TH IC33728 - MRXCOBOL.DLL OMITTED ON CC ONLY INSTALLATION. IC33871 - WMQI TRIMMING FIXED LENGTH ELEMENTS IS CAUSING PROBLEMS. IC33959 - MQSIREADLOG/MQSIFORMATLOG GIVES BIP8029E ERROR WHEN USERI IC33962 - MRXYYYY.DLL'S BEING UNLOADED AS MSG SETS ARE BEING WORKED ON IC34001 - NEW ERA DOES NOT WORK ON HP PA-RISC1.1 MACHINE IC34041 - CONTINOUS PUBLICATION NODE RESULTING IN EG FAILURE WITH BOOTSTR IC34060 - PROBLEM WITH ESQL EDITOR IN THE COMPUTE NODE WHEN ENTERING WHEN IC34115 - COBOL SIGN KEYWORDS NOT USED ON DECIMALS DURING IMPORT IC34191 - COBOL COPYBOOK IMPORTER SETS MINOCCURS INCORRECTLY IC34206 - SCADA SUBSCRIPTION FAILS ON 2ND BROKER IN A COLLECTIVE IC34246 - BIP2461E WHEN INTERNALLY CASTING CHAR TO DECIMAL IC34289 - WHEN AN EXECUTION GROUP IS RENAMED - IT REVERTS TO THE OLD NAME IC34391 - DB2 INSTANCE PARAMETERS MAXAGENTS AND MAXAPPLS NEED TO BE SET IY21834 - case#1274377 CHAR CONVERSION NOT PERFORMED ON CLOBS PASSE IY26056 - ADDING MQCIH HEADER TO THE MESSAGE AND ENCODING AND CCSID VALUE IY27441 - MQSI V202 BROKER CAN T RESET BIP2135E STATUS ONCE THE MESSAGE IY28005 - LOOP ON MSG BIP2609E BIP2608E BIP2610E IF THE MQINPUT NODE IS A IY28995 - BIPSERVICE TERMINATING ON AIX IN AN ENVIRONMENT WITH LOT OF MQS IY29128 - BROKER 'CONFIGURATION MESSAGES' ARE SENT TO THE MQSERIES DEA IY29419 - BROKER EXITING EARLY BEFORE CONFIGURATION MESSAGE ARRIVE FROM E IY29461 - ADD TO DOCUMENTATION THAT IT S NECESSARY TO HAVE A MATCHINGCALL IY29896 - REPEATING FIELDS, VIA REPEATING ATTRIBUTE, DO NOT WORK IN THE IY30451 - BROKER ABENDS WHEN PARSING AN XML MESSAGE AGAINST A MESSAGE IY30965 - WMQI V2.1 PARSER LOOPS IF NO MESSAGE BODY TO AN XML DOCUMENT IY32778 - MQSILIST COMMAND SHOWS NO RESULT OR ERROR IY32888 - PROBLEMS WITH DEPLOYING THE EXECUTION GROUPS THAT ARE IN INVALI IY33138 - INPUT MQRFH2 MCD FOLDER DETAILS INCORRECTLY USED IN RCD NODE IY33268 - EXECUTION GROUP ABENDS AFTER SELECTING THE CONTINUE WHEN A FLOW IY33912 - MESSAGES GO TO DEAD LETTER QUEUE WITH DLH REASON CODE 65536 PQ56571 - MQSICREATEBROKER ON Z/OS FAILS WITH INCORRECT INSTALL PATH PQ57687 - SETTING FOR ICU_DATA IS ERRONEOUS PQ59154 - RUNNING MQSICUSTOMISE CAUSES DATA TO BE APPENDED TO BOTTOM OF PQ60310 - 0C1 ABEND WHEN STARTING WMQI DATAFLOW ENGINE PQ60976 - LARGE MESSAGES IN MESSAGE FLOW CAUSE DEBUGGER TO LOSE PQ61201 - 'LOCAL ENVIRONMENT' IS BEING CALLED 'DESTINATION LIST'BY DEBUGG PQ62125 - NEED DOCUMENTED GUIDELINES ON LOGGING 1GB LOB COLUMNS. PQ65755 - WMQI SHOULD EITHER PASS THE USERID AND THE PASSWORD ON THE f13552 - Improved Flow of Control in SQL f13638 - Improve ConfigMgr Role Management f14155.1- MRM dictionary validation f14313 - Relocatable runtime capability needed on UNIX f18003 - Unable to insert BLOBs/CLOBs of >4k in oracle f19256.4.1 - Implement indexes on non-390 platforms f19256.4.3 - Make broker table lock switchable f19604.2- Performance enhancements: DataFlowEngine f20573 - Exit to flow NT domain info from Control Center f23727.1- Reduce AdminAgents memory requirements on deploy f23841 - Enhanced BITSTREAM function f24881 - Improve scalability of large message processing f24911 - Upgrade MQSeries Everyplace to latest level f25127.2- Enhanced THROW statement f25879 - Optionally disable comment in MRM-XML f25959 - Allow amount fields to contain a trailing comma f25963 - Parsing using regular expressions f25967 - mqsiimpexpmsgset defaults reset f26060 - ModelMessages.properties correction f26066 - Datetime defaults inconsistent between CWF and TDS/XML f26081 - GenXML: Enable quotes in Processing Instructions f26087 - General feature for the SWIFT messageset work f26106 - Error Message Architecture review for MRM f26124.1- Generate runtime objects for SQL f26172.1- Minimise UnicodeString use in dataconv f26172.2- Remove UnicodeString from bitstreamworkerstatechecker f26309 - A set of User/Group Plug-ins to improve Performance f26336 - Optimized (small) jar for MQe clients f26480 - CSD03: ship new WMQI license text f26613 - Support for E format floats in TDS f27040 - Switch on XA fix f27332 - Customers want to access the database from inside SQL routines f7631.3 - Allow zero or more input terminals in the plugin wizard 10775 - BIP2212: Error message does not say which node caused the error 11522 - mqsicreate... qmgr exists but no DLQ 11721 - C & P. Cross-msg-set warning is insufficiently selective 13040.4 - Allow format field of header to be set for IDO 14996 - Change default setting in export preferences 15614 - Errors written to event log when catch terminal is connected. 15624 - MQInput node catch terminal changes the exception list 15869 - Smartguides : Element no removed from list if added to Summary 16522 - Inconsistent behaviour if renaming broker & checked in Topology 17516.3 - CWF Padding char different on 2.1 from 202 17877 - MRM-Properties Pane History and Description Tab entries lost 18047 - MRM-BIP0074E 1. presentation inconsistent 2. Inappropriate wor 18229 - Database Node message now appearing on Failure Terminal 19266 - MRM msg BIP0707E text 19501 - Broker subscriptions cannot be deleted using the delete key. 19508 - Default domain list for MQInput, MQeInput etc needs JMSdomains 19557 - Help window doesn't close when Argo is shut down 19575 - Help "Tour" window close when Argo is shut down 20175 - Need to characterise behaviour of XA with 2 DSNs resolving to a 20256 - spaces in physical format name causes problems 20501 - cut and paste of elements not working for XML layer in CC. 20583 - String "PublicGroupRef" not translated in Topic View 20676 - DFE startup trace cannot be obtained. 20715 - Cannot access 'Refresh' using shortcut key 20999 - Testing TDS properties values unitary, MRM refuse EUI right val 21369 - MRM: When changing properties of a type within a sequence type, 21446 - Command-line usage is inconsistent with other products 21459 - loop back connections hidden if nodes are rotate 21565 - List option gives wrong error message 21640 - CC Syntax Checker rejects UUIDASxxxx functions on RHS of !! fn. 21715 - CAST decimal to decimal fails 21770 - Consistency between Syntax Check of BITSTREAM and FIELDNAME fns 21826 - tdsextractor: Incorrect text in warning message - PT_WARNING 21989.1 - Validation of CWF pad character 22077 - Improve ImbLanguage tracing 22367 - Tidy up ImbConsoleParser code 22506 - Debug node shown in Add Message Flow list only on Assignments 22514 - 'Undo' does not fully work on Assignments page 22594 - Remove Delete of element under elementQualifier should disable 22607 - Missing mnemonics Value Constraint/Language Binding/Physical Fo 22612 - Create an element with an existing name should be forbidden 22672 - Messages 9141 & 9142 should be informational 22854 - Wrong logo for warning message in Topics properties 22930 - ERRMSG: BIP5511: inserts wrong, raw conversion error code 22980 - ERRMSG: MRM BIP5180 message text 22983 - ERRMSG: MRM BIP5505 message content 23060.1 - Remove use of MQSI_DONT_XA_UNENLIST 23130 - TDS floats don't use non-standard negative signs on output 23436 - BIP9177I is misleading. 23456 - MRM-Check-out confusion follows Finalize Failure 23514 - Progresss bar in Visual Debugger title contains MQSI reference 23550 - FIELDVALUE function badly neede 23623 - ERRMSG: MRM BIP5199 message content 23729 - Length of element.Tag value should equal parent type.Tag Length 23761 - dump of BAGGRGEATE table does not correctly show NULL data 23764 - insert missing from message - so produced wrong value 23794 - The message BIP8137 is uninformative 23931 - Copy message flow after compute node properties 23988 - 2.1->2.02: Relax broker to allow bytes for Ext Dec Length Units 24007 - Message in rstclog written incorrectly. 24037 - Create Broker uses -k flag with diff meaning to 2.1 24090 - Semaphore can be left locked if exceptions are thrown 24116 - RFH2 Parser is very slow 24149 - Message BIP9172E should be BIP9172I. 24232 - MRM-4 MRMBxx22 testcases are failing 24287 - BIP2163 text missing apostrophe 24344 - MRM Generate messagebook xtrcterr.log content 24414 - Import MFs - Wrong displayed BIP0662W when there's MF category 24433 - Debugger - No mnemonic for the Settings in Actions menu 24434 - Debugger - Mnemonic "O" is used twice in Actions menu 24464 - Plugin Node - After drag and drop , attribute duplication 24499 - OS390: 2060 should be sent to the console by default. 24575 - Inconsistent behaviour when more than one choice in message. 24589 - Repeating compound type >max occurs not output correctly in CWF 24694 - Type-o in scripts/...template/dsnaoini SUBSYSTEME 24733 - Aggregated response contains data from another group 24805 - MtiImbSyntaxElement::copyElement(ImbSyntaxElement* source) 24861 - MRM Skip count does not work for compound elements 24997 - Messages BIP2206I, BIP2282W, and BIP2320W are obsolete. 24998 - Message BIP3902I is obsolete. 25045 - Check for correct ODBC driver level 25072 - Aggregation node gives DB2 error 25178 - TDS doesn't output default values for missing fixed elements 25369 - Multipart: Message embedded in choice failing for AED/VL/FL 25427 - TDS Fixed length output incorrectly for repeating choice. 25431 - Using DBCS name does not seemed to work 25456 - ERRMSG: Wording of BIP5429E needs amending 25527 - Bad error message when saving log 25559 - MRM BIP5168 message content 25573 - -l option iseen n help text for configmgr commands 25590 - Invalid field values in MQM 25600 - RecoverableException ?????????? 0 ?????????? 25652 - MQeMbMsgObject's priority field set incorrectly 25672 - MQMD field values differ between MQe & MQSI 25673 - Exception on setting value 9996 into Feddback field for Mb msg 25735 - setUniqueId declared as public in MQeMbMsgObject 25746 - MRM- Null Handling CWF Integer Extend Dec Padded Literal Null 25748 - ERRMSG: CWF General Error BIP5167 insertions are muddled up 25754 - GUI allows TDS esc of more than one char 25758 - Data conversion to code page 932 (double byte) and back to 437 25824 - MRM TDS and multipart message keys 25830 - Select As Function is wrong flagge 25835 - Call to execute a Stored Procedures fails on z/os. 25842 - MRM- Null Handling TDS Fix Length Float NullLog / Pad confusion 25857.1 - XML Schema Extensions and Restrictions 25899 - Changes with 25636 coming up in English on NLV 25903 - Not seeing Control Center log if security exits set MCAUserI 25914 - MRM:No hourglass cursor while expanding large message subtree 25925 - EVAL cannot execute a CALL statement 25934 - CWF:Multiple levels of unresolved messages/choice not supporte 25939 - Add message popupmenu item only available on Compoun 25944 - Severe Abend when NEON parsing is used with MQeInputNode 25978 - TDS Validator to check for unbounded repeats 25986 - PrivateRegistry causes MQeInputNode failure 25993 - Deploy failures cause a cascade of failures 26002 - Unable to add panes for nested multipart msgs in compute node 26003 - In the EUI, Attributes cannot be specified on the XML Root Tag 26014 - BIP5355 messgae content 26016 - STRESS: BIP8303 produced by broker during cache update 26019 - Syslog does not report failure to load lils 26022 - Insert missing in BIP9170E when compcif not found. 26024 - Aggregation stress test abends after 20 mins 26042 - MRM- Broker Abend due to 'StrToDatetime' metho 26046 - MRM TDS Message Format with NULLs not Parsing Correctly on 390 26054 - MRM-Trace node stops tracing tree at an unresolved choice. 26075 - MRM-CWF IEEE floats not as accurate on 390 as they should be 26076 - Stack overflow in TDS parser 26084 - Certain MRM tests fail on AIX and Solaris. 26086.1 - Covering TDS Parser side of 26086 26091 - Incorrect length of ISA 26096 - Regression breaking plugin input nodes with MRM messages 26097 - Stopped flow not recreated on broker stop/restart 26109 - Broker abends when parsing an XML message 26127 - broker crashes if java node accesses GlobalEnvironment 26130 - MQe/SCADA Participant tables are not protected by a semaphore 26131 - In testing for repeating tags look for group in 26133 - MRM CWF setting to null unexpected short message 26134 - mqsimrmimpexp - mispelling in help instructions 26137 - MRM TDS Data lost on output 26138 - BIP2011 message content 26140 - NT handling of 390 floats has regresse 26155 - ERRMSG: BIP5004 full of meaningless numbers and terms 26160 - Multiple topics import incorrectly 26181.2 - CC not prevent user to repeat element in simple unordered type 26182 - Poor diagnosis of missing length count 26185 - Pubsub expiry tests failing since clock change to BST 26189 - DTD Importer-Imports mixed content model as ordered set 26190 - Abend of DFE when a message set is deploye 26193 - Use of 16S as group terminator failing in TDS 26198 - MRM- XML Schema Importer incorrect treatment of "fixed" 26203 - MRM- XML Schema Importer namespace errors 26225 - MRM- XML Schema Importer NOTATION datatype not recognise 26226 - MRM- XML Schema Importer Name datatype not recognise 26227 - looks like a syntax error in ImbPointer.hpp 26237.1 - CMI: (stddi) BIP5323, BIP5323 defined in wrong place. 26237.2 - CMI: (bsutils) New PWFCh & PWFString implementation breaks CMI 26237.3 - CMI: (stddi) StdDictionaryIterator uses ImbOwnedLogSource 26237.4 - CMI: (cwf) CWF worker specific CMI resync changes 26239 - MRM- XML Schema Importer "use" clause on attribute not importe 26247 - Sample DB2 switch load file must be rebuilt for MQ 5.3 26248 - MRM- XML Schema Importer wrong treatment of recursive import 26249 - GenericPropertyParser class name should bt upper case 26262 - Error in Neon 26272 - Parsing of empty 16R 16S sequence fails 26307 - DFE fails to start with 0c1, if region size too small 26317 - MRM- XML Schema Importer MaxExclusive for STRING wrong 26321 - Change abend code from 2C3 to 2C1 26322 - MRM- 5354E MTI Internal Error with TDS layer 26324 - CWF parameter 'First Week of Year' in message sets on C 26337 - The lil imbdfneo.lil can not always 26339 - MRM- XML Schema Importer "nil" namespace prefix 26343 - MRM- XML Schema Importer using Finalized Message Set 26380 - MRM- TDS Writer Internal Error BIP5432 26384 - Performance inline 26398 - e-fix2961:Broker abend with TDS containing embedded message 26425 - TDS with VDP set and explicit decimal gives incorrect output 26431 - Parsing of LX loops in X12 not correct 26439 - mqsi_setupdatabase creates link for wrong libraries 26447 - Glossary generates the German version. 26454 - HOT: MRM-Certain chars in doctype text cause serious CC errors 26460 - Import Topics enabled and processed when Topics not checked-out 26471 - Multipart messages with absolute paths cause abends 26475 - MRM- Broker Abend when writing to TDS with Base & Simple Types 26491 - MRM DTD Generator and Choice elements 26499 - mqsideploy -r doesn't work in Japanese environment (CCSID=932) 26502 - No retry on BSUBSCRIPTIONS table lock. 26503 - Hang in JVM during DFE termination. 26536.1 - Disable Member Rendering for Compound Elements 26572 - I enter a direct setting to a float in the ESQL of a compute no 26594 - Syntax checker flags CREATE ... AS X as error 26616 - Registry setting needed for trace file size 26628 - Exception for TDS input of multipart recursive message 26645 - ESQL statement deleted if comment was defined in another Locale 26646 - 'Reply Queue*' fields NOT disabled when 'Request' is unselecte 26664 - Unknown locale "null" causes core file 26672 - load failure of brokerprincipalsg110 when broker security set 26691 - Priroty being allocated to higher level repeats in X12 26700 - MRM- Datetime Element Value does not allow 24hr clock times 26717 - Oracle package names not recognised on CALL of external (store 26725 - Warning 2235 generated during broker deploy 26738 - Arguements not being passed properly 26744 - Need way to call JVM signal handler on aben 26747 - XML - Inconsistent xmi.label for Suppress Timestamp Comment 26779 - oracle9i changes for solaris and HPUX in mqsi_setupdatabase 26787 - Invalid CCSID causes aben 26796 - configmgr jvm heap size goes negative 26805 - MRM- DateTime template value constraints can't be deploye 26820 - MRM- Decimal Output incorrectly truncated - REG 26822 - MRM- Decimal TDS Precision not working correctly 26865 - Precision should not be applied to float or decimal on iput 26867 - S210M-L20529_D solaris MRM m/set deploys fail. 26869 - Incorrect conversion of MbXException to ImbRecoverableException 26871 - Missing text continuation characters in ModelMessages file 26881 - A call to getData() on a MtiImbSyntaxElement Usertrace error 26883 - Package new UserGroup plugins 26890 - When creating the execution group, it appears to pass although 26892 - bipconfigmgr.exe dies when connection from Control Center attem 26898 - Plugin Sample code causes exception violation. (STILL) 26904 - ImbParserManager.cpp", line 76.100 26916 - Never deleting iMutex in ImbConfigurationNode::Transaction 26924 - Japanese translation error on MRProject_ja.properties 26926 - MRM-XML Suppress Timestamp Comment should be Yes/No dropdown 26931 - Unable to use new version of MA88 in Java node. 26935 - MRM-MRMB3426 causes dfe to enter tight loop 26938 - MRM-Can no longer import old message set 26950 - Params_ko.properties needs fixing 26953 - MRMBVT failing 26958 - BIP2160 abend on tdsparseitem.cpp 26964 - ClassNotFoundException when using JNDI in Java node. 26970 - MRM-2 simple consecutive compute nodes cause BIP5502E 26974 - DECIMAL paramters in stored procs don't work 26977 - BIP2110 during thread cleanup 26986 - MRM- Regression in Null Handling of FLOAT 26991 - Hyphen can be typed in the message identifier, although it is n 26996 - Length Encoded Length flagged wrong 27004 - CREATE AS does not set MODIFIABLE on Field Ref 27008 - SegV When null datasource specifie 27019 - DTDImporter- Orphan elements' type member mishandling 27034 - Remove extraneous material from DTD Importer GUI 27041 - Looping in that while loop again 27045 - looks like a problem with tdsparseitem.cpp 27052 - Problems adding to an element of CT message 27063 - With Validate set back to None - wrong values at runtime 27065 - MRM-The vast majority of MRM testcases failing on all platforms 27073 - Remove redundent compile flag MTINLS for 390 27080 - MRM-All MRM testcases still failing on all platforms 27082 - MRM- Length of Encoded Length Fiel 27086 - REGR: BIP2329 in RCD node 27087 - mqsicompcif missing from 390 tape install 27128 - SELECT fails when called from within a procedure / function 27143 - Invalid xml in deploy causes invalid flow deployment 27144 - MRM- CWF 1 Byte Integer wont accept values > 127 27145 - SELECTed CLOBS on Oracle are corrupted when > 2000 Chars 27147 - Element Qualification tab disappering for Element under Message 27153 - Missing SqlParser.tables for feature 13552.1 27154 - Lots of Errors in /MTI/MTIforBroker/MtiImbParser2 27156 - Invalid Control Center title for Event Broker version 27161 - Default Values 27171 - ERRMSG BIP 5199 Insertion not working 27184 - Create bip5448.msg in S210 27190 - MRM- Validation exceeding maxOccurs gives 5371 instead of 5375 27191 - MRM- Validation BIP5374E Insertion for MinOccurs is out by 1 27199 - Create bip5447.msg in S210 27200 - InputDestinationList correlation name not working 27201 - MRM-"SET OutputRoot=InputRoot;" causes MRM XML msg to be parse 27204 - MTIParser.cpp: Operand for "->" must be a pointer or array 27207 - Incorrect handling of NULL's in + - * / operations 27208 - DFE abend with character class regular expression 27209 - spurious delimiters occur in variable elements delimited mess 27215 - wmqpsreporttrace -e returning unexpected default trace size 27217 - MRM- Validation not carried out for flow: MQInput->MQOutput 27218 - Correct path for MtiImbValueValidator 27222 - Fixed Al3 not outputting ? 27239 - Last thread returned to thread pool in plugin input node 27245 - Good Bye FUNCTION TRACE 27246 - MRM- Tagged Delimited discards Binary el data 27248 - MRM- Interaction of Datetime Template with "I" format string 27250 - Can't deploy Fixed Length parent with Use Data Pattern chil 27253 - Too many bipmsgs for missing mandatories on output 27257 - MRM- Control Center cursor control causes craziness 27258 - MRM Validation - incomplete TDS message written with validation 27261 - Still errors in MTIImbParser.cpp 27268 - "pattern" role icon is missing 27269 - Exception caught on changebroker when serviceid not correct 27274 - Problem using reclaimed syntax elements. 27277 - SELECT with WHERE and XML.attribute does not work 27280 - ImbAbend not initialize 27286 - Closed message working like open define 27296 - Merant driver bug fixes 27297 - SOLARIS Sybase 12.5 requires update to mqsi_setupdatabase. 27302 - MRM- Broker Abend in TDS Writer 27304 - Missing initial value for Default Time Zone ID (TDS & XML) 27308 - DFE abend when using regexp 'non-greedy' ? construct 27311 - Abend in TDSParser when testing closed validation 27317 - Fix up tdsmsgnumbers.h 27319 - Debugger gives message BIP0642 after breakpoint 27342 - New AIX UserGroup Plugins cannot be loade 27348 - MRM-Abend as TDS msg (with exponent. notation floats) is parse 27351 - Self defining element at beginning of message failing 27352 - Extraneous elements in MRM tree 27360 - Choice dictionary error 27373 - New DomainAware functionality does not work as expected. 27380 - COBOL Importer fieldname containing Group 27385 - Adding PSService node to workspace 27390 - Ensure that a XML delete message always works 27401 - Writer stuck in infinite loop 27403 - Problem resolving choices with embedded seq 27404 - Validation of embedded compound types 27407 - Error handler does not print le message inserts 27413 - ConfigMgr HeapSize should check for 2045 not 4045 27422 - lookahead parameter not being rest 27428 - MRM- BIP5354 MTI Internal Error shouldnt be put in usertrace 27431 - Broker gives STL port error for SET... = UUIDASBLOB(); 27439 - bip5502 internal error if DBCS data passed to TDS with DataPatt 27466 - Skip count omitted from choice length calculations 27467 - Skip count not extracted for compound elements 27468 - EndMessageContent sent before root tag encountere 27470 - MRM BIP2160 exercising EDIFACT TDS message 27471 - Error found in zh_TW mrmtoxmlmsgs.rc file 27476 - BIP2110 during thread cleanup 27485 - Abend when finding string length in PWFDateTimeFormatter 27487 - Error found in Pt-BR msg file bip9206 27491 - Sun's java symbol appears in Warning message box 27509 - validation tab in wrong place 27510 - Empty elements not editable in debugger 27525 - cpi/bsutils/RegExp... should be in Release CP210 27533 - Sample odbc file needs updating 27541 - MRM-Validation causes ELEM ON TREE WITHOUT VALUE internal error 27564 - Validation - Remove Timing from Compute node & alter defaults 27569 - Validate Escape Character atrribute 27585 - Repeated Java exc after multi EG startup or seq num recovery 27597 - Escaped Seg Terminator should not be interprete 27603 - MRM- REG Choice Variable Length All Elements Delimite 27619 - MRM- TDS Extractor should warn if Boolean reps are dift lengths 27624 - Memory cleanup and MQe multibroker fix 27626 - MRM- REG TDS Tagged Delimited repeating children within choice 27630 - Memory leaks in convertData in tdsparser.cpp 27631 - GetCompoundLength not coping with embedded types 27633 - min and max occurs not validated at compute node 27636 - STRESS: Oracle8.1.7 fails XA test (HY000) 27637 - Treat booleans as fixed in VED if all lengths are equal 27639 - Data pattern field wiping incorrectly. 27661 - Problem with wrong assertion check in MTIDict 27662 - Regular Expressions do not seem to be working well on AIX 27673 - Wrong index used in stddict getvalue calls 27674 - Change unsupported database message to a warning (BIP2112) 27683 - mqsidelete command with -q option fails 27686 - Incorrect .jar file on mqsilccsedm.bat file 27695 - MRM TDWF Length of Encoded Length not correctly greyed out 27702 - fields out of sequence following regular expression choice 27705 - Incorrect behaviour for CCI_SQL_TRANSACTION_COMMIT 27716 - NullPadFill Input for TDS Fixed Length not recognise 27718 - pattern role icon is missing 27722.1 - Disable CASE statement 27723 - FOR All/Some fails to deploy (FILTER) 27731 - Null permitted not being extracted for compounds with a base ty 27733 - MRM BIP5374 Message text 27751 - Configmgr does not start with BIP1161S 27759 - Tagged encoded lengths not output correctly 27761 - Dynamic Schema Name Resolution (DSNR) 27766 - Reduce occurance of BIP2061, BIP2062, BIP2063, BIP2064 27772 - Add new files to UNIX packages 27808 - STRESS: cannot connect to NNSY db in full mixed test on oracle 27811 - Java problems connecting to cfgmgr from control centre AGAIN. 27814 - XML/TDS prperties added in F26066 are inconsistent with CWF 27816 - Errors in ImbContextSwitch 27821 - Errors in track 27705 27822 - ABEND: EXCEPTION_ACCESS_VIOLATION 27824 - VDB BIP0642 with large message 27834 - ODE pkg.parse.mk rules error in 390 service packaging 27836 - BIP4280: Control center losses connection to visual debugger 27868 - Broker internal error when DELETE cursor followed by ATTACH 27883 - pattern role icon is missing 27899 - Setting on service trace causes 0C4 abend. 27975 - MRM TDS Boolean Extractor warnings 28004 - 390 Stored Procedure test failure 28017 - MRM- Abending TDS writer 28029 - Creation of EG - UNS cores 28039 - 0c4 abend in libMessageservices.a 28058 - Japanese install bipihlpw.chm has error CSD02 - U481946 ________________ This is CSD02 for WebSphere MQ Integrator Version 2.1 for AIX. It is delivered via PTF U481946 for APAR IY28081. It contains fixes for ALL the problems listed below: Name - Abstract IY28081 - CUMULATIVE MAINT #02 FOR WEBSPHEREMQ INTEGRATOR V2.1 FOR AIX IC31345 - COBOL IMPORT PROBLEM WHEN LEVEL NUMBERS FIELDS NOT ASCENDING IC31419 - FORMATTER GUI CLOSING ABNORMALLY IC31766 - MQSIREPORTTRACE DOES NOT WORK CORRECTLY WITH USERNAMESERVER COM IC31806 - PROBLEM IMPORTING COBOL COPYBOOK. IMPORTER DOESN T LIKE EXTRA IC31916 - MESSAGE CONVERSTION TROUBLE (SI/SO HANDLING) WITH MQSI IC32037 - MQSI ERROR RFH2 MESSAGE FAILS TO CONVERT. REASON 2116 - IC32047 - CONTROL CENTER HANG DURING IMPORT AND/OR DEPLOY LARGE NUMBER OF IC32440 - ASSURED DELIVERY OF MESSAGES TO MQE NODES IN MQSI BROKEN IC32689 - ESQL CAUSES EG TO USE 100% CPU 202 CSD02 IC32690 - BIP5502E FAILURE UNDER MQSI V210. IC32828 - RUNTIME ERROR EXPERIENCED BY SETTING AN EXTENDED DECIMAL FIELD IC32868 - ERROR BIP1812S IS RECEIVED WHEN IMPORTING C HEADER FILE. IC32871 - USING ALT+CTRL+SUPP DOEN NOT REBOOT THE MACHINE DUE TO 2 EG IC32896 - IMPORTING A C HEADER FILE ON A REMOTE CM FAILS IF A LOCAL IC32918 - BIPCONFIGMGR.EXE TERMINATES ABNORMALLY WHEN MACHINE IS REBOOTED IC32929 - ESQL STATEMENT IS DELETED IF COMMENT DOESN'T MATCH CC LOCALE IC33040 - INSUFFICIENT DETAIL ON IMPLEMENTING THE PASSTHRU FUNCTION. IC33053 - ERROR BIP0067E WHEN SWITCHING THE CONTROL CENTER ON THE MACHINE IC33066 - MQE NODES SENDING DUPLICATE MESSAGES IY16738 - START OF BROKER CONFIGURED TO USE ORACLE GIVES AN ERROR - UNABL IY21734 - MQSI CRASHED WHEN ADDITIONAL INSTANCES OF A MESSAGE-FLOW WERE IY26160 - BIP2088E AND BIP2106E AT DEPLOYMENT OPERATION. IY26427 - A BROKER RUNNING WITH A SCADA NODE LOCKS UP IY28136 - PART OF DBCS CHARACTERS CHANGED TO DIFFERENT CHARACTERS WHEN IY28181 - NEONRULES AND NEONFORMATTER WERE NOT ABLE TO BE IMPORTED. IY28384 - CONTROL CENTER FOR V2.01 INCORRECTLY IMPORT VIRTUAL IY29050 - ORA-03113: DFE TERMINATES AFTER A LOSS OF COMMUNICATION WITH DB PQ57196 - MESSAGES COMING FROM OS/390 TO AIX/NT THROUGH NETVIEW FAIL TO PQ57697 - ERROR OCCUR WHEN MQSICHECKSETUP IS CHECKING THE DSNAOINI FILE. PQ57991 - DATAFLOWENGINE GOES INTO LOOP IF TRACE NODE IS USED AND THE f13625 - Output Parameters And Stored Procedures f18699 - Multipart Message support f21571 - Optimize CC when performing commands on list of entities f21825 - Enhanced Select Function f22439 - NULL Handling - MRM Parsers f23840 - Enhanced MOVE statement f23842 - Enhanced CREATE function f24317 - Allowing expressions in field references f24543 - Further implementation of MM messages for runtime broker f24706 - Relax delimiter limitations in TDS messages. f24859.1- Add new Data Element Separation method "Undefined" f25032 - Natural ESQL support for local elements & attributes f25127.1- EUI changes for Enhanced THROW statement f25730 - Modifications to DTD Importer handling of PCDATA Elements s25795 - C,D,F packed flags in CWF 19930 - MRM BIP5167 error message bad substitution 20220 - BIP5117: Message full of meaningless numbers and terms 20685 - MRM/CWFLayer: CT with base type elements not properly rendered 20737 - Event ID 3100 not found 20787 - ERRMSG: MRM BIP5294 message content 21542 - Netview not seeing all response messages from MVS command 21989 - MRM MRMB0406 padding char SPACE 22232 - MQSI2.1:Default value of Transaction mode in data nodes 22831 - Unhelpful BIP5170 when input CWF msg does not match definition 22962 - GUI:User Role 'Op. Domain Controller' has misleading help text 22963 - GUI:User Role 'Topic security administrator' misleading help 23120 - MRM: Event 5199 Description inaccurate 23293 - MRM-problems writing simple types to bitstream. 23334 - CCSID and ENCODING clauses not reported in User Trace 23377 - MRM- CC online Help needs "Check-Out List" explanation adding 23381 - MRM BIP1929 message content 23536 - BIP2801E on broker startup if DB2 not installed 23589 - Trace node properties - File Path 23755 - MRM-DTD Importer imports an element with a strange icon 23855 - OVERLAY function causes unexpected truncation 23899 - missing repetitions incorrectly handled 23916.1 - MRM-Element Value value should not be mandatory 24225 - PubSub RC 3073 to ReqUpdate after successful RegSub 24284 - MRM-Imported DTD cannot be deployed 24294 - ERRMSG: 5339 Dictionary Iterator Error Event Viewer Insertions 24296 - SQLCODE and SQLNATIVEERROR wrong when TEODBE=NO 24297 - EXCEPTION_ACCESS_VIOLATION (C0000005). 24359 - ERRMSG: Wellformed XML but 5285 gives insufficient diagnostics 24364 - Repeating choice not working for Tagged Fixed Length 24364.1 24379 - MRM-Extractor logs only show last message set 24385 - Can't get rid of warning box in MRM after changing a choicetype 24416 - Oracle 8.1.6 SEGVing in Malloc 24417 - ERRMSG: MRM Type composition sequence error diagnostics poor 24420 - CWF Repeats not working with Choice Type 24421 - STRESS: SQLstate HY010 on aggregation test 24438 - Choice with compound elements not working for some TDS formats 24450 - ERRMSG: TDS 5436 missing Insertion for Element Name 24456 - TDS-XML : MRM give an existing identifier who can't be altered 24461 - MRM incomplete messageset errormessages need substitution vars 24469 - Rules can no longer reference fieldnames containing parentheses 24477 - BIP5339: Confusing error caused by simple mistake 24481 - STRESS: Extra added by mrm parser 24484 - SEGV in broker when DB2 terminated 24488 - MRM- Base type data causes following child lost from bitstream 24496 - Invalid MF copy/assignment while broker copy/paste 24522 - output of ''asdf'' instead of 'asdf' 24523 - MRM Cobol import of extended decimal 24524 - impexp with -x swaps public and system ids. 24542 - ERRMSG: BIP 5512 Insertion not working 24550 - Message Format on Input Node supplies incorrect value 24558 - In the XML plugin, the DOCTYPE text property currently has maxl 24559 - Parsing of unresolved choice not working for tds formats. 24564 - Generic XML : Bad DOCTYPE causes DataFlowEngine to loop 24568 - Cannot parse TDS repeating embedded compound types 24592 - Error with coordinated transaction value 24602 - BIP2605E should not be issued for OS/390 (as use RRS for TC) 24619 - GUI Check Out list does not complete 24620 - MRM Invalid datetime allowed on output TDS 24621 - MRM-DATETIME Bizarre week in month behaviour when handling the 24624 - MRM - XML as reserved word stops you defining an XML namespace 24627 - At the moment when the extractors run, the log files for it are 24628 - DFE failure with large MRM message 24638 - MRM-DATETIME Make binary and ICU DATETIME parsers have common b 24674 - Ongoing TDS Parser work with EDIFACT Imp 24697 - Break point infront of AggregateReply node corrupts message 24709 - TDS Problems with EDIFACT smaple from IMP 24710 - Embedded message support for compute node customizer. 24716 - Multiple calls to hasnext cause TDS to fail 24739 - Can't deploy messageset with embedded msg and C lang binding. 24746 - Nested repeats for zero occurrences not working correctly. 24758 - Do not handle Nested message from within MatchEmbeddedCompound 24810 - Database SELECT does not work any more 24831 - Gen XML: setElementChanged is inefficient 24834 - Root message name being lost 24846 - MRM- Base Type BINARY for XML not working 24850 - BIP1836E is showing wrong log names. 24870 - AIX NNSY messages are not being found 24877 - AggregateReplyNode binds incorrectly to VARCHARs 24878 - Reference variables in a SELECT's FROM clause does not work 24889 - Inserts in exceptions thrown by the THROW statement are wrong 24906 - MRM- XML CDATA tag for BINARY element (Null Handling related?) 24908 - MRM BIP5521 output extended decimal in codepage 1200 24961 - Uuid generation failures bring down Config Mgr 24968 - Unable to go from one message set to another 24979 - MRM/Length and Repeat Count Types are wrongly editable combo 24986 - Improve performance of CC<->CM MRM interaction 25010 - Broker restart fails with Aggregation on SQL Server 25028 - Config manager gets CPU bound when deploying large message sets 25029 - Parsing of unresolved choice not working for tds formats. 25037 - Repeating choice failing for TDS when choice is compound type 25041 - Choice with compound elements not working for some TDS formats 25060 - MRM-Simple message brings down the execution group 25089 - MRM- NullPadFill shouldnt be offered for certain PhysicalTypes 25123 - Mnemonic escape character not translated properly in TDS 25152 - XML Extractor doesn't complain when attributes occur after elem 25168 - Incorrect string in Interpret Element Value attribute dropdown 25216 - Attributes cannot be specified on the XML Root Tag Name 25226 - Negative value in 'numeric' field causes DFE to exit() 25227 - MRM - TDF & XML parser does not handle a Message Type Path 25232 - TDS defaults not displayed correctly 25243 - Rules for REPEAT,Min/Max Occurs on connection tab are incorrect 25244 - Repeating choice not working for Tagged Fixed Length 25247 - Message/explanation/user response text in :MSG./:EMSG. tags. 25248 - MRM CWF Null handling datetime NULLLogicalValue causes BIP5168 25257 - MRM/Length and Repeat Count Types are wrongly editable combo 25260 - MRM CWF Length Value Of eligible fields not displayed 25262 - Can no longer use CWF Repeat Count Value of field in GUI 25300 - MRM- Base type Decimal causes Internal MTI Error 5354E 25302 - Apply button wrongly greyed on CompoundType TDS view 25312 - MRM- TDS Writer Problem with Simple Types 25316 - MRM- CWF Datetime String not being recognised 25322 - MRM-CWF Tab, Boolean Value fields are not editable. 25323 - Console output not coming back to USS via oeconsol command 25338 - MRM BIP1951 Wrong substitution 25339 - GUI Check Out list does not complete 25340 - DATABASE exception shouldn't be accepted in THROW syntax 25341.1 - Increase timeout in MQConnection for MRM_WAIT_INTERVAL 25341.3 - Config. Mgr. gets knotted after 1350 timeout. BIP1350E 25341.3.1 - CC sends to CM several times same request after Time-Out. 25341.8 - Add filtering for MRM member collections 25342 - Backend still won't allow ^ in an identifier when it is checked 25347 - TDS input, empty values not being recognised as NULL 25355 - XML undefined attributes on 390 not rendered correctly 25356 - TDS Validator - ensure DEST=Undefined if CT composition=MESSAGE 25358 - Sybase broker hangs on restart w/multiple msg sets 25361 - Trace updates for improved MOVE command 25362 - nullPointerException when trying to check a Message Flow 25364 - MRM - Absolute Message Type Path doesn't work with Message Type 25366 - MRM Check out attempted even though messageset is frozen 25370 - Incorrect data element separation for type cmposition = message 25375 - Default DateTime ElementValue causing an exception on deploy. 25378 - Unable to SET a REFERENCE to a DECLARED variable 25385 - MRM COBOL import fails if >1 space after OCCURS 25386 - DTD Importer - Type content should be closed to model valid DTD 25391 - UNA and ISA written out with extra delimiter 25391.1 - GUI must allow non empty delimiter in some cases 25394 - CacheManager should be symmetric about UUID usage 25409 - CC not allows duplicate name on message set in special case 25414 - Parsing of repeated nesting items not working 25419 - MRM-DATETIME Bizarre week in month behaviour when handling the 25424 - Generation of dictionaries on delta deploy 25428 - ERRMSG: CWF 5181 Insertions not working 25432 - MRM BIP5440 incorrect substitution 25434 - CC model optimisations are not reset when exceptions occur 25445 - Error introduced after GA for bip8120.msg 25447 - Bracket flagged in error in function call 25451 - TDS Validator - ensure DEST=Undefined if CT composition=MESSAGE 25457 - EUI MRM Tagged Delimited requires Tag Length/Separator 25482 - Recursive multipart mess causes DFE abend TDS->XML 25493 - TDS Writer is too memory intensive 25509 - Tagged Delimited Choice with compound elements failing. 25525 - bip5503.msg, error in the text of the message. 25532 - Storage not released by DataFlowEngine after PROPAGATE 25533 - DataFlowEngine and ConfigMgr terminate on NT user logoff 25547 - MRM TDS unresolved choice 25550 - Inconsistent format TDS->XML vs XML->TDS with embedded messages 25558 - MRM-Using Message Type Path with CWF causes broker abend 25566 - In the EUI, Attributes cannot be specified on the XML Root Tag 25585.1 - The EUI needs to validate dateime values entered. 25602 - Bad expiry value causes MQe message flow failure 25610 - uid(0) causing problems in changebroker and 25617 - Modification of message identifiers and XMLName by DTD Importer 25662 - XML msg without top level causes DFE process to go into spin 25666 - Wrong path is generated for embedded message. 25668 - MRM- Null Handling CWF String input blank NullLogicalValue 25675 - TypePrefix incorrectly handled 25696 - keywords CREATE FUNCTION, PROCEDURE, REPEAT case sensitive 25697 - MRM Check in all with new 'message' compound type 25699 - MRM- Broker Abend with XML Input 25723 - XML: encoding null NUMERIC, fails to parse on NULLElement 25727 - DTD Importer doesn't support recursive elements 25741 - MRM finalize messageset not reflected in GUI 25745 - CWF length units End of Bitstream not working 25753 - TDS Parser does not support syntax level B defaults 25761 - Unable to set (XML.Attribute)Type using SELECT 25763 - MTiImbparser - support for string -datetime conversion 25783 - First week of year not used in runtime 25794 - Input node parser name attributes not being set 25802 - Valid syntax gets flagged in error 25827 - MRM- Hex Delimiter Substitution wrong in tdscommonutils 25842 - MRM- Null Handling TDS Fix Length Float NullLog / Pad confusion 25868 - Add Message List for a closed compound type is not filtered 25869 - Incorrect Value set for ISA INdexes 25885 - STRESS: Core File from UserNameServer in Mixed test 25895 - Repeating Tagged Fixed Length choice type is still failing. 25917 - Contol Centre loops trying to expand message with lots of child CSD01 - U481307 ________________ This is CSD01 for WebSphere MQ Integrator Version 2.1 for AIX. It is delivered via PTF U481307 for APAR IY26902. It contains fixes for ALL the problems listed below: Name - Abstract IY26902 - CUMLULATIVE MAINTENANCE #01 FOR WEBSPHEREMQ INTEGRATOR FOR AIX IC30350 - CONFIGMGR NOT DETECTING A COMM LINK FAILURE TO DB2, GIVES IC31802 - GETTING PARSING ERRORS WHILE USING REPEATING FIELDS WITH SECOND IC32018 - WHEN A REFORMAT OPEARTION IN A NEON-MQSI-ENVIRONMENT DOES NOT IC32309 - WITHIN THE COMPUTE NODE, WHEN CODING A PASSTHRU FUNCTION IY16738 - START OF BROKER CONFIGURED TO USE ORACLE GIVES AN ERROR - UNABL IY24362 - CONVERSION INCORROUT FROM OS/390 TO OS/400. IY25465 - SCADA NODE STOPS TRANSMITTING MESSAGES THROUGH FLOW f16275 - Command line deploy utilities f22449.2- Add non loaded skip node to the workspace when it is check out. f23369.2- ESQL Syntax Checker:Removing field names checking in path f24217 - Complete set of diagnostic streams written under single JOBLOG. readme - README updates for CSD01 17377 - mqsilist shows old 'default' execution group label after rename 18007 - Cannot set breakpts in main flow whilst in subflow 18405 - mqsichange with -a only does not work 18578 - mqsicreate / mqsichange -t on AIX has no error msg 19673.4 - Handling errors during lil loading on OS390 (and related) 20308 - MRM-mqsimrmimpexp gives wrong errMsg when MsgSet is incomplete 20408 - report trace command does not produce output on OS/390 20847 - MRM-BIP1930E is not displayed correctly 20946 - DateTime - MRM Parser Support 20955 - MRM Data Converters - handling overflow 21208 - The control centre users don't accurately reflect real users 21208.1 - Primary group not enumerated on Unix Platforms. 21569 - OS390 Java Plugin Node Message Flow Failure 21724.1 - New message for 21724. 21843 - MRM-DATETIME processing ignores Era 22144 - MRM-self-defining messages unacceptable to MRM. 22233 - The call ImbWstring MtiImbParser::getTypeProperty() 22249 - MRM TDS Writer is writing TagDataSeparator when not required 22521 - Control Centre unacceptably slow when adding types to workspace 22548 - MRM-Modified Self defining elems cause DI prob. 22548.1 - XML - Parsing of compound types with attribute values results 22654 - 0 occurrences of repeating elem/comptype failing for CWF input. 22687 - Java trace not working from registry setting 22751 - GMTTIMESTAMP gives incorrect results 22836 - MRM-XWF Encoding not working 22925 - BIP1802: error message gives wrong name for database. 23037 - The time zone in the JVM is being set explicitly to GMT. 23147 - Typing 'NNRie' produces help text, core dump. 23232 - TDS strings containing just spaces fail on AIX 23283 - Poor performance of TextBufferReader::getStringSection 23309 - Change description on STEPLIB_NAME 23316.1 - Maintain list of delimiters to improve TDS performance 23316.2 - In TDSParser SetReservedChars not reset for service string 23318.1 - Memory Leaks in MRM (part 2) 23341 - MRM: CWF Parsing of Choice Message Fails 23351 - 390 debugger will not start 23359 - Swift importer fails with "attribute name is not defined" 23404 - Unnecessary bracket in syntax description of "mqsichangetrace" 23429 - Dataflow engine terminates on large (cust mfs) debug deploys 23453 - Trace formatting-ImbMqOutputNode::evaluate 23476 - Expiry event not available 23543 - Boolean default values not being written out on Unix and 390 23545 - MtiImbParserFactory in stdout 23558 - Ambigious behaviour for TDS messages with choice type. 23568 - Repeating choice not working correctly 23568.1 - Some problems with choices. 23577 - STRESS: Code dump in mixed test with NNSY nodes on HP 23581 - Command line deploy - misleading message 23583 - CWF output not working for nested choice 23584 - Cmd line deploy - no message returned when -f and -a flags used 23599 - Currently the Java node API does not have an onDelete( ) method 23603 - STRESS: Resource Manager errors in XMLtoMRMCWF 23605 - Trace entries missing in textbffr.cpp 23614 - MRM-Errors handling binary DATETIMEs 23622 - mqsiimportmsgflows - no msg flow in Control Center 23627 - dump formatter abends no memory 23651 - Add fields in the ESQL and the new field gets concatenated 23667 - STRESS: SQL server error in aggregation tests 23670 - MRM-DTD Generator does not append * and + to appropriate elems 23690 - Update .bat files 23697 - Some console messages have old format 23701 - cb command converts mixed case lilpath to lower case - 23703 - MRM-problem with encoding for base type binary. 23713 - bipjrst reset broker has problems with clearing one queue 23719 - wmqpslist coredumps on Unix 23722.1 - Implement MRM implicit casts at the tree level 23723 - Wrong description of console command is displayed 23738 - Shipped Merant ODBC driver still "available" after uninstall 23765 - abend in ImbUGI because of wrong linkage 23784 - Unable to debug failing flow 23786 - MRM-can assign any string value to Boolean elements. 23796 - MRM BIP2160 trying SWIFT -> CWF 23805 - EXCEPTION_ACCESS_VIOLATION (C0000005) 23819 - FI events during TDS parser destruction 23821 - MRM BIP1951 if no length on CWF endofbitstream 23852 - STRESS: Core File from UserNameServer in Mixed test 23856 - Refresh New Era SysMgmtGuide in docs pkg 23861 - MRM Add mapping for element in nested type 23882 - TDS:LengthValueOf is enable if embedded simple(element or type) 23892 - MRM: Deleting types can cause database corruption. 23894 - MRM rounding of CWF packed decimal on input 23896 - MRM CWF null chars in fixed length strings 23899.2 - TDS Writer related fixes for defect 23905 - MRM-DTD Imprtr,typng non existent filenme doesn't throw an err 23906 - OS390: mqsicreatebroker allows invalid broker name. 23907 - Disconnecting Scada client on HP-UX causes EG failure 23915 - MRM-DTD Imprtr creates uncheckinable cmpts names frm valid DTDs 23921 - MRM-all inline DTD data dropped on output. 23922 - MRM BIP5285 with TDS unresolved choice 23929 - Parsing BaseType in TDSParser 23947 - Config manager and broker JVM's share a CLASSPATH 23961 - Abend during MbSQLStatement object usage 23966 - MRM BIP1950 because EDIFACT Boolean Null not set 23972 - STL exception in TDSValidator::ValidateMessageTypeMembers 23974 - Memory leak in MRM2 with TDS fix 23983 - IC01 ref to the jar files jfaceall and argo 23994 - No error messages for out of range timeoutvalues 23997 - CoreDump on Mqsistop + unexpected syslog messages. 24001 - MRM BIP0068 on save to shared 24005 - Stopping and starting broker causes database errors 24038 - Unable to connect from English CC to Chinese ConfigMgr 24044 - Problem with TDS repeating structures. 24047 - Unable to change type composition from sequence to choice. 24055 - Database deadlocks on SQLServer when unknown timeout set 24061 - MRM2 Data Datatype test failing 24068 - MRM BIP5339 input EDIFACT/TDS output XML 24073 - STRESS: Memory Leaks shown in Bitstream Parsing tests 24075 - CWF Repeats not working with Choice Type 24077 - Unexpected response to invalid input 24078 - Problem with compound elements/types within a choice type. 24089 - MRM: TDS Mnemonics aren't used by the TDS Parser or Writer. 24089.1 - MRM: TDSWriter not writing mnemonics 24098 - Memory used after being freed in choice parse 24102 - MRM-error message 5503 when copy input root to output root. 24104 - MRM-problem rendering compound element with base type. 24110 - Can't check in repeating choice with Repeat Type as "Value of" 24112 - SIGSEGV raised but DFE did not core dump 24115 - MRM: TDS Parser causes execution group restart when RFH2 type t 24126 - DataCnv::IntFromInt32 and DataCnv::IntFromInt64 need to check f 24133 - MRM: STL Errors & exec group restart on Debug builds 24144 - MRM - INT64_MAX is not defined properly on AIX 24148 - MRM TDS fixed length output max occurrences instead of actual 24152 - MRM-broker abend following TDS length delimited message input. 24175 - NNRie and the Rules GUI rearrange long rules 24176 - MRM TDS BIP5425 on fixed length repeat structure 24177 - RC=9 from BIP$JCVP verification job. 24180 - TDS Fixed Length Choice padding is incorrect. 24181 - MVS: Broker will not start with DB2_CONVERSION=MIXED 24203 - MRM EDIFACT UNA not processed in runtime 24206 - MRM-standalone clause in xml declaration not suppressed. 24220 - TDS read error, integer -99 out of bounds 24223 - The XL plugin doesn't return the default for for anonymoud simp 24229 - NNFie loses data from Substitute output operations 24230 - Error with TDS decimal->CWF packed decimal when precision set 24235 - MRM-MRMB0425 is failing on all platforms 24235.1 - Same problem as 24235 but on parsing. 24240 - The defaults for XML SYSTEMID and PUBLICID are the wrong way ar 24252 - MRM BIP5426 Tagged fixed length repeating elements 24260 - Using mqsideploy the wrong BIP message is displayed 24261 - MRM-DTD Importer produces AQM7610E when importing a DTD 24263 - TDS fixed length compound choice type not working. 24265 - Parameters in call to IMBDate are reversed 24273 - CPI/MTIIMBParser Error messages 24277 - MRM-MRMB0815 & 1115 fail on OS/390 24280 - NNSY Formatter GUI does not import format definitions 24288 - ERRMSG: TDS Missing Group Indicator BIP5437 insertion 24290 - MRM TDS X12 default settings wrong 24293 - Some CWF exceptions logged even though they are not errors 24303 - Incorrrect message number used for incomplete message set 24319 - MRM-MRMB1815 is failing on Windows 24321 - Pointer returned from cniGetEnvironment is wrong. 24326 - IC01 export return codes (nonexistant flow) 24327 - Parsing of EDI problem 24340 - Requested changes to NNInstall-Driver.sh 24346 - ERRMSG: TDS Incorrect Issuing of 5422 24354 - definition of UINT32_MAX has a ... at the end of it 24361 - ERRMSG: CWF 5181 Insertions not working 24368 - MRM BIP1949 trying to check in Type 24381 - ERRMSG: Generation of new BIP msg req'd for use by TDS Parser 24392 - ERRMSG: CWF Expected BIP5520 Not Being Thrown 24395 - ERRMSG: BIP5519 Insertions not working 24402 - MRM- Generate Message Book HTML contains nonsense min/max info 24406 - mqsifindandreplace replaces keyword with quoted lowercase equiv 24411 - MRM-elements rendered as xmlAttribute not found. 24412 - MRM-XML/Perf: broker keeps opening ccsid 0 24413 - MRM: TDSWriter has problems writing out message, and gives litt 24431 - XML message in Double Byte char set causes XML ParserException 24437 - Syntax error reported from quoted field references 24453 - MRM BIP8184 message content unclear 24457 - IC01: -r flag used in mqsideploy causes timeout 24462 - onDelete method java call stops msg flow deletion. 24474 - Dictionary delete memory that was allocated with malloc. 24475 - MRM BIP1812 manipulating large message 24560 - Field in ENVFILE not updated 24581 - Missing line feed escape in BIP0001E error message 24656 - MRM-DATETIME CSD1 regression. Packed decimal DATETIMEs not pars 24661 - wrong description of Compound Type attribute Type Composition 24675 - MRM - CWF->CWF Cannot write out to different output msg 24698 - MRM-Irrelevant ESQL makes message fail inexplicably GA PTF - U481171 ________________ This is the GA PTF for WebSphere MQ Integrator Version 2.1 for AIX. It is delivered via PTF U481171 for APAR IY26068. It contains fixes for ALL the problems listed below: Name - Abstract IY26068 - CUMULATIVE MAINTENANCE #00 FOR WEBSPHEREMQ INTEGRATOR FOR AIX 17516.1 - MRM BuildTimeDictionary S202 Compatibility 19673.3 - Handling errors during lil loading on OS390 20950.2 - MRM - Integer Backward compatibility support - RTD Extractor 21724 - S000-L010828_D Java exception when starting execution group 21930 - Oracle XA on NT makes the execution group unresponsive. 22534 - MVS: Data corrupted when Inserting DBCS string in Database node 23218 - MRM MRMB5914 extended decimal dbcs codepage 23351.2 - 390 debugger will not start 23379 - Choice has stopped working for CWF messages 23683 - STRESS:Abend file produced during destruction of a locale objec 23813 - STRESS: Memory corruption with large repeating message 24013 - MRM-cwf error writing to bitstream causes broker abend. 24031 - NNSY Updates to CIF file ( mqsicompcif) 24056.1 - Rename WMQI_REGISTRY 24079 - Allow import to proceed even if importing attributes fails. 24255 - Update classpath within envnt.bat 24256 - BIP$JCVP job should return Java 24323 - Sample nnsyreg.dat needs changing to include NNFIE session ####### ------- end of file MEMO.PTF ------------#######################