Azure Logic Apps 中 X12 訊息的 997 功能通知和錯誤碼
適用於:Azure Logic Apps (使用量 + 標準)
在 Azure Logic Apps 中,您可以在使用 X12 作業時,建立處理電子資料交換 (EDI) 通訊之 X12 訊息的工作流程。 在 EDI 傳訊中,通知會提供處理 EDI 交換的狀態。 接收交換時, X12 譯碼 動作 可以根據啟用通知類型和指定的驗證層級,將一或多種通知類型傳回給傳送者。
例如,接收者會透過傳送 997 功能通知(ACK),以及處理期間發生的每個錯誤,來報告接收的 X12 編碼訊息中驗證功能群組標頭 (GS) 和功能群組預告片 (GE) 的狀態。 X12 譯碼動作一律會產生符合 4010 規範的 997 ACK,而 X12 編碼動作和 X12 譯碼動作都可以驗證 5010 相容 997 ACK。
接收者會在功能群組標頭 (GS) 和功能群組預告片 (GE) 信封內傳送 997 ACK。 不過,此 GS 和 GE 信封與任何其他交易集中都不同。
本主題提供 X12 997 ACK 的簡短概觀,包括交換中的 997 ACK 區段,以及這些區段中使用的錯誤碼。 如需其他相關信息,請檢閱下列檔:
- X12 TA1 技術通知和錯誤碼
- 交換適用於 B2B 企業整合的 X12 訊息
- Exchange EDIFACT 訊息以進行 B2B 企業整合
- 什麼是 Azure Logic Apps
- B2B 企業整合解決方案與 Azure Logic Apps 和企業整合套件
997 ACK 區段
下表描述交換中的 997 ACK 區段,並使用下列定義:
- M = 強制
- O = 選擇性
Position | 區段識別碼 | 名稱 | 必要指定 (Req. Des.) |
最大使用 | 循環重複 |
---|---|---|---|---|---|
010 | ST | 交易集標頭,用於通知 | 月 | 1 | - |
020 | AK1 | 功能群組回應標頭 | 月 | 1 | - |
030 | AK2 | 交易集回應標頭 | O | 1 | 999999 (循環識別碼 = AK2) |
040 | AK3 | 數據區段附注 | O | 1 | 999999 (循環識別碼 = AK2 或 AK3) |
050 | AK4 | Data 元素附注 | O | 9 9 | - |
060 | AK5 | 交易集回應預告片 | 月 | 1 | - |
070 | AK9 | 功能群組回應預告片 | 月 | 1 | - |
080 | SE | 交易集預告片,用於通知 | 月 | 1 | - |
下列各節提供每個 AK 區段的詳細資訊。 在 AK2 到 AK5 迴圈中,區段會提供交易集錯誤的相關信息。
AK1
必要的 AK1 區段會使用下列資料元素來識別要確認的功能群組:
元素 | 描述 |
---|---|
AK101 | 必要,識別功能群組要確認的功能群組標識碼 (GS01)。 |
AK102 | 必要,識別功能群組要確認的群組控制編號 (GS06 和 GE02)。 |
AK103 | 選擇性,識別從原始交易傳送至 GS08 的 EDI 實作版本。 AK103 支援輸入 5010 相容 997 ACK。 |
AK2
選擇性的 AK2 區段包含已接收功能群組中交易集的通知。 如果有多個 AK2 區段存在,則會以一系列迴圈的形式傳送它們。 每個 AK2 循環都會使用收到的訂單來識別交易集。 如果交易集發生錯誤,AK2 迴圈會包含 AK3、AK4 和 AK5 區段。 如需詳細資訊,請檢閱本主題稍後的區段描述。
AK2 區段會使用下列資料元素來識別交易集:
元素 | 描述 |
---|---|
AK201 | 必要,識別要確認之交易集的交易集標識碼 (ST01)。 |
AK202 | 必要,識別要確認之交易集的交易集控制編號 (ST02 和 SE02)。 |
AK203 | 選擇性地識別原始交易 ST03 中傳送的 EDI 實作版本。 AK203 支援輸入 5010 相容 997。 |
產生 AK2 區段
您可以指定針對 所有 已接受和拒絕的交易集產生 AK2 區段,或 只 針對拒絕的交易集產生。 否則,Azure Logic Apps 只會針對拒絕的交易集產生 AK2 迴圈。 如果合約無法解決要響應的交換,則 997 世代設定預設為後援合約設定,且不會針對接受的交易集產生 AK2 區段。
若要讓 Azure Logic Apps 針對 AK501 == A 的已接受交易集產生 AK2 區段,請遵循下列步驟:
在 Azure 入口網站 中,開啟整合帳戶,然後在 X12 貿易夥伴之間開啟 X12 合約成品。
開啟 [ 接收設定] 窗格,確定已 選取 [FA 預期 ]。 然後,您可以選取 [ 包含 AK2 / IK2 迴圈]。
AK3
選擇性的 AK3 區段會報告資料區段中的錯誤,並識別數據區段的位置。 針對交易集中有一或多個錯誤的每個區段建立 AK3 區段。 如果有多個 AK3 區段存在,則會以一系列迴圈的形式傳送它們,每個迴圈各有一個區段。 AK3 區段會指定錯誤中每個區段的位置,並使用下列資料元素報告在該位置找到的語法錯誤類型:
元素 | 描述 |
---|---|
AK301 | 必要,使用 X12 區段識別錯誤區段,例如 NM1。 |
AK302 | 必要,識別錯誤區段的區段計數。 ST 區段為 1 ,而且每個區段都會將區段計數遞增一個。 |
AK303 | 強制,識別系結迴圈,這是循環開始 (LS) 區段和循環結束 (LE) 區段包圍的迴圈。 AK303 包含系結錯誤區段的 LS 和 LE 區段值。 |
AK304 | 選擇性指定數據區段中錯誤的程序代碼。 雖然 AK304 是選擇性的,但是當已識別區段發生錯誤時,需要元素。 針對 AK304 錯誤碼,請檢閱 997 ACK 錯誤碼 - 數據區段附注。 |
AK4
選擇性的 AK4 區段會報告資料元素或複合數據結構中的錯誤,並識別資料元素的位置。 當 AK304 資料元素為 "8", "Segment has data element errors"
時,會傳送 AK4 區段,而且在每個 AK3 區段內最多可以重複 99 次。 AK4 區段會指定錯誤中每個資料元素或複合資料結構的位置,並使用下列資料元素報告在該位置找到的語法錯誤類型:
元素 | 描述 |
---|---|
AK401 | 必要,具有下列欄位的復合數據元素:AK41.1、AK41.2 和 AK41.3 - AK401.1:使用其數值計數識別錯誤中的數據元素或複合數據結構。 例如,如果區段中的第二個資料元素發生錯誤,則 AK401 等於 |
AK402 | 選擇性,識別錯誤中元素的簡單 X12 資料元素編號。 例如,NM101 是簡單的 X12 資料元素數位 98。 |
AK403 | 必要,報告已識別元素的錯誤。 針對 AK403 錯誤碼,請檢閱 997 ACK 錯誤碼 - Data Element Note。 |
AK404 | 選擇性,包含錯誤中已識別數據元素的複本。 如果錯誤指出無效的字元,就不會使用 AK404。 |
AK5
AK5 區段會報告 AK2 區段中識別的交易集是否接受或拒絕,以及原因。 當選擇性 AK2 迴圈包含在通知中時,AK5 區段是必要的。 AK4 區段會使用單一強制資料元素指定交易集的狀態,並根據交易集的語法編輯,提供介於一到五個選擇性數據元素之間的錯誤碼。
元素 | 描述 |
---|---|
AK501 | 必要,指定已識別的交易集是否接受或拒絕。 針對 AK501 錯誤碼,請檢閱 997 ACK 錯誤碼 - 交易回應預告片。 |
AK502 - AK506 | 選擇性,表示錯誤的本質。 針對 AK502 錯誤碼,請檢閱 997 ACK 錯誤碼 - 交易集回應預告片。 |
AK9
強制 AK9 區段指出是否接受或拒絕 AK1 區段中識別的功能群組,以及原因。 AK9 區段會使用四個強制數據元素,指定交易集的狀態和任何錯誤的本質。 區段會使用介於一到五個選擇性元素之間,指定任何已注意到的錯誤。
元素 | 描述 |
---|---|
AK901 | 必要,指定是否接受或拒絕 AK1 中所識別的功能群組。 針對 AK901 錯誤碼,請檢閱 997 ACK 錯誤碼 - 功能群組回應預告片。 |
AK902 | 必要,指定所識別功能群組預告片中所包含的交易集數目(GE01)。 |
AK903 | 必要,指定收到的交易集數目。 |
AK904 | 必要,指定識別功能群組中接受的交易集數目。 |
AK905 - AK909 | 選擇性,表示在識別的功能群組中指出的一到五個錯誤。 針對 AK905 到 AK909 錯誤碼,請檢閱 997 ACK 錯誤碼 - 功能群組回應預告片。 |
997 ACK 錯誤碼
本節涵蓋 997 ACK 區段中所使用的錯誤碼。 每個數據表都會列出 Azure Logic Apps 中 X12 訊息處理的受支援和不支援的錯誤碼,如 X12 規格所定義。
AK304 錯誤碼 - 資料區段附注
下表列出 AK3 區段的 AK304 資料元素中使用的錯誤碼(資料區段附注):
錯誤碼 | Condition | 是否支援? |
---|---|---|
1 | 無法辨識的區段標識碼 | Yes |
2 | 非預期的區段 | Yes |
3 | 遺漏必要區段 | Yes |
4 | 迴圈會在最大時間發生 | Yes |
5 | 區段超過最大使用量 | Yes |
6 | 未在已定義交易集中的區段 | Yes |
7 | 區段順序不正確 | Yes |
8 | 區段有數據元素錯誤 | Yes |
511 | 遇到尾端分隔符 (自訂程式代碼) | Yes |
AK403 錯誤碼 - Data Element Note
下表列出 AK4 區段的 AK403 資料元素中使用的錯誤碼(Data Element Note):
錯誤碼 | Condition | 是否支援? |
---|---|---|
1 | 遺漏必要數據元素 | Yes |
2 | 遺漏條件式必要數據元素 | Yes |
3 | 太多數據元素 | Yes |
4 | 數據元素太短 | Yes |
5 | 數據元素太長 | Yes |
6 | 數據元素中的字元無效 | Yes |
7 | 無效的程式代碼值 | Yes |
8 | 無效的日期 | Yes |
9 | 無效時間 | Yes |
10 | 違反排除條件 | Yes |
AK501 錯誤碼 - 交易集回應預告片
下表列出 AK5 區段的 AK501 資料元素中使用的錯誤碼(交易集回應預告片):
錯誤碼 | Condition | 是否支援? |
---|---|---|
A | 已接受 | Yes |
E | 已接受,但已注意到錯誤 | 是
注意:沒有錯誤碼會導致 狀態 |
月 | 拒絕,訊息驗證碼 (MAC) 失敗 | No |
P | 部分接受,至少一個交易集遭到拒絕 | Yes |
R | 已拒絕 | Yes |
星期三 | 拒絕,保證無效的有效性測試 | No |
X | 拒絕,無法分析解密後的內容 | No |
AK502 至 AK506 錯誤碼 - 交易集回應預告片
下表列出 AK502 到 AK5 區段 AK506 資料元素中使用的錯誤碼(交易集回應預告片):
錯誤碼 | Condition | 支援或 與 AK501 相互關聯? |
---|---|---|
1 | 不支援交易集 | 是,R |
2 | 遺失交易集預告片 | 是,R |
3 | 標頭和預告片中的交易集控制編號不相符 | 是,R |
4 | 包含的區段數目不符合實際計數 | 是,R |
5 | 發生錯誤的一或多個區段 | 是,R |
6 | 遺失或無效的交易集標識碼 | 是,R |
7 | 遺失或無效的交易集控制編號,可能會發生重複的交易編號 | 是,R |
8 到 27 | - | No |
AK901 錯誤碼 - 功能群組回應預告片
下表列出 AK9 區段的 AK901 資料元素中使用的錯誤碼(功能群組回應預告片):
錯誤碼 | Condition | 支援或 與 AK501 相互關聯? |
---|---|---|
A | 已接受 | Yes |
E | 已接受,但已注意到錯誤 | Yes |
月 | 拒絕,訊息驗證碼 (MAC) 失敗 | No |
P | 部分接受,至少一個交易集遭到拒絕 | Yes |
R | 已拒絕 | Yes |
星期三 | 拒絕,保證無效的有效性測試 | No |
X | 拒絕,無法分析解密後的內容 | No |
AK905 至 AK909 錯誤碼 - 功能群組回應預告片
下表列出 AK905 中 AK905 到 AK909 區段的 AK909 資料元素中使用的錯誤碼(功能群組回應預告片):
錯誤碼 | Condition | 支援或 與 AK501 相互關聯? |
---|---|---|
1 | 不支援功能群組 | No |
2 | 不支援功能群組版本 | No |
3 | 功能群組預告片遺失 | Yes |
4 | 功能群組標頭和預告片中的群組控制編號不同意 | Yes |
5 | 包含的交易集數目不符合實際計數 | Yes |
6 | 群組控制編號違反語法,可能會發生重複的群組控制編號 | Yes |
7 到 26 | - | No |