BizTalk 服務的運算式 - 使用方式與範例

更新日期: 2015年8月

列出 Microsoft Azure BizTalk 服務 中的運算式 對應作業。

 

對應作業 描述 參數 輸出

算術運算式

使用輸入和常數,評估數學運算式。算術運算式包含下列運算子:









  • 模數

  • 絕對值

  • 最大

  • Minimum

  • 四捨五入

  • 平方根

可以有 0 到 100 個選用輸入參數:

 

輸入

數值。

算術運算式

使用輸入和常數所定義的數學運算式。

note附註
運算式的長度上限是 1024 個字元。

為運算結果的數值。

請參閱算術運算式範例:BizTalk 服務

邏輯運算式

評估條件,並輸出評估的布林值。邏輯運算式包含下列運算子:

  • 關係運算子:

    >

    <

    >=

    <=

    ==

    !=

  • 邏輯否定 (!)

  • 條件式 AND (&&)

    條件式 OR (||)

可以有 0 到 100 個選用輸入參數:

 

輸入

可以是數值、字串值或布林值。

邏輯運算式

使用評估為布林值之輸入和常數所定義的運算式。

note附註
運算式的長度上限是 1024 個字元。

如果邏輯運算式傳回 true,則會傳回 True。否則會傳回 False。

請參閱邏輯運算式範例:BizTalk 服務

If-Then-Else 運算式

評估會產生兩個可能輸出的其中一個輸出的陳述式。

可以有 0 到 100 個選用輸入參數:

 

輸入

可以是數值、字串值或布林值。

條件

使用輸入和常數所定義的運算式。

Then 值

如果陳述式或運算式為 true,則會使用此值。

Else 值

如果陳述式或運算式為 false,則會使用此值。

note附註
運算式的長度上限是 1024 個字元。

結果是根據條件運算式的 true 或 false 評估。

如果為 true,會使用 Then 值。如果為 false,則會使用 Else 值

請參閱If-Then-Else 運算式範例:BizTalk 服務

條件式指派

傳回兩個輸入參數其中一個的值。如果第一個輸入值為 True,則會在具有第二個輸入值的輸出文件中建立節點。如果第一個輸入值為 False,則不會在輸出文件中建立對應的節點。

只需要兩個輸入參數:

 

條件

導致布林值的運算式。可以是下列其中一項:

  • 來自樹狀節點的連結

  • 從對應作業連結

指派值

如果條件為 true,則為指派給目的地節點的值。

note附註
此對應作業只能連接至目的地樹狀節點。

如果條件值為 "true",則會建立具有指派值輸入值的節點。

請參閱條件式指派範例:BizTalk 服務

下表列出可以與任何對應作業搭配使用的其他函數:

 

函數 運算式 描述

Exists

Exists(Source_Node_Name)

需要為來源文件中元素名稱的單一輸入。如果元素存在,則傳回 True。否則會傳回 False。

IsDate

IsDate(Input1)

需要類型為字串的單一輸入。DateTime.TryParse() 方法用來將輸入剖析為 DateTime 物件。如果順利剖析輸入,則傳回 True。否則會傳回 False。

IsEmpty

IsEmpty(Input1)

需要類型為字串的單一輸入。如果字串為 Null 或空白,則傳回 True。否則會傳回 False。如果輸入不是字串物件,則傳回 True。

IsNil

IsNil(Source_Node_Name)

需要為來源文件中元素名稱的單一引數。如果元素存在而且 xsi:nil 設定為 True,則傳回 True。否則會傳回 False。

IsNumber

IsNumber(Input1)

需要類型為字串的單一輸入。Double.TryParse() 方法用來將輸入剖析為 Double。如果順利剖析輸入,則傳回 True。否則會傳回 False。

note附註
逗號 "," 支援做為千位數分隔符號,句點 "." 則支援做為小數點。

Important重要事項
所有對應作業和函數都可以用於其他對應作業和函數內,但 Exists 和 IsNil 除外。Exists 和 IsNil 會指向來源文件中的單一節點。

BizTalk 服務可讓您設定如何處理錯誤及如何處理 Null 或空值節點。您可以設定下列 [運算式] 對應作業的錯誤處理行為:

  • 邏輯運算式

  • 算術運算式

  • If-Then-Else 運算式

步驟:

  1. 在 Visual Studio 中開啟 BizTalk 服務專案BizTalk 服務成品專案。

  2. 按兩下轉換 (.trfm) 來開啟轉換設計師。

  3. 在轉換工具列中,按一下 [設定]

錯誤處理索引標籤

在 [錯誤處理] 索引標籤中,下列 [運算式] 對應作業有兩個 [行為] 選項:

  • 邏輯運算式

    • 失敗對應:中止整個轉換。在管線內執行轉換之後,管線內會發生錯誤,接著會將錯誤傳送回已傳送訊息的用戶端。

    • 輸出預設值 false:如果對應作業失敗,則會傳回 False 做為輸出。

  • 算術運算式

    • 失敗對應:中止整個轉換。因為轉換是在管線內執行,當管線內發生錯誤時,錯誤會傳送至送出訊息的用戶端。

    • 輸出預設值 NaN:如果 對應作業 失敗,將傳回 NaN (不是數字) 作為輸出。

    • 輸出預設值 0:如果 對應作業 失敗,將傳回零 (0) 作為輸出。

  • If-Then-Else 運算式

    • 失敗對應:中止整個轉換。在管線內執行轉換之後,管線內會發生錯誤,接著會將錯誤傳送回已傳送訊息的用戶端。

    • 根據輸出類型而輸出空值/零/或False:如果對應作業失敗,則會根據輸出類型傳回空值/零/False 做為輸出。

Null/空白資料處理索引標籤

[Null/空白資料處理] 索引標籤中,有三個選項:

  • 在累計作業中考量空白節點:依預設不會勾選此選項。未勾選時,反覆運算中不會包含空白節點。勾選時,反覆運算中會包含所有節點,包括空白節點。

    範例:有一份包含 10 個 <record> 節點的文件。其中三個 <record> 節點是空的。未勾選 [在反覆運算中考量空白節點] 時,對應作業會傳回 7。勾選 [在反覆運算中考量空白節點] 時,對應作業會傳回 10。

  • 在反覆運算中考量空白節點:依預設不會勾選此選項。未勾選時,反覆運算中不會包含空白節點。勾選時,反覆運算中會包含所有節點,包括空白節點。

    範例:有一份包含 10 個 <record> 節點的文件。其中三個 <record> 節點是空的。未勾選 [在反覆運算中考量空白節點] 時,對應作業會對非空白節點進行七次反覆運算。因此,目標中會產生七個 <record> 節點。勾選 [在反覆運算中考量空白節點] 時,對應作業會對所有節點進行 10 次反覆運算,包括空白節點。因此,目標中會產生 10 個 <record> 節點。

  • 產生目標節點:如果設為要考量空白節點,您可選擇在輸出中產生空白節點,或在輸出中不要產生空白節點。具體來說:

    • 不產生空白節點:預設選項。

    • 產生空白節點

    範例:有一份包含 10 個 <record> 節點的文件。其中三個 <record> 節點是空的。未勾選 [在累計作業中考量空白節點][在反覆運算中考量空白節點],所以對應作業對非空白節點進行七次反覆運算。因此,目標中會產生七個 <record> 節點。勾選 [在反覆運算中考量空白節點] 時,對應作業會對所有節點進行 10 次反覆運算,包括空白節點。因此,目標中會產生 10 個 <record> 節點。

另請參閱

其他資源

建立轉換或對應

顯示: