-4

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

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

  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

4

1 回答 1

1

C#/Java互联网上有各种解析器可以映射EDIFACTXML,反之亦然。一个例子是https://github.com/DonZoeggerle/ediFabric在这里查看几个包的比较。

来自 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.

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

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

  • 业务合作伙伴之间的通信(邮件AS2、、托管文件传输)
  • 确认(发送/接收EDIFACT CONTRL/APERAK消息)
  • 加密/解密
  • 签名/验证
  • 管理B2B合作伙伴数据(地址、消息类型、联系人......)
  • 错误处理
  • 绩效管理
  • 拆分和加入消息
  • 消息路由
  • 垃圾邮件防护
  • 记录/监控

如果您有多个B2B连接需要处理,那么这个长列表提供了查看商业B2B平台的充分理由。

于 2015-03-02T00:19:26.913 回答