Skip to main content
Branch 端口在工作流程中起著分叉作用。檔案會根據端口中指定的條件是否為真,沿流程中的不同路徑傳送。

核心功能

  • 基於可配置條件的智慧流程路由:支援根據檔名、訊息頭、XPath 和 EDI 中繼資料進行跳轉。
  • 支援多種資料型別:支援字串 (String)、數字 (Number)、日期時間 (DateTime) 等型別,並配有靈活的比較運算子。
  • 高階 XPath 評估:支援針對 XML 文件路由的複雜 XPath 解析。
  • EDI 特定中繼資料分支:可根據文件型別進行 EDI 中繼資料分支。

概覽

分支條件可以檢查以下不同型別的值:
  • 檔名
  • 訊息上的訊息頭
  • 所有匹配的 XPath
  • 第一個匹配的 XPath
  • 一個或多個匹配的 XPath
  • EDI 中繼資料
注意
  • 要使用 XPath 選項,正在評估的檔案必須是 XML 檔案。
  • EDI 中繼資料分支只能用於 EDI 文件。
Branch 端口配置確定要查詢的值以及要比較的_目標_值。如果傳入值與目標值匹配,則訊息會沿藍色虛線流程路徑傳遞。可以有多個目標值,每個目標值會將訊息沿不同流程路徑傳送。如果這些值與任何條件都不匹配,則訊息會沿灰色虛線路徑傳遞。 有關上圖的詳細說明,請參閱根據訊息頭進行分支

端口配置

本節包含所有可配置的端口屬性。

Branch 配置索引標籤

與配置分支條件相關的設定。 分支設定允許為單個源值指定多個條件來定義分支。
設定描述
範例檔案如果上傳範例 XML 檔案,端口會在使用 XPath 進行比較時顯示文件結構。範例如下。
如果使用下拉式清單指定接收訊息時要比較的屬性。選項包括:訊息頭、檔名、所有匹配的 XPath、第一個匹配的 XPath、一個或多個匹配的 XPath,或 EDI 中繼資料。做出選擇後,請使用右側欄位進一步定義條件,如上方範例檔案圖所示。
資料型別目標值是字串、數字還是 DateTime。如果資料型別是 String,請使用 Trim stringIgnore case 核取方塊進一步細化比較。如果資料型別是 DateTime,請使用右側欄位指定 DateTime 值的結構。
修剪字串字串比較是否應忽略空格。
忽略大小寫

字串比較是否應區分大小寫。

分支設定部分的中心區域(如下圖所示)允許根據需要設定任意數量的條件。將滑鼠懸停在白色窗格上方或下方,然後選擇 Add Case 以新增條件。

每個條件由三個部分組成:

  • 運算子(例如 is equal to、contains、starts withmatches regex
  • 與檔案中找到的值進行比較的值
  • Then output to 元件

建立流程時,將不同端口連線到 Branch 端口中的每個 case 語句,以建立 Then output to 端口。最後,將不同端口連線到 Else 條件,以告訴 在其他條件均不滿足時應執行什麼操作。

忽略缺失值是否將缺失的訊息頭或 XPath 視為空字串(當 如果 選擇為 Filename 時不適用)。這樣可以避免缺少預期訊息頭或 XPath 時擲回錯誤,而是沿“does not match”流程路徑傳遞訊息。

設定

與端口核心操作相關的設定。

高階頁面 (Advanced Tab)

訊息

日誌

其他設定

其他設定

自動化頁面 (Automation Tab)

自動化設定

效能

通知索引標籤

SLA 索引標籤

使用 Branch 端口的範例

以下範例描述了常見的 Branch 端口用例。

根據訊息頭進行分支

在此範例中,您的企業從交易夥伴處收到多種型別的 EDI 文件,並且需要對不同型別的文件進行不同處理。 上圖展示了您向交易夥伴傳送採購訂單的情況。隨後他們向您傳送兩種不同型別的 EDI 文件:一種是 855 採購訂單確認,另一種是 810 發票。流程中 Branch 端口之前的 X12 端口 會將 X12-TransactionCode 附加到每個訊息頭。 Branch 端口使用訊息頭中的交易程式碼來告訴 在收到 810 或 855 EDI 文件時要執行的操作,以及在收到不包含這兩種交易程式碼的文件時要執行的操作。
  • 收到 810 文件後,流程中的下一步會將其傳送到後端系統的發票表(本例中為 PostgreSQL)。
  • 收到 855 文件後,流程的下一步會將其傳送到後端系統中的 PO 確認表。
  • 收到任何其他型別的文件時,Else 條件會使用 Notify 端口 向管理員傳送電子郵件以進行手動處理。

基於 EDI 中繼資料的分支

在此範例中,您的企業從多家公司接收 X12 文件,並且需要將兩家公司的文件傳送到特定工作區進行進一步處理。 上圖展示了兩家公司向您傳送 X12 文件的情況。Branch 端口使用 X12 中繼資料 InterchangeSenderId 來指定文件的傳送目的地。
  • 收到來自 CompanyA 的文件時,流程的下一步會將其傳送到 CompanyA 工作區。
  • 收到來自 CompanyB 的文件時,流程的下一步會將其傳送到 CompanyB 工作區。
  • 收到任何其他型別的文件時,Else 條件會使用 Notify 端口 向管理員傳送電子郵件,提醒他們傳入的 X12 文件與兩個預期公司之一不匹配。
公司特定的工作區隨後可能包含一個用於接收傳入文件的 Workspace Receive 端口(由於 Branch 流程中使用了 Workspace Send 端口,因此必須包含),一個帶有識別碼、可將原始 X12 資料轉換為 XML 的 X12 端口,一個用於將 XML 對映到目標的 XML Map 端口,最後是目標端口(下圖中的 PostgreSQL)。