EDI 接收管線和 EDI 傳送管線可以針對 X12 編碼訊息中的交易集數據元素執行跨字段/區段驗證。 此驗證在 X12 中稱為關係型條件。 交叉欄位驗證是透過批註表示,因此與 EDI 驗證相關。
備註
BizTalk Server 不支援 EDIFACT 相依性規則。
針對 X12 編碼的訊息,您可以將訊息架構中的 X12ConditionDesignator_Check 旗標設定為 [是] 來啟用此驗證。 此旗標位於架構的 「appinfo」 區段中的註釋中。 根據預設,此旗標會設定為 「No」,且 X12 架構不會啟用跨欄位\區段驗證。 針對 HIPAA 架構,預設值會設定為 「Yes」,並啟用跨字段\區段驗證。
備註
跨欄位/區段驗證與 EDI 資料元素驗證和擴充 (BTS-XSD) 驗證不同。 您可以執行EDI資料元素驗證和/或延伸驗證,而不需要執行跨欄位/區段驗證,也可以執行跨字段/區段驗證,而不需要執行EDI數據元素驗證和/或延伸驗證。
X12 中的選擇性包含強制 (M)、選擇性 (O) 和關係型 (R) (跨欄位驗證)。 當選項為必要時,至少必須給複合類型中的一個組成元件的資料元素賦值。
X12 選擇性
在 X12 中,關係型選擇性的跨欄位/區段驗證包含架構規則中列出的一系列檢查。 每個規則是由 xs:annotation> 元素中的以下元素<識別出來的:
<b:Rule subjects="X12ConditionDesignatorX_<relational_condition>"…>
“Rule” 元素中的關係型條件會指出該規則正在驗證的內容。 這個元素包含一個項目清單,在該清單上執行交叉欄位驗證。 主題會包含在下列節點中:
<b:Subject name="<subject>"/>
下表顯示 X12 關係型條件:
| 子類別化 | 關係型條件 | 說明 |
|---|---|---|
| 配對 | X12ConditionDesignatorX_Paired | 如果關係型條件中指定的任何主體專案存在,則所有指定的主旨專案都必須存在。 |
| 為必填項目 | X12ConditionDesignatorX_Required | 關係型條件中指定的至少一個主體項目必須存在。 |
| 排除 | X12條件指定器X_排除 | 在關係型條件中指定的主體元素中,最多只能出現一個。 |
| 有條件的 | X12ConditionDesignatorX_Conditional | 如果關係型條件中指定的第一個主旨專案存在,則所有其他主體元素都必須存在。 任何或所有未指定為條件中第一個專案的專案都可能會出現,而不需要有第一個專案存在。 條件中元素的順序不一定與數據區段中數據元素的順序相同。 |
| 條件式列表 | X12ConditionDesignatorX_List 條件式 | 如果關係型條件中指定的第一個主體元素存在,則至少必須有一個剩餘的主體元素存在。 任何或所有未指定為條件中第一個專案的專案都可能會出現,而不需要有第一個專案存在。 條件中元素的順序不一定與數據區段中數據元素的順序相同。 |