分享方式:


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 區段,以及這些區段中使用的錯誤碼。 如需其他相關資訊,請參閱下列文件:

997 ACK 區段

下表描述交換中的 997 ACK 區段,並使用下列定義:

  • M = 必要項
  • O = 選擇項
位置 區段識別碼 名稱 必要指定
(必要指定)
最大使用 迴圈重複
010 ST 交易集標頭,用於通知 M 1 -
020 AK1 功能群組回應標頭 M 1 -
030 AK2 交易集回應標頭 O 1 999999
(迴圈識別碼 = AK2)
040 AK3 資料區段附註 O 1 999999
(迴圈識別碼 = AK2 或 AK3)
050 AK4 資料項目附註 O 9 9 -
060 AK5 交易集回應結尾 M 1 -
070 AK9 功能群組回應結尾 M 1 -
080 SE 交易集結尾,用於通知 M 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 區段,或是針對被拒絕的交易集產生 AK2 區段。 否則,Azure Logic Apps只會針對拒絕的交易集產生 AK2 迴圈。 如果沒有為正在回應的交換解析協議,997 產生設定會預設為後援協議設定,且不會為已接受的交易集產生 AK2 區段。

若要讓 Azure Logic Apps 為 AK501 == A 的已接受交易集產生 AK2 區段,請遵循下列步驟:

  1. 在 Azure 入口網站中,開啟整合帳戶,然後在 X12 交易夥伴之間開啟 X12 合約成品。

  2. 開啟 [接收設定] 窗格,確定已選取 [FA 預期]。 然後,您可以選取 [包含 AK2 / IK2 迴圈]。

AK3

AK3 區段是選擇項,會報告資料區段中的錯誤,並識別資料區段的位置。 如果交易集中的每個區段有一或多個錯誤,便會建立 AK3 區段。 如果有多個 AK3 區段存在,則會以每迴圈一個區段的系列迴圈形式傳送。 AK3 區段使用下列資料元素指定每個錯誤區段的位置,以及報告在該位置找到的語法錯誤類型:

元素 描述
AK301 必要,以 X12 區段識別碼來識別錯誤區段,例如 NM1。
AK302 必要,識別錯誤區段的區段計數。 ST 區段是 1,而每增加一個區段,區段計數就會遞增 1。
AK303 必要, 會識別周框迴圈,這是迴圈開始 (LS) 區段和迴圈結束 (LE) 區段所圍繞的迴圈。 AK303 包含與錯誤區段繫結之 LS 和 LE 區段的值。
AK304 選用,指定資料區段中錯誤的錯誤碼。 AK304 是選用,但如果識別的區段存在錯誤,則元素為必要。 如需 AK304 錯誤碼,請檢閱 997 ACK 錯誤碼 - 資料區段附註

AK4

AK4 區段選擇項,會報告資料項目或複合資料結構中的錯誤,並識別資料項目的位置。 AK4 區段會在 AK304 資料元素為 "8", "Segment has data element errors" 時傳送,而且每個 AK3 區段內最多可以重複 99 次。 AK4 區段使用下列資料元素指定每個錯誤資料元素或複合資料結構的位置,以及報告在該位置找到的語法錯誤類型:

元素 描述
AK401 必要,具有下欄欄位的複合資料元素:AK41.1、AK41.2 和 AK41.3

- AK401.1:使用其數值計數識別錯誤資料項目或複合資料結構。 例如,若區段中的第二個資料項目發生錯誤,AK401 就等於 2
AK401.2:識別複合資料結構中發生錯誤的元件資料項目數值計數。 如果 AK401 報告錯誤的資料結構不是複合資料結構,則 AK401.2 不會指定值。
- AK41.3:選用,此欄位是重複的資料元素位置。 AK41.3 支援輸入 5010 相容的 997。

AK402 選用,用來識別錯誤項目的簡單 X12 資料項目編號。 例如,NM101 是簡單 X12 資料項目編號 98。
AK403 必要,會報告所識別項目的錯誤。 如需 AK403 錯誤碼,請檢閱 997 ACK 錯誤碼 - 資料項目附註
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 區段中所使用的錯誤碼。 每個資料表都會列出 X12 規格所定義的受支援和不支援錯誤碼,以便在 Azure Logic Apps 中處理 X12 訊息。

AK304 錯誤碼 - 資料區段附注

以下資料表列出 AK3 區段 (資料區段附註) 的 AK304 資料元素中所用的錯誤碼:

錯誤碼 條件 是否支援?
1 無法辨識的區段識別碼 Yes
2 未預期的區段 Yes
3 遺失必要的區段 Yes
4 在最高次數內發生的迴圈 Yes
5 區段超出最大使用 Yes
6 區段不在定義的交易集中 Yes
7 區段未依照正確順序排列 Yes
8 區段有資料元素錯誤 Yes
511 發現尾端分隔符號 (自訂程式碼) Yes

AK403 錯誤碼 - 資料元素附注

下表列出 AK4 區段 (資料元素附註) AK403 資料元素中所用的錯誤碼:

錯誤碼 條件 是否支援?
1 遺失必要的資料元素 Yes
2 遺失條件式的必要資料元素 Yes
3 資料元素太多 Yes
4 資料元素太短 Yes
5 資料元素太長 Yes
6 資料元素中無效的字元 Yes
7 程式碼值無效 Yes
8 無效的日期 Yes
9 無效時間 Yes
10 違反排除條件 Yes

AK501 錯誤碼 - 交易集回應結尾

下表列出 AK5 區段 (交易集回應結尾) AK501 資料元素中所用的錯誤碼:

錯誤碼 條件 是否支援?
A 已接受 Yes
E 已接受,但已記錄錯誤 Yes

注意:沒有錯誤碼會導致 E 狀態。

M 已拒絕,訊息驗證碼 (MAC) 失敗 No
P 部分接受,但至少有一個交易集合遭到拒絕 Yes
R 已拒絕 Yes
W 已拒絕,保證確認測試失敗 No
X 已拒絕,無法分析解密後的內容 No

AK502 至 AK506 錯誤碼 - 交易集回應結尾

下表列出 AK5 區段 (交易集回應結尾) AK502 至 AK506 資料元素中所用的錯誤碼:

錯誤碼 條件 支援或
與 AK501 相互關聯嗎?
1 不支援交易集 是,R
2 遺失交易集結尾 是,R
3 標頭和結尾中的交易集控制編號不相符 是,R
4 包括的區段數目不符合實際計數 是,R
5 一或多個區段發生錯誤 是,R
6 交易集識別項遺失或無效 是,R
7 交易集控制編號遺失或無效,可能已出現重複的交易編號 是,R
8 到 27 - No

AK901 錯誤碼 - 功能群組回應結尾

下表列出 AK9 區段 (功能群組回應結尾) AK901 資料元素中所用的錯誤碼:

錯誤碼 條件 支援或
與 AK501 相互關聯嗎?
A 已接受 Yes
E 已接受,但已記錄錯誤 Yes
M 已拒絕,訊息驗證碼 (MAC) 失敗 No
P 部分接受,但至少有一個交易集合遭到拒絕 Yes
R 已拒絕 Yes
W 已拒絕,保證確認測試失敗 No
X 已拒絕,無法分析解密後的內容 No

AK905 至 AK909 錯誤碼 - 功能群組回應結尾

下表列出 AK9 區段 (功能群組回應結尾) AK905 至 AK909 資料元素中所用的錯誤碼:

錯誤碼 條件 支援或
與 AK501 相互關聯嗎?
1 不支援功能群組 No
2 不支援功能群組版本
3 遺失功能群組結尾 Yes
4 功能群組標頭與結尾中的群組控制編號不相符 Yes
5 包括的交易集數目和實際計數不相符 Yes
6 群組控制編號違反語法,可能已出現重複的群組控制編號 Yes
7 至 26 -

後續步驟