1

假设,我得到 id,标记为表达式转换的输入。我正在计算这样的值。

ID--------------------------------------Input/Output Port 
MARKS-----------------------------------Input Port
O_RESULT= V_RESULT----------------------Output Port
V_RESULT=IIF(MARKS > 60,"PASS","FAIL")--Variable Port

当我调试此代码时,通常它会按顺序计算值。在上面的示例中,我在计算之前将 V_RESULT 分配给了 O_RESULT。它仍然显示出正确的结果。理想情况下,它应该显示 NULL 值。

有人可以告诉我为什么它显示正确的结果吗?

informatica 中是否有任何参考值设置?它是否为它存储任何未知的值引用并在以后替换它?

将不胜感激。

4

3 回答 3

3

输出端口在可变端口之后进行评估。我想这就是原因。

于 2013-04-26T11:51:54.027 回答
0

因为在调试模式下,您会看到每一行的最后一个快照。调试器不显示单独的计算和赋值行。就像在你的情况下,o_result=null 和 v_result= 的一行以及 o_result= 和 v_result= 的另一行。但调试器将显示每一行的最后一个快照。即任何 o_result 和 v_result 都有值。但如果您运行工作流,o_result 将没有任何值。

于 2015-01-20T08:52:11.677 回答
0

因为输出端口是最后计算的。如果 o_result 是可变端口,那么它应该会显示您预期的结果。

于 2015-01-09T09:15:42.430 回答