Skip to Main Content

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

user2341289Feb 27 2020 — edited Jul 13 2020

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";

@>

2. A ODI component (for example variable)

Set Variable Project.resultvariable. Set to <@=javaresult@>

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: 2

com.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: columnNo

at 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 more

Text: <@=result@>.

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: 2

com.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: columnNo

at 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 more

Text: <@=result@>.

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

This post has been answered by Adrian_Popescu-Oracle on Apr 27 2020
Jump to Answer
Comments