"<%=odiRef.getInfo("SRC_DSERV_NAME")%>" when Used in ODI KM Fails to Return Value if Preceded by a Variable and "@"
(Doc ID 2647702.1)
Last updated on JULY 30, 2024
Applies to:
Oracle Data Integrator - Version 12.2.1.3.190415 to 12.2.1.4.200123 [Release 12c]Information in this document applies to any platform.
Symptoms
When calling the Oracle Data Integrator (ODI) Substitution API <% = odiRef.getInfo ("SRC_DSERV_NAME")%> in an ODI customized Knowledge Module (KM), there is no value returned if the command is preceded by an ODI variable followed by "@", and not separated by space.
This works fine in 11g.
To reproduce:
- Create a customized KM and add a step using <% = odiRef.getInfo ("SRC_DSERV_NAME")%> like below. (Replace the placeholder values including their surroung <> with actual values)
Data OutFile user/password@ :
OdiOSCommand "-OUT_FILE=<DIR>\<FILE_NAME.OUT>" "-ERR_FILE=<DIR>\<FILE_NAME.ERR>" "-SYNCHRONOUS=YES"
sqlplus -S user1/password1@<%=odiRef.getInfo ("SRC_DSERV_NAME")%> @<DIR>\<FILE_NAME.SQL> - Add another similar step which uses ODI variables, like the following:
Name: Data OutFile - Variables@
Target command:
OdiOSCommand "-OUT_FILE=<DIR>\<FILE_NAME2.OUT>" "-ERR_FILE=<DIR>\<FILE_NAME2.ERR>" "-SYNCHRONOUS=YES"
sqlplus -S #GLOBAL.JDBC_USER/#GLOBAL.JDBC_PASSWORD@<%=odiRef.getInfo ("SRC_DSERV_NAME")%> @<DIR>\<FILE_NAME2.SQL> - Create a mapping that uses the KM
- Execute the mapping with log level 6
- Compare the generated code in both ODI 11g and ODI 12c, notice that "Data OutFile - Variable@" step is missing the dataserver name "ORCL" when executed in ODI 12c.
Code generated in ODI 11g:
Changes
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 |
Changes |
Cause |
Solution |
References |