【问题标题】:EDI equivalent in the .net world.net 世界中的 EDI 等效项
【发布时间】:2010-10-17 15:06:58
【问题描述】:

我在一家小公司工作。目前我们正在用 C# 重写我们的遗留应用程序。应用程序的一部分使用 EDI,我不知道在 .net 世界中哪里可以找到解决方案。我听说过 BizTalk,但不确定这是否是解决方案。也没有像 SQL Server Express Edition 这样的 BizTalk Express 版本。在其中一个 dotnet 播客中,我听到了一个令人信服的案例,即 Microsoft 推出了 BizTalk 开发人员版。

有人可以更详细地说明这个问题吗?

【问题讨论】:

  • 对于 X12、EdiFact 和 Tradacoms,有 Edi.Net。它的开源,支持自定义 POCO clr 反序列化及其非常现代(对于 EDI 标准)。 免责声明我写了这个库

标签: c# .net biztalk edi


【解决方案1】:

正如 Tim 所说,EDI 只是一种解释平面文件的“标准”方式。各种消息格式包括:

  1. X12
  2. EDIFACT(订单、发票、DESADV...)
  3. TRADACOM(ORDHDR、ACKHDR、 **INVFIL...)

因此,您需要读取数据并“映射”必填字段。最好的方法是使用 FileHelper:

http://filehelpers.sourceforge.net/

您需要将数据映射到您的特定 BackOffice 业务规则。我们在这里为入站

做什么
  1. 接收原始 EDI 状态的文件
  2. 解开它,因为所有 EDI 数据都应该被打包(由于 VAN 每秒 MB 成本)
  3. 仔细检查我们是否有所有必需的必填字段(PRE-PROCESSOR)
  4. 将原始 EDI 文件转换为我们的后台专有文件系统,以供处理。

BizTalk 和 SAP EDocs 之类的软件包显然会为您执行 PRE-PROCESSOR/Conversion 例程,但如果您想自己开发,我会使用上面提到的 FileHelpers。

【讨论】:

    【解决方案2】:

    EDI 只是一种“标准”方式,用于格式化包含各种业务信息(如订单、发票、提货单等)的文本文件。

    它们不太可能有任何特定的 .NET 组件,因为尽管为 EDI 定义了一个“标准”,但每个使用它的公司对它的解释略有不同。

    该标准包含“业务规则”,例如“当您收到 850 文档文件时,您应该使用 810 文档文件进行响应……以及这些文档的基本文件格式。

    The Wikipedia article explains it pretty thoroughly ...

    【讨论】:

      【解决方案3】:
      【解决方案4】:

      是的,RDPCrystal EDI Library 可能就是您要找的。​​p>

      【讨论】:

        猜你喜欢
        • 2011-02-15
        • 2010-09-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-20
        • 2010-10-19
        • 2011-12-22
        • 2013-12-25
        相关资源
        最近更新 更多