【问题标题】:EDIFACT to DB Objects or DBEDIFACT 到 DB 对象或 DB
【发布时间】:2015-05-02 06:00:58
【问题描述】:

我正在寻找一种工具,它既提供可在代码中使用的 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

【问题讨论】:

  • 来自help center:要求我们推荐或查找书籍、工具、软件库、教程或其他场外资源的问题对于 Stack Overflow 来说是无关紧要的,因为它们往往会吸引固执己见的答案和垃圾邮件。
  • 如果你再问这样的问题,你将被自动禁止。
  • 为什么?我正在寻求建议!

标签: c# translation edi altova edifact


【解决方案1】:

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

来自 MSCONS 消息的示例 DTM 段:

DTM+137:200603241322:203'

对应XMLsn-p:

<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 占用更多空间。

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

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

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

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

【讨论】:

  • 谢谢阿克塞尔。您是否使用 Edifebric 将 EDIFACT 数据转换为 XML ?如果您推荐一些稳定且在工业中广泛使用的商业工具(非开源),那就太好了。谢谢。
  • 产品推荐在这里是题外话。但就个人而言,我是Seeburger的满意客户seeburger.com
猜你喜欢
  • 1970-01-01
  • 2017-02-13
  • 2015-11-30
  • 1970-01-01
  • 2022-01-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-23
相关资源
最近更新 更多