*** *** (C) Copyright International Business Machines Corp. 2002. *** All Rights Reserved *** Licensed Materials - Property Of IBM *** *** Install instructions for WebSphere Data Interchange V3.1 AIX 1) Perform subsequent steps as a user with DB2 administrator authority. If AIX, be sure you also have ROOT authority. 2) Run the InstallShield installation (wdi.exe for Windows or wdi.aix for AIX). Note: If new data is to be loaded into any tables do 3 and 4 else go to 5. 3) Change directory to the ixf directory where WDI was installed. 4) Issue the following command: loadmsgs This process will load new messages into the DB2 table. The loading may generate warnings, just ignore them. 5) Change directory to the bind directory where WDI was installed. 6) The next step will issue GRANT statements necessary for WebSphere Data Interchange Server access to the modified tables. The default within bindgrnt.fil is to issue GRANTs to public. You may wish to change public to specific userids or a group of authorized users. 7) Issue the command: db2 -tf bindgrnt.fil -l bind.log This process will BIND the WebSphere Data Interchange V3.1 DB2 packages and GRANT execute authority to public. 8) The installation for the WebSphere Data Interchange V3.1 is complete. 9) On AIX be sure that the correct permissions are granted to access the directories where the software was installed. -------------------------------------------------------------------------- 30 July 2002 - CSD2 The following problems have been resolved in this corrective service disc: P8009127 While performing a performance test using PERFORM TRANSFORM 100 time I received an 0C4 Return Code 11. If I add 1 more transaction it doesn't abend. - This has been corrected. P8009187 The F record is missing data. The File type is missing as is the record count. Because of the order in which the adf were being processed the record count was unitilized when the record was being written to the tracking file. P8009191 ENHANCEMENT - LOGIC TO CVT C&D TO RAWDATA Created a new flag to indicate if RAWDATA was specified on the SENDFILE command. If it was specified the EDIRFH2 and EDIMQSR network programs will strip off C and D records. P8009196 When an EDI to XML translation is done an abend occurs because a member variable is being initilized with the maximum size of the dictionary when later code is expeciting it to be initilized to zero. Changed the default constructor to initialze the member variable to zero. ************************************************************************* ******* End of WebSphere Data Interchange V3.1 CSD 2 README.TXT ******* ************************************************************************* 09 July 2002 - CSD1 The following problems have been resolved in this Corrective Service Disc: P8008550 On AIX and Win NT, when DataInterchange fails to initialize, it doesn't give an indication of the reason for failure. On the Host, the DB2 error code is displayed. Please put a printf or display a message that shows the DB2 sql error code, e.g. -818, when DI cannot be successfully started. P8008572, OW54365, OW54366 When a map is regenerated the control string is first deleted from the database then the new control string is added to the database. during the time that the new control string is being generated it is possible for a translation to fail because the control string is not found. The problem is solved by putting a lock on the control string before the control string is deleted and releasing the lock when the control string has been regenerated. Translations will wait on the lock if they happen to occur during small window when the control string is being regenerated. P8008971 The current version of ANSI C++ distinguishes between memory allocated with new and new[]. A delete call must (according to the standard) match the new call, i.e. whether or not it has [] There are many array variables in DIAPILIB.CPP and DIAPI.H which are allocated memory using "new []" but use "delete" instead of "delete []" for deallocating the memory. Changed "delete" to "delete []" for character arrays. P8008996 TRANSLATE AND SEND TO MQ BREAKS TRANSLATED MSG INTO Customers need to be aware that when using large values for the Maximum Message Length that their process needs to have the authority to allocate large ammounts of memory. The AIX operating system provides the /etc/security/limits file for the root user to set these limits on user programs. By changing the value of the "data" tag for the user to -1 the root user can allow a user program to grow as large as the system has memory resources to support. Once changes to the limits file are made the user must log off of the machine and log back on the system. P8009057 ADD A "PERFORM PROCESS" COMMAND We have a RECEIVE AND PROCESS command that requires that a receive be done in order to get command chaining to work. Add a PERFORM PROCESS command the just skips the RECEIVE part and goes directly to the PROCESS part. This is to allow command chaining to be used with file I/O also. P8009066, OW54237, OW54238 In reviewing source part editrxml, an error in a comment appears to invalidate adf->xml translation. The translated EDI file fails to be written to the virtual array for post-processing. P8009092, OW54194, OW54429 HOST - ADF TO XML PRODUCING EMPTY TAGS WHEN NO DATA When a loop is mapped using a structure that has no data the mandatory XML segments (tags) that start the loop and end the loop are being created and empty. The segments that start a loop are currently being forced by the translation process because they usually do not have any elements. When a structure is used to qualify the loop translation forces out the segments but we don't know that there is no data for the structure until we get to the CS instructions following the first segment. Translation code will be changed to check the length of the data created during a recursion level, if the length is equal to the size of the segment id + segment delim, then we didn't create any data for the loop and we need to set the terminate flag for the current loop level. P8009103, OW55460, OW55462 When processing multiple transaction from a queue for EDI to XML, a signal 11 occurs cause the transaction not to process. This occurs with both the adapter and using ediservr to process transactions. The sequence of events involves inbound processing of a standard envelope followed by outbound processing of a different envelope standard followed by inbound processing of a standard different than the outbound standard. In this case, the translator retained the segment id from the first envelope inbound and concluded that the second inbound envelope was the same and so reused the envelope control string. Unfortunately, it was the control string from the intervening outbound processing. The fix is to clear the segment ID of the last envelope when the envelope standard changes. Additional problems were caused by the "E" envelope being applied to an "ISA" header causing a memory exception. This was trapped by edixproc (erroneously) resulting in the reported signal 11. P8009104, OW55210, OW55211 Add functionality to the EDIQSS module to be able to create files that do not exist on the system. Functionality also needs to be added to EDIFF04 to call this new functionality if an QS_NOEXIST extended return code is returned from the EDIQSS module. We also needed to make changes to the RFH2 header to allow documents to be routed once they have been placed on an outgoing MQSeries queue we will change the RFH2 network program to populate the following RFH2 Elements: - SenderId - SenderQual - ReceiverId P8009108 When the EDIRFH2 network program has to create a new header, it is not ensuring that the data following the header is alligned on a full word. The code to create a new folder had to change to pad the new folder with spaces for the alignment. P8009115, OW54496, OW55293 XML TRANSLATION PERFORMANCE ISSUES The customer noticed performance problems processing a series of identical transactions with XML output. The problem was identified as CPU intensive processing in the XML Post-Processor. Significant reduction in CPU consumption was realized by buffering the XML dictionary file for the post-processor and adding indexed segment and element searches. P8009135, OW54672, OW55064 The XML input file has data in it with tags, and there are tags in the out put, but there is additional data in the output tags that are not in the XML input file. Extraneous data is in the output file that should not be there. No errors are issued. P8009137 This PTR contains code to track the implementation of the EDICYCL Network Program. Additionally, there is a problem where a physical file name passed edirfh2 (from an & in Trans Data) is not correctly being processed. P8009146, OW55204, OW55206 Enhancement that creates a 'DELFILE' command to delete the appfile created during a dual transaction. The 'DELFILE' keyword will delete the appfile used in a TRANSLATE AND SEND, TRANSLATE AND ENVELOPE or TRANSLATE TO STANDARD command. P8009152, OW54980, OW55394 CUSTOMER TRIED TO DO A TRANSACTION STORE SEARCH, WITHOUT A SEARCH CRITERIA, AND THE SYSTEM HUNG.. Display the current date in the transaction added date (from) field as the default for panel TF03. P8009155, OW55389, OW55390 The WDI Adapter abends in EDITR when an EDIFACT map is used. Subsequent investigation revealed that the error occurs when an user validation table that is exactly 8 characters is used. P8009156 This problem is seen in Inbound translation where the INPUT EDI is plain text file. The problem occurs when a newline character doesn't exist at the end of the EDI file. When DI attempts to translate this file it returns with an error (RC=8 and ERC=6). The print file has the message "TR0200 Severity :08 Interchange envelope header is missing or invalid 1 bad records found in requestor << N/A >>'s input file EDI_IN before encountering End-of-File in RECEIVE-FILE processing mode". Also it looks like DI is trying to translate two transactions when there is only one in the input. P8009157, OW55199, OW55201 ADD ONEMSG(Y) FOR SEND PROCESSING Added functionality to handle the ONEMSG(Y) flag for the TRANSLATE AND SEND command. To do this I inserted a document break record into the queued data so that as we are sending the data we can cause the MQSeries queue to be flushed before sending more data. This causes each document to be placed in its own MQ message. Changed the code to provide these functions. ************************************************************************* ******* End of WebSphere Data Interchange V3.1 CSD 1 README.TXT ******* *************************************************************************