csv 我们可以在Azure数据工厂中处理EDI 852格式的文件吗?

xuo3flqw  于 2022-12-25  发布在  其他
关注(0)|答案(2)|浏览(119)

我想检查是否可以通过ADF或逻辑应用程序将EDI 852格式的文件转换为CSV文件。

3xiyfsfu

3xiyfsfu1#

假设您有一个与Logic App链接的集成帐户,以便您可以使用内置的BizTalk 852到XML解析,然后XSLT转换为CSV(或平面XML结构-然后您可以在Logic App中使用合成操作中的json(xml(body('Convert_852')))转换为JSON,然后使用创建CSV表操作转换为CSV)。
如果您没有集成帐户,这将是相当困难的一点,但应该仍然可以在逻辑应用程序,首先由段终止符将852拆分为字符串数组(将是伊萨段位置105处的字符-可能附加CR和/或LF)然后使用伊萨段的位置3处的元素分隔符将那些串中的每一个拆分成元素。
标头数据将位于XQ段的前两个或三个元素中(如果852表示日期范围,则为3;如果只有处理代码和报告日期,则为2)。
行层数据的排列方式如下:

  • LIN:产品数据
  • ZA:产品活动类型(例如,销售数量、订单数量、损失数量等)
  • SDQ:位置/数量报告(可选)

因此,您需要将SDQ数据合并到ZA对象内的一个数组中,然后将ZA对象的数组合并到其父LIN对象中,然后将所有LIN对象向上滚动到顶层852对象内的一个数组中,可能使用包含Switch和Append To Array Variable动作的嵌套For Each循环。
然后,您可以在更多的ForEach循环中使用Select操作,将数据扁平化为CSV,或者只是将生成的JSON推送到ADF或CosmosDB

wgmfuz8q

wgmfuz8q2#

EDI 852未标准化。
虽然各种可用的段和外部控制结构是(伊萨/IEA、GS、GE),但内部不是。
一家公司的852可能与另一家公司的大相径庭。
无论您有什么工具可用,您都需要该公司的EDI 852规范,然后才能正确地解析它。
示例规范类似于this

相关问题