如何儲存輸出 EDI 訊息的資料
BizTalk Server 會針對輸出交換,進行下列作業以產生狀態報告項目:
輸出訊息 XML 傳送到 EDI 傳送管線時,傳送管線便會以下列的值,在狀態報告資料存放區中建立項目:
交換狀態項目已設定為「已處理」
交換通知狀態項目 (每個交換一個) 已設定為「預期」
功能通知狀態項目 (X12 中每個群組一個,EDIFACT 中所有群組共用一個) 已設定為「預期」
在 EDI 訊息傳送至交易夥伴,且已從交易夥伴傳回通知後,接收通知的 EDI 接收管線就會視情況將交換狀態、交換通知狀態和功能通知狀態項目,更新為「已接受」/「已部分接受」/「已拒絕」。
傳送管線所儲存的輸出交換資料
傳送管線會在狀態報告資料存放區中,針對其所傳送的每個交換建立記錄。 此項目所需要的多數資料,都會在交換的標頭/結尾區段中 (ISA/IEA 或 UNB/UNZ) 提供。 其他資料則由傳送埠屬性提供。 儲存的資料包括:
記錄類型 = 交換狀態
交換方向 = 更新資料 = 傳送
交換接收者 = 更新資料
交換傳送者 = 更新資料
交換日期 = 更新資料
交換時間 = 更新資料
交換控制識別碼 = 更新資料
交換狀態:已處理/傳送。 「已處理」的狀態表示傳送管線已成功處理交換,並將它傳送至傳送配接器等候傳遞。
交換控制計數 (在 X12 中分別為群組/訊息) = 資料
交換傳送埠識別碼 = 資料
由接收管線針對回應輸出交換而接收之每個技術通知所儲存的資料
接收管線會在狀態報告資料存放區中,針對其所接收的每個技術通知建立記錄。 接收管線會建立狀態報表資料存放區中所接收之每個交換的記錄。 針對傳送給交易夥伴之交換而收到的每個技術 ACK,在資料存放區中建立一個技術通知狀態報表專案。 X12 類型的技術通知是 TA1,EDIFACT 類型的技術通知為僅包含 UCI 區段的 CONTRL 訊息。 儲存的資料包括:
記錄類型 = 交換通知狀態
交換通知方向 = 傳送 – 更新資料
交換接收者 = 更新資料 (相互關聯的必要項)
交換傳送者 = 更新資料 (相互關聯的必要項)
交換日期 = 更新資料 (X12 相互關聯的必要項)
交換控制識別碼 = 更新資料 (相互關聯的必要項)
交換 ACK 狀態 = 已產生或不適用 < 參考附注 0 > - 更新資料
交換通知控制識別碼= 未指定值 – 會由傳送端套用
交換通知日期= 未指定值 – 會由傳送端套用
交換通知時間= 未指定值 – 會由傳送端套用
ACK/動作代碼 = 更新資料 < ,請參閱 X12-TA104 或 EDIFACT-UCI4) * 中的 1 > (
ACK 附注程式碼 = 更新資料 < 請參閱 X12-TA105 (附注 2 > ,不適用於 EDIFACT) *
使用的通知/動作代碼如下:
通知/動作代碼中的資料 | 報告的錯誤描述 | 註解 (適用性) |
---|---|---|
A | 已接受 | X12 |
E | 已接受,但已記錄錯誤 | X12 |
P | 已部分接受 | X12 |
R | 已拒絕 | X12 |
4 | 已拒絕 | EDIFACT |
8 | 已接受/已部分接受 | EDIFACT |
使用的通知說明碼如下:
通知說明碼中的資料 (在 X12 中) | Description |
---|---|
000 | Success |
001 | 交換控制編號不相符 |
002 | 不支援標準 |
003 | 不支援控制項版本 |
004 | 區段結束字元無效 |
005 | 無效的傳送者交換識別碼辨識符號 |
006 | 無效的交換傳送者識別碼 |
007 | 無效的接收者交換識別碼辨識符號 |
008 | 無效的交換接收者識別碼 |
009 | 未知的交換接收者識別碼 |
010 | 無效的授權資訊辨識符號值 |
011 | 無效的授權資訊值 |
012 | 無效的安全性資訊辨識符號值 |
013 | 無效的安全性資訊值 |
014 | 無效的交換日期值 |
015 | 無效的交換時間值 |
016 | 無效的交換標準識別碼值 |
017 | 無效的交換版本識別碼值 |
018 | 無效的交換控制編號值 |
019 | 無效的通知要求值 |
020 | 無效的測試指示符號值 |
021 | 無效之包括的群組數目值 |
022 | 無效的控制結構 |
023 | 不適當的檔案結尾 |
024 | 無效的交換內容 |
025 | 重複的交換控制編號 |
026 | 無效的資料元素分隔符號 |
027 | 無效的元件元素分隔符號 |
028 | 延遲傳遞要求中無效的傳遞日期 |
029 | 延遲傳遞要求中無效的傳遞時間 |
030 | 延遲傳遞要求中無效的傳遞時間碼 |
031 | 無效的服務等級 |
由接收管線針對回應輸出交換而接收之每個技術通知所更新的資料
對於接收管線所接收的每個技術通知,接收管線都會更新相互關聯之傳送交換的狀態報告項目。
EDI 解譯器會使用內送通知中 UCI 和 TA1 區段內的資料,找出資料存放區中的記錄,如下所示:
通知中的欄位 | 資料存放區中的欄位 | 註解 |
---|---|---|
交換傳送者識別碼 | 交換接收方 | - |
交換接收者識別碼 | 交換寄件者 | - |
- | 交換日期 | - |
交換控制編號 | 交換控制識別碼 | - |
- | 交換方向 = 傳送 | 在為唯一性而保留的批次實例中是必要的 |
記錄類型 | 交換狀態和交換通知狀態 | - |
儲存的資料包括:
交換通知方向 = 接收 – 現有資料
交換通知狀態 = 已收到
交換接收者 = 現有資料
交換傳送者 = 現有資料
交換日期 = 現有日期
交換控制識別碼 = 現有資料
交換通知控制識別碼 = 更新資料
交換通知日期 = 更新資料
交換通知時間 = 更新資料
ACK/Action Code = 從 X12-TA104 或 EDIFACT-UCI4) 更新資料 (* < 請參閱附注 1>
ACK 附注程式碼 2 = 從 X12-TA105 更新資料 (,且未針對 EDIFACT) 值* < 請參閱附注 2>
來自 ACK X12:TA1-104 或 EDIFACT UCI4 的資料將會加以對應,如下所示:
通知/動作代碼中的資料 | 針對狀態報告對應 | 註解 |
---|---|---|
A | 已接受 | X12 |
P | 已部分接受 | X12 |
R、M、W、X | 已拒絕 | X12 |
E | 已接受,發生錯誤 | X12 |
4 | 已拒絕 | EDIFACT |
7、8 | 已接受/已部分接受 | EDIFACT |
使用的通知說明碼如下:
通知說明碼中的資料 (在 X12 中) | 針對狀態報告對應 |
---|---|
000 | Success |
001 | 交換控制編號不相符 |
002 | 不支援標準 |
003 | 不支援控制項版本 |
004 | 區段結束字元無效 |
005 | 無效的傳送者交換識別碼辨識符號 |
006 | 無效的交換傳送者識別碼 |
007 | 無效的接收者交換識別碼辨識符號 |
008 | 無效的交換接收者識別碼 |
009 | 未知的交換接收者識別碼 |
010 | 無效的授權資訊辨識符號值 |
011 | 無效的授權資訊值 |
012 | 無效的安全性資訊辨識符號值 |
013 | 無效的安全性資訊值 |
014 | 無效的交換日期值 |
015 | 無效的交換時間值 |
016 | 無效的交換標準識別碼值 |
017 | 無效的交換版本識別碼值 |
018 | 無效的交換控制編號值 |
019 | 無效的通知要求值 |
020 | 無效的測試指示符號值 |
021 | 無效之包括的群組數目值 |
022 | 無效的控制結構 |
023 | 不適當的檔案結尾 |
024 | 無效的交換內容 |
025 | 重複的交換控制編號 |
026 | 無效的資料元素分隔符號 |
027 | 無效的元件元素分隔符號 |
028 | 延遲傳遞要求中無效的傳遞日期 |
029 | 延遲傳遞要求中無效的傳遞時間 |
030 | 延遲傳遞要求中無效的傳遞時間碼 |
031 | 無效的服務等級 |
由接收管線針對回應輸出交換而接收之每個功能通知所儲存的資料
接收管線會在狀態報告資料存放區中,針對其所接收的每個功能通知建立記錄。 X12 類型的技術通知是 997,EDIFACT 類型的技術通知為完整的 CONTRL 訊息。 會為每個群組建立一個項目。 進行這項輸入時會使用交換和群組標頭內的資料。 儲存的資料包括:
記錄類型 = 功能通知狀態
功能通知方向 = 傳送
功能 ACK 狀態 = < 已產生或不適用,請參閱附注 1>
交換接收者 = 更新資料 (相互關聯的必要項)
交換傳送者 = 更新資料 (相互關聯的必要項)
交換日期 = 更新資料 (X12 相互關聯的必要項)
交換控制識別碼 = 更新資料 (相互關聯的必要項)
群組控制編號 = 更新資料 (「對於 EDIFACT 是選擇項」,對於 X12 相互關聯是必要項)
功能識別代碼 = 更新資料 (GS01/UNG01)
交易集的計數 = 更新資料 (UNE1/UNZ1)
功能通知交換控制識別碼= 未指定值 – 會由傳送端套用
功能通知交換日期= 未指定值 – 會由傳送端套用
功能通知交換時間= 未指定值 – 會由傳送端套用
已接收交易集的計數 = 更新資料 (X12-AK903,由 EDIFACT 編碼的引擎計算)
已接受交易集的計數 = 更新資料 (X12-AK904,由 EDIFACT 編碼的引擎計算)
ACK/動作程式碼 = 更新資料 < ,請參閱 X12-AK901 或 EDIFACT-UCI4) * (附注 2 > (*
錯誤/語法錯誤碼 = 更新資料 (X12-AK905、EDIFACT UCI5) 附注 3
其他 X12 通知錯誤碼 2 = 更新資料 (X12-AK906)
其他 X12 通知錯誤碼 3 = 更新資料 (X12-AK907)
其他 X12 通知錯誤碼 4 = 更新資料 (X12-AK908)
其他 X12 通知錯誤碼 5 = 更新資料 (X12-AK909)
將使用的通知/動作代碼如下:
通知/動作代碼中的資料 | 報告的錯誤描述 | 註解 (適用性) |
---|---|---|
A | 已接受 | X12 |
E | 已接受,發生錯誤 | X12 |
P | 已部分接受 | X12 |
R | 已拒絕 | X12 |
4 | 已拒絕 | EDIFACT |
7 | 已接受/已部分接受 | EDIFACT |
EDIFACT 將使用的錯誤/語法錯誤碼如下:
錯誤/語法錯誤碼中的資料 (適用於 EDIFACT) |
報告的錯誤描述 |
---|---|
2 | 語法版本或層級不支援 |
7 | 交換收件者不是實際收件者 |
12 | 無效值 |
13 | Missing |
14 | 在這個位置中不支援的值 |
15 | 在這個位置中不支援 |
16 | 太多結構成分 |
17 | 沒有協議 |
18 | 未指定的錯誤 |
19 | 無效的小數點標記 |
20 | 字元做為服務字元無效 |
21 | 無效字元 |
22 | 服務字元無效 |
23 | 未知的交換傳送者 |
24 | 太舊 |
25 | 不支援測試指示符號 |
26 | 偵測到重複 |
27 | 不支援安全性函式 |
28 | 參考不相符 |
29 | 控制計數不符合接收到的執行個體數目 |
30 | 群組和訊息/封裝已混合 |
31 | 群組中有一種以上的訊息類型 |
32 | 較低層級空白 |
33 | 在訊息、封裝或群組外部出現的項目無效 |
34 | 不允許巢狀指示符號 |
35 | 太多資料元素或區段重複 |
36 | 太多區段群組重複 |
37 | 無效字元類型 |
38 | 在小數符號之前遺失數字 |
39 | 資料元素太長 |
40 | 資料元素太短 |
41 | 永久通訊網路錯誤 |
42 | 暫時通訊網路錯誤 |
43 | 未知的交換收件者 |
45 | 尾端分隔符號 |
46 | 不支援字元集 |
47 | 不支援信封功能 |
48 | 違反相依性條件 |
70 | 交易集遺失或是交易集識別碼無效 |
71 | 交易集或群組控制編號不相符 |
72 | 無法辨識的區段識別碼 |
73 | XML 不在正確的位置 |
74 | 區段群組的重複太少 |
75 | 區段的重複太少 |
76 | 找到的資料元素太少 |
X12 將使用的錯誤/語法錯誤碼如下:
錯誤/語法錯誤碼中的資料 (適用於 X12) |
報告的錯誤描述 |
---|---|
1 | 不支援功能群組 |
2 | 不支援功能群組版本 |
3 | 遺失功能群組結尾 |
4 | 功能群組標頭與結尾中的群組控制編號不相符 |
5 | 包括的交易集數目和實際計數不相符 |
6-26 | 其他不支援的驗證錯誤 |
由接收管線針對回應外寄交換而接收之每個功能通知所更新的資料
對於接收管線所接收的每個功能通知,接收管線會更新相互關聯之傳送交換的狀態報告項目。
「EDI 解譯器」會使用內送通知中交換和群組標頭區段內的資料,找出資料存放區中的記錄,如下所示:
通知中的欄位 | 資料存放區中的欄位 | 註解 |
---|---|---|
交換傳送者識別碼 | 交換接收方 | 適用於 X12 與 EDIFACT |
交換接收者識別碼 | 交換寄件者 | 適用於 X12 與 EDIFACT |
- | 交換日期 | - |
交換控制編號 | 交換控制識別碼 | 僅適用於 EDIFACT |
群組控制編號 | 群組控制編號 | 僅適用於 X12 |
- | 交換方向 = 傳送 | 為確保唯一性,在 BIBO 實例中是必要項 |
記錄類型 | 功能通知狀態 | 適用於 X12 與 EDIFACT |
儲存的資料包括:
記錄類型 = 功能通知狀態
功能通知方向 = 接收
功能通知狀態 =更新資料為已接收
交換接收者 = 現有資料
交換傳送者 = 現有資料
交換日期 = 現有日期
交換控制識別碼 = 現有資料
群組控制編號 = 現有資料
功能識別代碼 = 現有資料
交易集的計數 = 現有資料
功能通知交換控制識別碼 = 更新資料
功能通知交換日期 = 更新資料
功能通知交換時間 = 更新資料
已傳送交易集的計數 = 更新資料 (X12 AK903,EDIFACT 不適用)
已接受的交易集計數 = 更新資料 (X12 AK904,EDIFACT 不適用)
通知/動作代碼 = 更新資料 (X12 AK901 和 UCI4) 參閱說明 1
錯誤/語法錯誤碼 = (X12 AK905 和 UCI5) 請參閱附注 2
其他 X12 通知錯誤碼 2 = 更新資料 (X12-AK906)
其他 X12 通知錯誤碼 3 = 更新資料 (X12-AK907)
其他 X12 通知錯誤碼 4 = 更新資料 (X12-AK908)
其他 X12 通知錯誤碼 5 = 更新資料 (X12-AK909)
將使用的通知/動作代碼如下:
通知/動作代碼中的資料 | 針對狀態報告對應 | 註解 |
---|---|---|
A | 已接受 | X12 |
P | 已部分接受 | X12 |
R、M、W、X | 已拒絕 | X12 |
E | 已接受,發生錯誤 | X12 |
4 | 已拒絕 | EDIFACT |
7、8 | 已接受/已部分接受 | EDIFACT |
EDIFACT 將使用的錯誤/語法錯誤碼如下:
錯誤/語法錯誤碼中的資料 (適用於 EDIFACT) |
報告的錯誤描述 |
---|---|
2 | 語法版本或層級不支援 |
7 | 交換收件者不是實際收件者 |
12 | 無效值 |
13 | Missing |
14 | 在這個位置中不支援的值 |
15 | 在這個位置中不支援 |
16 | 太多結構成分 |
17 | 沒有協議 |
18 | 未指定的錯誤 |
19 | 無效的小數點標記 |
20 | 字元做為服務字元無效 |
21 | 無效字元 |
22 | 服務字元無效 |
23 | 未知的交換傳送者 |
24 | 太舊 |
25 | 不支援測試指示符號 |
26 | 偵測到重複 |
27 | 不支援安全性函式 |
28 | 參考不相符 |
29 | 控制計數不符合接收到的執行個體數目 |
30 | 群組和訊息/封裝已混合 |
31 | 群組中有一種以上的訊息類型 |
32 | 較低層級空白 |
33 | 在訊息、封裝或群組外部出現的項目無效 |
34 | 不允許巢狀指示符號 |
35 | 太多資料元素或區段重複 |
36 | 太多區段群組重複 |
37 | 無效字元類型 |
38 | 在小數符號之前遺失數字 |
39 | 資料元素太長 |
40 | 資料元素太短 |
41 | 永久通訊網路錯誤 |
42 | 暫時通訊網路錯誤 |
43 | 未知的交換收件者 |
45 | 尾端分隔符號 |
46 | 不支援字元集 |
47 | 不支援信封功能 |
48 | 違反相依性條件 |
70 | 交易集遺失或是交易集識別碼無效 |
71 | 交易集或群組控制編號不相符 |
72 | 無法辨識的區段識別碼 |
73 | XML 不在正確的位置 |
74 | 區段群組的重複太少 |
75 | 區段的重複太少 |
76 | 找到的資料元素太少 |
X12 將使用的錯誤/語法錯誤碼如下:
錯誤/語法錯誤碼中的資料 (適用於 X12) |
報告的錯誤描述 |
---|---|
1 | 不支援功能群組 |
2 | 不支援功能群組版本 |
3 | 遺失功能群組結尾 |
4 | 功能群組標頭與結尾中的群組控制編號不相符 |
5 | 包括的交易集數目和實際計數不相符 |
6-26 | 其他不支援的驗證錯誤 |