共用方式為


EDI 區段結構項目

此區段包含一個或多個資料項目,而且是訊息中的中繼資訊單位。 每個區段都是以三個字元的資料區段識別碼開頭,並以區段結束字元結尾 (,預設為單引號 (') ) 。 區段中的資料項目是以資料項目分隔符號分隔。 預設的資料項目分隔符號是加號 (+)。 區段可分類為強制或選用兩種。 傳出交換的分隔符號可以在兩個交易夥伴之間的協定中設定,或做為後援交易夥伴合約的一部分。

巢狀

區段可以分組在稱為 巢狀的階層式關聯性中。 巢狀有兩種不同的類型:明確和隱含。 不過您在任何一個交換內,都只能使用一種巢狀類型。

  • 明確巢狀使用具有巢狀迴圈的明確指示。 使用明確巢狀時,區段標記中的第一個元件資料項目將會是區段代碼。 這個項目後面接著條件式元件資料項目,用來指出區段的層級和重複發生率。 這種用途的元件資料項目數目依據區段出現在訊息結構中的階層式層級而定。 如果區段出現在第一個層級,便會使用緊接在區段代碼後面的元件資料項目。 如果區段出現在第二個層級,則會同時使用緊接在區段代碼後面的元件資料項目,以及下一個元件資料項目。 如果區段出現在第三個層級,將會使用接在區段代碼後面的三個元件資料項目。 管線無法執行比較資料與階層的結構驗證。

  • 在隱含巢狀中,系統會嚴格遵守訊息結構中指定的區段順序。 區段之間具有隱含的巢狀關係,而且不需要其他任何指示就可以處理。

迴圈

一或多個區段可以重複為交易集內的 迴圈 。 迴圈有兩種不同的類型:未系結和限定。

未繫結迴圈

未繫結迴圈沒有用來標記迴圈開頭和結尾的唯一識別區段。 未繫結迴圈會根據某個計數重複。 如果計數沒有值,迴圈將會重複兩次。 迴圈中的每個區段只能按照指定的順序出現一次。

未繫結迴圈的開頭是由第一個唯一的資料項目所建立。 第一個項目只能在每一次的迴圈中出現一次。 未繫結迴圈可按巢狀結構放在迴圈內;若是如此,內部的未繫結迴圈就不能從與任何外部迴圈相同的序數位置開始,而且開頭也不能使用與任何外部迴圈相同的區段識別碼做為開頭。 巢狀迴圈包含的區段不能同時做為相同巢狀結構內任何外部迴圈的開頭區段。

已繫結迴圈

已繫結迴圈開頭為預先定義的區段 LS (迴圈啟動),而結尾則是預先定義的區段 LE (迴圈結束)。 LS 區段的選擇性必須符合迴圈中的第一個區段。 繫結迴圈可以包含另一個繫結迴圈。

注意

X12 中的繫結迴圈與 EDIFACT 中的明確迴圈功能相等。

迴圈中使用繫結來解決模稜兩可的問題。 LS/LE 區段上的需求指示項符合迴圈中第一個區段的需求指示項。 繫結可放寬某些經常重複之區段在用途上的結構化限制。 繫結區段沒有任何關於開頭區段 ID 的限制。 如此一來,同一個區段就可以啟動繫結迴圈,也可以在迴圈外使用,如下列範例所示:

AA  
LS  
BB  
CC  
LE  
BB  

允許有從屬迴圈 (迴圈內的迴圈)。 如果繫結迴圈按巢狀結構放在迴圈內,內部迴圈不能從與任何外部迴圈相同的序數位置開始。 內部繫結迴圈必須在緊接的外部迴圈之前結束。

交易集內每個周框迴圈都必須有唯一定義的 < loop_id > 值,其值為一到四個大寫字母或數值。 建議對應的 LS 和 LE 區段包含相同的唯 < 一loop_id > 值。 loop_id <> 資料元素會處理為「一般」資料元素,並針對資料類型、最小/最大長度、選擇性等進行驗證。將不會跨 LS 和 LE) 執行跨區段驗證 (。BizTalk Server會透過 LS 和 LE 區段的存在來驗證模棱兩可的解析,而且沒有其他任何專案。 若發生違反資料項目規則的情況,將會接受交易集並產生錯誤,而且 BizTalk Server 也會在通知中傳回 AK501=E 和 AK2/AK3 的適當評估。

您也必須強制執行 LS/LE 區段的剖析作業。 如果出現不相符的情況,便會因為原有的模稜兩可解析問題而拒絕交易集,並於事件檢視器和 997 通知中傳回 AK501 = E 和 AK502 = 5。 當遺失或兩個 LS/LE 區段,但交易集不明確時,交易集將會接受錯誤,並傳回 AK501=E 和 AK502 = 5。

LS/LE 配對可以是選擇性或強制性的。 不過,除非這個配對包含在可重複的父迴圈中,否則此將永遠不可重複。 不論是哪一種情況,LS/LE 配對的 MaxOccurs 都可以是 1,但不能大於 1。這是結構描述驗證中的強制條件。

EDI 解譯器和 EDI 組合器會處理 LS 和 LE 區段。 在剖析過程中,解譯器會建立 LS 和 LE 區段的 XML 節點,並驗證區段。 在序列化過程中,組合器則會從 XML 節點建立 LS 和 LE 區段,並驗證這兩個區段。 如果遺漏預期的 LS 或 LE 區段,交易集會暫停/拒絕,且 AK501 = E 和 AK502 = 5。 如果 LS/LE 區段沒有對應的資料元素存在,且已啟用 EDI 驗證,則會接受交易集並出現錯誤,AK501 = E 和 AK502 = 5 會在 事件檢視器 和 997 ACK 中回報。