簡體   English   中英

我們可以在 Azure 數據工廠中處理 EDI 852 格式的文件嗎?

[英]Can we process an EDI 852 format file in Azure Data Factory?

我想檢查是否可以通過 ADF 或邏輯應用程序將 EDI 852 格式的文件轉換為 CSV 文件。

假設您有一個與邏輯應用程序鏈接的集成帳戶,以便您可以使用內置的 BizTalk 852 進行 XML 解析,然后使用 XSLT 轉換為 CSV(或平面 XML 結構 - 然后您可以將其轉換為 JSON在邏輯應用中,在 Compose 操作中使用json(xml(body('Convert_852'))) ,然后使用 Create CSV Table 操作轉換為 CSV。

如果您沒有 Integration Account,它會更難一些,但在邏輯應用程序中應該仍然是可能的,首先通過段終止符將 852 拆分為一個字符串數組(這將是位置處的字符ISA 段的 105 - 可能附加了 CR 和/或 LF),然后使用 ISA 段位置 3 處的元素分隔符將每個字符串拆分為元素。

標頭數據將位於 XQ 段的前兩個或三個元素中(如果 852 表示日期范圍,則為 3;如果只有處理代碼和報告日期,則為 2)。

行級數據排列如下:

  • 林:產品數據
    • ZA:產品活動類型(例如售出數量、訂購數量、丟失數量等)
      • SDQ:位置/數量報告(可選)

因此您需要將 SDQ 數據合並到 ZA 對象內的數組中,然后將 ZA 對象數組合並到其父 LIN 對象中,然后將所有 LIN 對象向上滾動到頂層 852 對象內的數組中,可能使用嵌套For Each 循環包含 Switch 和 Append To Array Variable 操作。

然后,您可以在更多 For Each 循環中使用 Select 操作將數據展平為 CSV - 或者只是將生成的 JSON 推送到 ADF 或 CosmosDB

EDI 852 未標准化。

盡管各種可用的段和外部控制結構是(ISA/IEA、GS、GE),但內部不是。

一家公司的 852 可能與另一家公司的截然不同。

無論您使用什么工具,您都需要公司的 EDI852 規范才能正確解析它。

示例規范如下所示

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM