Work Table Definition Changes Between ODI 10g/11G and ODI 12c (Doc ID 2286222.1)

Last updated on AUGUST 09, 2017

Applies to:

Oracle Data Integrator - Version 12.1.3.0.1 and later
Information in this document applies to any platform.

Goal

In Oracle Data Integrator (ODI) 12C it has been observed that work tables are created on a source system rather than on the target as it was in ODI 10G and 11G.
   Examination of the API code of the LKM step in 10g shows it is the same between ODI 10g and ODI 12c, and shows the tag [DEST_WRI_DT].

 Note: This difference can cause the mapping to fail when a string value contains special characters and is full length. 
For example: with WE8ISO8859P1 charset, special chars are stored in 1 BYTE but in AL32UTF8 the same special chars are stored in 2 BYTES. 
If the C$ table is created in ODI 12c with the source definition (CHAR xx BYTE) the string is out of length in xxxx instance. With ODI 10g the C$ table is created with NCHARS instead and the problem doesn't occur.

Why does ODI 12c use the source definition instead of the destination definition, like it did in ODI 10g/11g?
Isn't it normal behavior that the generated code should use target definition?
Why do the ODI versions behave differently?
 

Solution

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms