My Oracle Support Banner

ODI 12c Knowledge Module Ignores Substitution API Used in Mapping Columns and Having UD Flags Enabled (Doc ID 2671432.1)

Last updated on JUNE 02, 2020

Applies to:

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

Symptoms

NOTE: In the examples below, the names represent a fictitious sample for clarity. Any similarity to actual environments, past or present, is purely coincidental and not intended in any manner.

A mapping uses certain knowledge modules that use substitution methods like getTargetColList() and getColList(). There are columns on the tables that have the flags UD1 or UD2 or UD3 or PK or UK or INS enabled on the logical mapping.

Example:
<%=odiRef.getColList("", "[COL_NAME]\t[DEST_WRI_DT] null", ",\n\t", "", "(UD1 or UD2 or UD3 or PK or UK or INS)")%>

When this Mapping is executed, the process fails with the following error at the "Insert Flow into I$ table" step:

ODI-1228: Task Insert flow into I$ table-IKM <IKM_NAME> - fails on the target connection <DATASERVER>.
Caused By: com.teradata.jdbc.jdbc_4.util.JDBCException: [Teradata Database] [TeraJDBC 14.00.00.14] [Error 3706] [SQLState 42000] Syntax error: expected something between the 'WHEN' keyword and the 'IS' keyword.

When looking at KM Task "Create source flow table (S$)," it shows the above enabled columns missing from the code.

Cause

To view full details, sign in with your My Oracle Support account.

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


In this Document
Symptoms
Cause
Solution
References


My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.