APAR status
Closed as program error.
Error description
Substring function in a transformer stage of a server job returns a wrong value. Job design is very simple. Seq1-->Trans-->Seq2. Substring function is used in the transformar like Substrings(DSLink3.c,5,4), DSLink3.c[5,4] in the output derivation. When the last byte of DSLink3.c is 0xE0, the result from the above substring functions is strange. For example, when DSLink3.c is 0x00 00 00 00 00 BB 31 E0, the result becomes 0x00 BB 31 E0 02 00. Last two bytes (02 00) are unnecessary. This should become 0x00 BB 31 E0.
Local fix
We know Right() returns the expected substring, but it has a significant impact on customers job to replace Substrings() with Right(). So customer is requesting a patch for this issue. This fix is included in 8.0.1 fixpack 3
Problem summary
**************************************************************** USERS AFFECTED: When NLS is enabled and SUBSTRINGS function or BASIC substring expression var[x,y] is used in a BASIC transformer **************************************************************** PROBLEM DESCRIPTION: When (1) NLS is enabled, (2) BASIC transformers contain SUBSTRINGS or substring expressions, and (3) columns contain binary data strings that end in bytes equal to 0xC*, 0xD*, or 0xE*, the resulting string will contain 1 or 2 extra bytes. **************************************************************** RECOMMENDATION: Request a patch. This change is included in 8.1 Fix Pack 1. ****************************************************************
Problem conclusion
BASIC string functions generally should not be passed binary data since certain bytes have special meaning (such as 0xC0, 0xD0, and 0xE0 which indicate multibyte sequences). However, since the SUBSTRINGS processing was returning pointers beyond end of string when last byte of data was 0xC*, 0xD*, or 0xE*, a change was made to prevent this. The fix was patched for 7.5.1A Redhat Linux. The fix will be propagated to 7.5.3, 8.0.1, and 8.1 for upcoming releases.
Temporary fix
Comments
APAR Information
APAR number
JR29520
Reported component name
WIS DATASTAGE
Reported component ID
5724Q36DS
Reported release
751
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2008-06-10
Closed date
2008-07-28
Last modified date
2010-12-09
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Modules/Macros
SERVER
Fix information
Fixed component name
WIS DATASTAGE
Fixed component ID
5724Q36DS
Applicable component levels
R751 PSN
UP
[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSVSEF","label":"IBM InfoSphere DataStage"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.5.1","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}}]
Document Information
Modified date:
09 December 2010