如何儲存輸入 EDI 訊息的資料
BizTalk Server 會針對輸入交換和為了回應交換而傳送的通知,進行下列作業以產生狀態報告項目:
當輸入訊息 XML 由 EDI 接收管線傳送到 MessageBox 時,接收管線便會以下列值,在狀態報告資料存放區中建立下列項目:
針對每個接收之交換的一個狀態報告項目,其「狀態」會設定為「已接受」、「已部分接受」或「已拒絕」
針對每個技術 (交換) 通知 (每個交換一個) 的一個狀態報告項目,其「狀態」會設定為「已產生」
針對每個功能通知 (若是 X12 則為每個群組一個,若是 EDIFACT 則為全部群組共一個) 的一個狀態報告項目,其「狀態」會設定為「已產生」
在傳送管線將通知傳送給交易夥伴後,EDI 傳送管線便會將「交換通知狀態」和「功能通知狀態」項目適當地更新為「已傳送」。 交換狀態項目不會進行任何變更。
接收管線為輸入交換所儲存的資料
接收管線會在狀態報告資料存放區中,針對其所接收的每個交換建立記錄。 儲存的資料包括:
記錄類型 = 交換狀態
交換方向 = 接收
交換接收者 = 更新資料
交換傳送者 = 更新資料
交換日期 = 更新資料
交換時間 = 更新資料
交換控制識別碼 = 更新資料
交換狀態:更新資料
交換中群組的計數 = 更新資料 (在 EDIFACT 群組中為選擇性,而且如果不存在,其值會是「不適用」)
交換接收連接埠識別碼 = 更新資料
由接收管線針對回應輸入交換而產生之每個技術通知所儲存的資料
傳送管線會在狀態報告資料存放區中,針對其所傳送的每個技術通知建立記錄。 X12 類型的技術通知是 TA1,EDIFACT 類型的技術通知則是只有 UCI 區段的 CONTRL 訊息。 此項目所需要的多數資料,都會在交換的標頭/結尾區段中 (ISA/IEA 或 UNB/UNZ) 提供。 其他資料則由傳送埠屬性提供。 儲存的資料包括:
記錄類型 = 交換通知狀態
交換通知方向 = 接收
交換接收者 = 更新資料 (相互關聯的必要項)
交換傳送者 = 更新資料 (相互關聯的必要項)
交換日期 = 更新資料
交換控制識別碼 = 更新資料 (相互關聯的必要項)
交換 ACK 狀態 = < 預期或不適用 > 。 如果技術通知經過設定,或是在內送交換中有指定值,狀態 = 預期。 否則,狀態 = 不適用。
交換 ACK 控制項識別碼= < 未值>
交換 ACK 日期 = < 未值>
交換 ACK 時間 = < 未值>
ACK/Action Code = < 未值>
ACK 附注程式碼 = < 未值>
由傳送管線針對回應輸入交換而產生之每個技術通知所更新的資料
對於傳送管線所傳送的每個技術通知,傳送管線都會更新相互關聯之接收交換的狀態報告項目。 資料的來源會是由「傳送管線」建立的交換信封。
「EDI 組合器」會使用內送通知中 UCI 和 TA1 區段內的資料,來找到資料存放區中的記錄,如下所示:
通知中的欄位 | 資料存放區中的欄位 | 註解 |
---|---|---|
交換傳送者識別碼 | 交換接收方 | - |
交換接收者識別碼 | 交換寄件者 | - |
- | 交換日期 | - |
交換控制編號 | 交換控制識別碼 | - |
- | 交換方向 = 接收 | 確保唯一性而保留之交換實例的必要項 |
記錄類型 | 交換通知狀態 | - |
儲存的資料包括:
記錄類型 = 交換通知狀態
交換通知方向 = 傳送 - 現有資料
交換通知狀態 = 已處理或已傳送 - 更新資料
交換接收者 = 現有資料
交換傳送者 = 現有資料
交換日期 = 現有日期
交換控制識別碼 = 現有資料
交換通知控制識別碼 = 更新資料
交換通知日期 = 更新資料
交換通知時間 = 更新資料
通知/動作代碼 = 現有資料
通知說明碼 = 現有資料
由接收管線針對回應輸入交換而產生之每個功能通知所儲存的資料
傳送管線會在狀態報告資料存放區中,針對其所傳送的每個功能通知建立記錄。 傳送管線會在狀態報告資料存放區中,針對其所傳送的每個功能通知 (為了回應於接收的交換) 建立記錄。 如果 EDIFACT 中不存在任何群組,這時依然會建立一個功能通知。 功能通知狀態報告項目中將會填入功能群組標頭/結尾 (GS/GE 或 UNG/UNE)。 X12 類型的技術通知是 997,EDIFACT 類型的技術通知為完整的 CONTRL 訊息。 儲存的資料包括:
記錄類型 = 功能通知狀態
功能通知方向 = 接收
功能 ACK 狀態 = < 預期或不適用 > 。 如果有選取 PAM 中的 [功能通知] 索引標籤,狀態便會設定為「預期」。 否則,狀態會設定為「不適用」。
交換接收者 = 更新資料 (相互關聯的必要項)
交換傳送者 = 更新資料 (相互關聯的必要項)
交換日期 = 更新資料
交換控制識別碼 = 更新資料 (相互關聯的必要項)
群組控制編號 = 更新相互關聯所需的資料 (。如果沒有群組區段存在,在 EDIFACT 中使用 UNH.1)
功能識別代碼 = 更新資料 (如果不存在群組,就不會在 EDIFACT 中指定值)
交易集的計數 = 資料 (在 EDIFACT 中,如果存在 UNG/UNE,此項便會對應至 UNE.1,如果不存在群組區段,則會對應至 UNZ.1)
功能 ACK 交換控制識別碼= < 未值>
功能 ACK 交換日期 = < 未值>
功能 ACK 交換時間 = < 未值>
已傳遞的交易集計數 = < 未值>
接受的交易集計數 = < 未值>
ACK/Action Code = < 未值>
錯誤/語法錯誤碼 = < 未值>
其他 X12 ACK 錯誤碼 2 = < 未值>
其他 X12 ACK 錯誤碼 3 = < 未值>
其他 X12 ACK 錯誤碼 4 = < 未值>
其他 X12 ACK 錯誤碼 5 = < 未值>
由傳送管線針對回應輸入交換而產生之每個功能通知所更新的資料
對於每個傳送管線所傳送的功能通知,傳送管線都會更新相互關聯之接收交換的狀態報告項目。 資料的來源會是由「傳送管線」建立的交換信封。
「EDI 組合器」會使用內送通知中交換和群組標頭區段內的資料,來找到資料存放區中的記錄,如下所示:
通知中的欄位 | 資料存放區中的欄位 | 註解 |
---|---|---|
交換傳送者識別碼 | 交換接收方 | - |
交換接收者識別碼 | 交換寄件者 | - |
交換日期 | 交換日期 | - |
交換控制編號 | 交換控制識別碼 | - |
群組控制編號 | 群組控制編號 | 在 EDIFACT 中為選擇項 |
- | 交換方向 = 接收 | 確保唯一性而保留之交換實例的必要項 |
記錄類型 | 功能通知狀態 | - |
儲存的資料包括:
記錄類型 = 功能通知狀態
功能通知方向 = 傳送 - 現有資料
功能通知狀態 = 已傳送/處理 - 更新資料
交換接收者 = 現有資料
交換傳送者 = 現有資料
交換日期 = 現有日期
交換控制識別碼 = 現有資料
群組控制編號 = 現有資料
功能識別代碼 = 現有資料
交易集的計數 = 現有資料
功能通知交換控制識別碼 = 更新資料
功能通知交換日期 = 更新資料
功能通知交換時間 = 更新資料
已接收交易集的計數 = 現有資料
已接受交易集的計數 = 現有資料
通知/動作代碼 = 現有資料
錯誤/語法錯誤碼 = 現有資料
其他 X12 ACK 錯誤碼 2 = 現有資料
其他 X12 ACK 錯誤碼 3 = 現有資料
其他 X12 通知錯誤碼 4 = 現有資料
其他 X12 ACK 錯誤碼 5 = 現有資料