My Oracle Support Banner

Some Variables in ODI 12c Custom KM Using odiRef.getXXX Are Not Substituted at Runtime (Doc ID 2715813.1)

Last updated on FEBRUARY 16, 2023

Applies to:

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


A customized Oracle Data Integrator (ODI) Knowledge Module (KM) has steps using "odiRef.get", ie"<%=odiRef.getInfo("SRC_DSERV_NAME")%>. The data server is configured to point to a global variable. When executing a mapping, the variable from odiRef.getInfo("SRC_DSERV_NAME") is not substituted, while other variables are generally correctly replaced.

To reproduce:

  1. Create a Data Server that uses a global Variable in the "Instance / dblink (Data Server)" field, and another global Variable in the URL field (append to "jdbc:oracle:thin:")
  2. Create a custom Integration Knowledge Module (IKM), which implements the following code in any of its tasks:  
  3. Create an Integration Interface that loads data from / to a Datastore on that Data Server.

Upon executing, the Mapping will show substitution of #GLOBAL.<VARIABLE_NAME_FOR_JDBC_URL> variable, but not of the one used in the "Instance / dblink (Data Server)" field




To view full details, 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 a vibrant support community of peers and Oracle experts.