APAR status
Closed as program error.
Error description
Information Server 8.1 - Support needed to treat NULL as value terminator in character data fields
Local fix
Problem summary
**************************************************************** USERS AFFECTED: DataStage users with jobs that use Oracle Connector stage and that were created through the migration of jobs that used Oracle Enterprise stage. **************************************************************** PROBLEM DESCRIPTION: When a variable-length character field value is mapped to a fixed-length character field value in a parallel job, any remaining characters in the target field are padded with the character specified in the APT_STRING_PADCHAR environment variable. By default this padding character is a binary zero character (NULL character) 0x0. Oracle Enterprise stage treats 0x0 character as the value terminator for the character data that it receives on the input link (except for bulk load scenario). It truncates the value at the NULL character boundary and passes the truncated data to Oracle. And if the data is truncated to a zero-length string (since the first character in the data was NULL character) then Oracle writes NULL value to the target table for that field. Oracle Connector on the other hand always treats input character data as-is and passes it as-is to Oracle. This includes any NULL characters in the input character data. Oracle then writes the characters as-is to the target table. The request was made to provide support to configure Oracle Connector to behave in a consistent way with the legacy Oracle Enterprise stage in regard to the truncation of input character values at the NULL character boundary. **************************************************************** RECOMMENDATION: Install patch JR37296. ****************************************************************
Problem conclusion
A new environment variable was defined for the Oracle Connector with the name CC_ORA_NULL_CHAR_ACTION. This environment variable is applicable for Oracle Connector stage running on parallel canvas. Also it applies only to input (key) records for sparse lookup mode and for input records for all write modes except Bulk load mode. It applies only to fields of Char, VarChar, LongVarChar, NChar, NVarChar and LongNVarChar DataStage types. When set to value TRUNCATE it causes the connector to treat NULL character as value terminator in the character data retrieved on the input link. If the truncated value is a zero-length value, NULL is inserted in the target. When set to FAIL it causes the connector to log a fatal error message and stop the job when it encounters any NULL characters in the input character data. The error message indicates which field contained the NULL character(s). Otherwise when not set or set to another value, the NULL character is treated as any other character. The value is passed to Oracle as-is, along with any NULL characters. This is the default behavior for the connector. Note that in cases when this environment variable applies and is set to value TRUNCATE or FAIL the LongVarChar and LongNVarChar DataStage columns are treated as VarChar and NVarChar columns, respectively. No piecewise or LOB operations are performed on target for the values of those fields. Instead, the values are treated as atomic values (like in the case of VarChar and NVarChar types). In general, the CC_ORA_NULL_CHAR_ACTION environment variable should only be used in migrated jobs from Oracle Enterprise stage to Oracle Connector stage to provide consistent behavior with the Oracle Enterprise stage in regard to the described truncation, and only when this consistency is critical. The recommended alternative approach is to update the migrated jobs that were relying on this truncation behavior so that they work correctly with the default connector behavior, which is to pass character data as-is from input link to the database, including any NULL characters. The value FAIL for the CC_ORA_NULL_CHAR_ACTION environment variable can be used to help with detecting jobs in which the described truncation would happen.
Temporary fix
Comments
APAR Information
APAR number
JR37296
Reported component name
WIS DATASTAGE
Reported component ID
5724Q36DS
Reported release
810
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2010-07-23
Closed date
2010-08-09
Last modified date
2010-08-09
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Fixed component name
WIS DATASTAGE
Fixed component ID
5724Q36DS
Applicable component levels
R810 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":"8.1","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}}]
Document Information
Modified date:
09 August 2010