如何在tJava元素上使用tMSSqlSP的输出

时间:2018-02-02 15:35:55

标签: sql-server stored-procedures talend

我有一个tMSSqlSP元素调用一个接收两个参数并返回两个值的过程。如果我在此之后立即连接tLogRow,我可以看到正确调用过程并返回正确的值。但是,我需要在tJava元素中使用这些值,这意味着以某种方式显式调用它们。

tMSSqlSP的架构如下:

Column     Db Column
entityTIN   EntityTIN  (IN)
qtdDoc      QtdDoc     (IN)
nextMsg     NextMsg    (OUT)
nextDoc     NextDoc    (OUT)

唯一的全局变量tMSSqlSP有一条错误消息,我尝试检查" Is函数"框和设置"返回结果"到nextMsg,但尝试在tJava上使用此变量会导致编译错误。

我知道如何明确地访问这些值吗?

编辑:这是本部分工作的截图。连接到tLogRow的{​​{1}}正确打印了两个输入变量和两个输出变量的值,但右侧的两个停用组件只能在连接时看到空值。

enter image description here

1 个答案:

答案 0 :(得分:1)

您可以将Events.on(engine, 'beforeUpdate', function() { var gravity = engine.world.gravity; if (noGravity) { Body.applyForce(body, { x: 0, y: 0 }, { x: -gravity.x * gravity.scale * body.mass, y: -gravity.y * gravity.scale * body.mass }); } }); 组件链接到tMSSqlSP,并向其中添加2个全局变量(NextMsg和NextDoc),这些变量从输入流的列中获取值tSetGlobalVar )。

然后你可以在下一个subjob中引用它们,方法是在tJava中引用它们:rowX.column

如果您需要在与(String)globalMap.get("NextMsg")相同的子工作中处理它们,则可以将tMSSqlSP连接到tMSSqlSPtJavaFlextJavaRow不处理输入主流,只使用tJava

之类的东西