2013-04-26 31 views
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參考值的任何設置?它是否存儲任何未知的值參考,然後將其替換?

將不勝感激的幫助。

回答

3

輸出端口在可變端口之後被評估。我認爲這是原因。

+3

@Vicky有關端口評估順序的更多信息,請參見[此答案](http://stackoverflow.com/a/14099614/95)。 – 2013-04-26 12:19:48

0

因爲輸出端口是最後計算的。如果o_result是可變端口,那麼它應該顯示出您期望的結果。

0

因爲在調試模式下,您會看到每行的最後一個快照。調試器不顯示用於計算和分配的單獨行。就像在你的案例中o_result = null和v_result =的一行,以及o_result =和v_result =的其他行一樣。但是調試器會顯示每一行的最後一個快照。即任何o_result和v_result都有值。 但如果您運行工作流程,o_result將不會有任何值。