用C#实现EDI X12

时间:2013-05-23 21:15:19

标签: c# edi x12

我们公司正在销售医疗用品,我们有一个网站,我们在线销售我们的产品。我们正在与供应商合作,他们在收到新订单时向我们的客户发送产品。目前我们手动处理此问题。我们通过网站和电话/传真/电子邮件订单向产品供应商收到订单,他们将产品发送给客户,并通过发货信息通知我们,我们会通知客户。

这个过程最近变得难以处理。到目前为止,我们还没有使用任何B2B解决方案,但我们现在需要实施EDI解决方案。我们最大的供应商是使用EDI标准。

据我了解,流程如下所示;

  1. 当我们收到订单时,我们会创建X12文档,并通过FTP,SFTP或VAN发送此文档。
  2. 我们的供应商收到X12文件并进行处理。并发送格式为X12的发票。
  3. 我们收到发票并将其解析到我们的系统。
  4. 我们的供应商在向客户发货时会发送格式为X12的送货信息。
  5. 我们会收到送货信息文件并进行解析。
  6. 我对此过程有一些疑问。

    1. 第一个也是最重要的问题:我理解对吗? :)
    2. 作为开发人员,我需要哪些程序/工具?
    3. 我知道编写自己的X12解析器并不明智。我们需要外部应用程序。但我们需要什么样的应用程序?我们需要像BizTalk这样的大型应用吗?或者像一些帮手库
    4. 我们的供应商支持FTP,SFTP和VAN进行数据通信,我们应该选择哪种通信?哪一个更简单,更快理解?
    5. 抱歉,我知道,我有很多问题:)任何帮助都将不胜感激。

3 个答案:

答案 0 :(得分:4)

  1. 您的流程说明看起来不错。 1 /根据客户的订单,您创建并向供应商发送X12 850(采购订单)。 2 /您的供应商可能会向您发送X12 855(采购订单确认)以确认您的订单,这是一个有趣的(商业)信息,您可以“转发”给您的客户。 3 /最后,连同货物实际运送给您的客户,您的供应商将向您发送X12 856(发货通知/清单)以及X12 810(发票)。这是一个相当简单/经典的EDI流程。

  2. BizTalk将是微软世界的推荐,但对于这样的流程来说,它可能相当昂贵/过大。如果你是一个.NET开发人员,喜欢自己做事,生成850,阅读855,856和810并不像看起来那么复杂;-)我亲自开发了一种方法来解析/序列化X12到/来自XML使用XSLT脚本(可以从几乎任何编程语言轻松运行,包括.NET),我希望它揭开X12语法的神秘面纱;-)如果你可以从供应商那里分享MIG(消息实施指南),我可以看看并检查我的技术是否适合您的需求。 XML表示应该是您的,遵循您的应用程序的数据模型,然后应该允许您像往常一样围绕EDI文档开发功能!

  3. 见上文; - )

  4. 你很幸运!您的供应商支持FTP,它是最简单的,更容易/更便宜实施!想想你今天的做法 - 即电子邮件 - 你不需要高安全性......你需要的是自动化,请保持专注,不要被高安全性需求分心!我的建议; - )

答案 1 :(得分:2)

  1. EDI是一种非常古老的数据格式标准。除了EDI之外,我强烈建议您确保供应商不支持像SOAP Web Services这样的新标准。

  2. 任何编程语言都可以。坚持你熟悉的东西。在.net中,FileSystemWatcher类非常有用。

  3. BizTalk是一个综合工具和昂贵的工具,所以我很想看看你先发现的帮助库。 EDI本身非常简单 - 通常有许多用于交换不同类型数据的全面规范,但它们都分解为相同的ASCII文本结构。

  4. FTP是最简单但不安全的。 SFTP几乎同样简单安全。我不熟悉VAN。

答案 2 :(得分:0)

你看一下机器人开源edi翻译器(http://bots.sourceforge.net)。处理x12,xml,edifact等,以及您想要的通信。