EDIFACT 到数据库对象或数据库

EDIFACT to DB Objects or DB

我正在寻找一种工具,它既可以提供我们可以在代码中使用的 C# API,也可以提供将 EDIFACT 文件 (ISO 9735) 转换为 XML 或其他格式的脚本,例如CSV。我们正在构建一个系统,该系统将帮助我们翻译从客户端获取并保存在 DB 或 DB 对象中的 EDIFACT 数据。

问题: 1. 您能否推荐我们可以使用的任何具有成本效益的工具,帮助我们将 EDIFACT (ISO 9735) 数据转换为其他格式,例如 XML 或 CSV 或 DB 对象等。我需要 C# API 和脚本。

  1. 是否有任何开源 API 可用于完成此工作?下面提供了示例 EDIFACT 文件数据。

谢谢, 帕萨

FAD+114:526411642:4::TKFAD:1:1+20141220:070825037+1+20141220:070825037'VAI+S:KK+CH:75799099'MGA+S:SSSS+1+1+20141220'OFI+S:SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS+CH:804522+C+175+20150821++3044848+211444238+1+1+100+100+2+CH:804522+++2015:08:21+T1:333'FMB+S:SSSSSSSSSSSSSSSS+8++4+1++3+20141220+++TKN:4+++2+501'FMU+S:K+1'VAK+S:KKSSSS+TKN:4+PANERA C 175 AUG15+Option on equity+Call August 175'VAL+S:KKSS+TKN:1+OCC/O PANERA 08 2015 C 175+OCC/O PANERA 08 2015 C 175'VAL+S:KKSS+TKN:2+OCC/O PANERA 08 2015 C 175+OCC/O PANERA 08 2015 C 175'VAL+S:KKSS+TKN:3+OCC/O PANERA 08 2015 C 175+OCC/O PANERA 08 2015 C 175'VAL+S:KKSS+TKN:4+OCC/O PANERA 08 2015 C 175+OCC/O PANERA 08 2015 C 175'GEI+S:KK+GK:709030'GEK+I:KKI+TKN:4+OCC'NKN+S:KSSSS+CH:75799099+20141220++2'FMG+S:KSS+TKT+Z'FMG+S:KSS+TKPRK+1'FMG+S:KSS+CFI+OCASPS+3

互联网上有各种 C#/Java 解析器可以将 EDIFACT 映射到 XML,反之亦然。一个例子是 https://github.com/DonZoeggerle/ediFabric. Look here 几个包的比较。

来自 MSCONS 消息的示例 DTM 段:

DTM+137:200603241322:203'

对应的XML片段:

<DTM_Date_Time_Period_0030>
  <Date_Time_Period>
    <Date_Time_Period_010>
      <C507_Date_Time_Period>
        <Date_Or_Time_Or_Period_Function_Code_Qualifier_010>137
        </Date_Or_Time_Or_Period_Function_Code_Qualifier_010>
        <Date_Or_Time_Or_Period_Text_020>200603241322
        </Date_Or_Time_Or_Period_Text_020>
        <Date_Or_Time_Or_Period_Format_Code_030>203
        </Date_Or_Time_Or_Period_Format_Code_030>
      </C507_Date_Time_Period>
    </Date_Time_Period_010>
  </Date_Time_Period>
</DTM_Date_Time_Period_0030>

显然 XML 可能比 EDIFACT 花费更多 space。

如何在XML中表示EDIFACT似乎没有普遍接受的标准。可以将每个 EDIFACT 段映射到一个 XML 结构中。这需要将 EDIFACT 段拆分为数据元素和数据字段,并将它们转换为 XML 标签 and/or 属性。但是这种 "flat" 表示并不能反映大多数 EDIFACT 消息的嵌套结构。在不知道底层消息结构的情况下,解析器无法转换为有意义的 XML.

EDIFACTXML 的纯映射只是账单的一小部分。其他必需的步骤包括:

  • 业务合作伙伴之间的通信(邮件、AS2、托管文件传输)
  • 致谢(sending/receiving EDIFACT CONTRL/APERAK 消息)
  • encryption/decryption
  • signature/validation
  • 管理 B2B 合作伙伴数据(地址、消息类型、联系人...)
  • 错误处理
  • 绩效管理
  • 拆分和加入邮件
  • 消息路由
  • 垃圾邮件防护
  • logging/monitoring

这个长列表给出了很好的理由来查看商业 B2B 平台,如果你有多个 B2B 连接需要采取照顾.