Forum Stats

  • 3,770,408 Users
  • 2,253,104 Discussions
  • 7,875,445 Comments

Discussions

Printing Java Beanshell string get "Undefined argument: " error in 12.2.1.4.0

user2341289
user2341289 Member Posts: 7 Blue Ribbon
edited Jul 13, 2020 8:12AM in Data Integrator

Hi all,

yesterday we upgraded to 12.2.1.4.0 ODI version.

We get error "Undefined argument: <java string name>" while any component try to print this javabeanshell string. Everything works in previous versions (our last was 12.2.1.3.2).

Simple example:

1. ODI procedure with JavaBeanShell step

String javaresult="Hello world";

@&gt;

2. A ODI component (for example variable)

Set Variable Project.resultvariable. Set to <@[email protected]&gt;

3.

a) correct output in version<=12.2.1.3.2: Hello world

b) version 12.2.1.4.0 error message: "Undefined argument: javaresult"

Same in others ODI components (as ODIsendmail...)

Has anyone same problem? We dont want to do downgrade. I though this version should be stable.

Error:

ODI-1226: Step vymazat fails after 1 attempt(s).Caused By: oracle.odi.runtime.agent.exception.ExecutionEngineException: com.sunopsis.tools.core.exception.SnpsSimpleMessageException: ODI-17517: Error during task interpretation. Task: 2com.sunopsis.tools.core.exception.SnpsSimpleNLSMessageException: ODI-17810: Error during BeanShell evaluation: BeanShell script error: Sourced file: inline evaluation of: ``out.print(result) ; ;'' : Undefined argument: result  : at Line: 1 : in file: inline evaluation of: ``out.print(result) ; ;'' : ( result )  BSF info: null at line: 0 column: columnNo, Pre-execution code:out.print(result) ;at com.sunopsis.dwg.codeinterpretor.SnpCodeInterpretor.transform(SnpCodeInterpretor.java:550)at oracle.odi.runtime.agent.execution.interpreter.SessionTaskCodeInterpreter.codeInterpretation(SessionTaskCodeInterpreter.java:186)at oracle.odi.runtime.agent.execution.SessionTask.codeInterpretation(SessionTask.java:465)at oracle.odi.runtime.agent.execution.cmd.TextCommand.doCodeInterpretation(TextCommand.java:126)at oracle.odi.runtime.agent.execution.cmd.TextCommand.getTextCommandToExecute(TextCommand.java:181)at oracle.odi.runtime.agent.execution.var.AssignVariableExecutor.execute(AssignVariableExecutor.java:72)at oracle.odi.runtime.agent.execution.var.AssignVariableExecutor.execute(AssignVariableExecutor.java:26)at oracle.odi.runtime.agent.execution.TaskExecutionHandler.handleTask(TaskExecutionHandler.java:52)at oracle.odi.runtime.agent.execution.VariableSessionTask.processTask(VariableSessionTask.java:192)at oracle.odi.runtime.agent.execution.SessionTask.doExecuteTask(SessionTask.java:128)at oracle.odi.runtime.agent.execution.VariableSessionTask.doExecuteTask(VariableSessionTask.java:164)at oracle.odi.runtime.agent.execution.AbstractSessionTask.execute(AbstractSessionTask.java:886)at oracle.odi.runtime.agent.execution.SessionExecutor$SerialTrain.runTasks(SessionExecutor.java:2225)at oracle.odi.runtime.agent.execution.SessionExecutor.executeSession(SessionExecutor.java:610)at oracle.odi.runtime.agent.processor.TaskExecutorAgentRequestProcessor$1.doAction(TaskExecutorAgentRequestProcessor.java:718)at oracle.odi.runtime.agent.processor.TaskExecutorAgentRequestProcessor$1.doAction(TaskExecutorAgentRequestProcessor.java:611)at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:203)at oracle.odi.runtime.agent.processor.TaskExecutorAgentRequestProcessor.doProcessStartAgentTask(TaskExecutorAgentRequestProcessor.java:800)at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.access$1400(StartSessRequestProcessor.java:74)at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$StartSessTask.doExecute(StartSessRequestProcessor.java:702)at oracle.odi.runtime.agent.processor.task.AgentTask.execute(AgentTask.java:180)at oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor$2.run(DefaultAgentTaskExecutor.java:108)at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)at oracle.odi.runtime.agent.execution.job.OdiJob.call(OdiJob.java:73)at oracle.odi.runtime.agent.execution.job.OdiJob.call(OdiJob.java:73)at java.util.concurrent.FutureTask.run(FutureTask.java:266)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)at java.lang.Thread.run(Thread.java:748)Caused by: org.apache.bsf.BSFException: BeanShell script error: Sourced file: inline evaluation of: ``out.print(result) ; ;'' : Undefined argument: result  : at Line: 1 : in file: inline evaluation of: ``out.print(result) ; ;'' : ( result )  BSF info: null at line: 0 column: columnNoat bsh.util.BeanShellBSFEngine.eval(BeanShellBSFEngine.java:201)at bsh.util.BeanShellBSFEngine.exec(BeanShellBSFEngine.java:209)at com.sunopsis.dwg.codeinterpretor.SnpCodeInterpretor.transform(SnpCodeInterpretor.java:546)... 28 moreText: <@[email protected]&gt;.at oracle.odi.runtime.agent.execution.cmd.TextCommand.doCodeInterpretation(TextCommand.java:138)at oracle.odi.runtime.agent.execution.cmd.TextCommand.getTextCommandToExecute(TextCommand.java:181)at oracle.odi.runtime.agent.execution.var.AssignVariableExecutor.execute(AssignVariableExecutor.java:72)at oracle.odi.runtime.agent.execution.var.AssignVariableExecutor.execute(AssignVariableExecutor.java:26)at oracle.odi.runtime.agent.execution.TaskExecutionHandler.handleTask(TaskExecutionHandler.java:52)at oracle.odi.runtime.agent.execution.VariableSessionTask.processTask(VariableSessionTask.java:192)at oracle.odi.runtime.agent.execution.SessionTask.doExecuteTask(SessionTask.java:128)at oracle.odi.runtime.agent.execution.VariableSessionTask.doExecuteTask(VariableSessionTask.java:164)at oracle.odi.runtime.agent.execution.AbstractSessionTask.execute(AbstractSessionTask.java:886)at oracle.odi.runtime.agent.execution.SessionExecutor$SerialTrain.runTasks(SessionExecutor.java:2225)at oracle.odi.runtime.agent.execution.SessionExecutor.executeSession(SessionExecutor.java:610)at oracle.odi.runtime.agent.processor.TaskExecutorAgentRequestProcessor$1.doAction(TaskExecutorAgentRequestProcessor.java:718)at oracle.odi.runtime.agent.processor.TaskExecutorAgentRequestProcessor$1.doAction(TaskExecutorAgentRequestProcessor.java:611)at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:203)at oracle.odi.runtime.agent.processor.TaskExecutorAgentRequestProcessor.doProcessStartAgentTask(TaskExecutorAgentRequestProcessor.java:800)at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.access$1400(StartSessRequestProcessor.java:74)at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$StartSessTask.doExecute(StartSessRequestProcessor.java:702)at oracle.odi.runtime.agent.processor.task.AgentTask.execute(AgentTask.java:180)at oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor$2.run(DefaultAgentTaskExecutor.java:108)at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)at oracle.odi.runtime.agent.execution.job.OdiJob.call(OdiJob.java:73)at oracle.odi.runtime.agent.execution.job.OdiJob.call(OdiJob.java:73)at java.util.concurrent.FutureTask.run(FutureTask.java:266)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)at java.lang.Thread.run(Thread.java:748)Caused by: com.sunopsis.tools.core.exception.SnpsSimpleMessageException: ODI-17517: Error during task interpretation. Task: 2com.sunopsis.tools.core.exception.SnpsSimpleNLSMessageException: ODI-17810: Error during BeanShell evaluation: BeanShell script error: Sourced file: inline evaluation of: ``out.print(result) ; ;'' : Undefined argument: result  : at Line: 1 : in file: inline evaluation of: ``out.print(result) ; ;'' : ( result )  BSF info: null at line: 0 column: columnNo, Pre-execution code:out.print(result) ;at com.sunopsis.dwg.codeinterpretor.SnpCodeInterpretor.transform(SnpCodeInterpretor.java:550)at oracle.odi.runtime.agent.execution.interpreter.SessionTaskCodeInterpreter.codeInterpretation(SessionTaskCodeInterpreter.java:186)at oracle.odi.runtime.agent.execution.SessionTask.codeInterpretation(SessionTask.java:465)at oracle.odi.runtime.agent.execution.cmd.TextCommand.doCodeInterpretation(TextCommand.java:126)at oracle.odi.runtime.agent.execution.cmd.TextCommand.getTextCommandToExecute(TextCommand.java:181)at oracle.odi.runtime.agent.execution.var.AssignVariableExecutor.execute(AssignVariableExecutor.java:72)at oracle.odi.runtime.agent.execution.var.AssignVariableExecutor.execute(AssignVariableExecutor.java:26)at oracle.odi.runtime.agent.execution.TaskExecutionHandler.handleTask(TaskExecutionHandler.java:52)at oracle.odi.runtime.agent.execution.VariableSessionTask.processTask(VariableSessionTask.java:192)at oracle.odi.runtime.agent.execution.SessionTask.doExecuteTask(SessionTask.java:128)at oracle.odi.runtime.agent.execution.VariableSessionTask.doExecuteTask(VariableSessionTask.java:164)at oracle.odi.runtime.agent.execution.AbstractSessionTask.execute(AbstractSessionTask.java:886)at oracle.odi.runtime.agent.execution.SessionExecutor$SerialTrain.runTasks(SessionExecutor.java:2225)at oracle.odi.runtime.agent.execution.SessionExecutor.executeSession(SessionExecutor.java:610)at oracle.odi.runtime.agent.processor.TaskExecutorAgentRequestProcessor$1.doAction(TaskExecutorAgentRequestProcessor.java:718)at oracle.odi.runtime.agent.processor.TaskExecutorAgentRequestProcessor$1.doAction(TaskExecutorAgentRequestProcessor.java:611)at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:203)at oracle.odi.runtime.agent.processor.TaskExecutorAgentRequestProcessor.doProcessStartAgentTask(TaskExecutorAgentRequestProcessor.java:800)at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.access$1400(StartSessRequestProcessor.java:74)at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$StartSessTask.doExecute(StartSessRequestProcessor.java:702)at oracle.odi.runtime.agent.processor.task.AgentTask.execute(AgentTask.java:180)at oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor$2.run(DefaultAgentTaskExecutor.java:108)at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)at oracle.odi.runtime.agent.execution.job.OdiJob.call(OdiJob.java:73)at oracle.odi.runtime.agent.execution.job.OdiJob.call(OdiJob.java:73)at java.util.concurrent.FutureTask.run(FutureTask.java:266)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)at java.lang.Thread.run(Thread.java:748)Caused by: org.apache.bsf.BSFException: BeanShell script error: Sourced file: inline evaluation of: ``out.print(result) ; ;'' : Undefined argument: result  : at Line: 1 : in file: inline evaluation of: ``out.print(result) ; ;'' : ( result )  BSF info: null at line: 0 column: columnNoat bsh.util.BeanShellBSFEngine.eval(BeanShellBSFEngine.java:201)at bsh.util.BeanShellBSFEngine.exec(BeanShellBSFEngine.java:209)at com.sunopsis.dwg.codeinterpretor.SnpCodeInterpretor.transform(SnpCodeInterpretor.java:546)... 28 moreText: <@[email protected]&gt;.at oracle.odi.runtime.agent.execution.interpreter.SessionTaskCodeInterpreter.codeInterpretation(SessionTaskCodeInterpreter.java:208)at oracle.odi.runtime.agent.execution.SessionTask.codeInterpretation(SessionTask.java:465)at oracle.odi.runtime.agent.execution.cmd.TextCommand.doCodeInterpretation(TextCommand.java:126)... 25 more

Best Answer

  • Adrian_Popescu-Oracle
    Adrian_Popescu-Oracle RomaniaPosts: 1,950 Employee
    edited Apr 27, 2020 10:26AM Accepted Answer

    Hi,

    Issue persists only in ODI 12.2.1.4.

    Apply Patch 30967620 - "Undefined argument" Error When Using Java Beanshell

    on top of ODI 12.2.1.4.

    After this, delete ODI Studio cache as per note:

    How To Clear The Cache For ODI Studio (Doc ID 1943854.1)

    Adrian

Answers