EDI文件结构的OOP

时间:2013-07-19 02:38:19

标签: c# .net xml edi

请任何人都可以帮我准备EDI结构的面向对象设计,  我想知道它的类和属性是什么。  EDI结构:

ISA * 00 * 00 * 08 * 9251730000 * 12 * 7142569388T * 050215 * 1514 * U * 00401 * 000005132 * 0 * P *>〜         GS * IN * 2137279234 * 7142569388 * 040713 * 1514 * 000000001 * X * 004010UCS〜                 ST * 810 * 0001〜                         BIG * 040713 * 1001 * 040625 * P89320〜                         N1 * BT * ACME DISTRIBUTING COMPANY~                         N3 * P.O。 BOX 33327~                         N4 * *北京市东城区的新泽西州* 44509〜                         N1 * ST *角落店〜                         N3 * 601第一街〜                         N4 *十字路口* MI * 48106〜                         N1 * RI * SMITH CORPORATION~                         N3 * 900 EASY STREET~                         N4 * BIG CITY * NJ * 15455~                         PER * AD * C.P.JONES * TE * 6185558230〜                         ITD * 01 * 3 * 2 * 10〜                         IT1 * 3 * CA * 12.75 ** VC * 6900〜                         IT1 ** 12 * EA * 0.475 ** VC * P450〜                         IT1 ** * 4 * EA ** 0.94 * VC〜1640Y                         IT1 ** 1 * DZ * 3.4 ** VC * 1507〜                         TDS * 5111 *〜                         CAD * M ****综合卡车〜                         CTT * 4 * 20〜                 SE * 21 * 0001〜         GE * 1 * 000000001〜 IEA * 1 * 000005132〜

2 个答案:

答案 0 :(得分:1)

这是一个edi x.12发票文件。我不知道“准备面向对象设计”是什么意思。 EDI包含根据规范的原始数据...如果您没有规范,则需要从您的贸易伙伴那里获得一个。解释的细节(特别是折扣(SAC),ITD(条款)等)对供应商来说非常具体。例如,每个贸易伙伴可能需要不同的N1细分市场。一些贸易伙伴会将“账单发送给公司”。 N1 * BY段,一些在N1 * BT。您需要来自贸易伙伴的规范来解释数据。定义了edi的语法,但不是用法和解释。

Per想要创建一个OOP结构,这意味着数据结构和在该结构上运行的方法。您使用的类(彼此继承)可能是EDI_DOCUMENT_CLASS - > EDI_810_CLASS - > EDI_810_VENDOR_SPECIFIC_CLASS。根据对此进行操作的方法,您必须知道要对数据执行的操作。翻译并将其导入数据库?转换它并将其发送到某个地方?你需要验证它(可能是一个好主意)?你需要阅读吗?你需要创造它吗?你需要用997响应传输吗?

正如Sethcran所说,要将数据存储在结构中,您需要容纳几件事:

  1. 供应商所需的数据结构(再次参见其规范)。
  2. 可选的数据结构
  3. 嵌套的数据结构

答案 1 :(得分:0)

如果您将EDI文件想象为单个对象,它包含许多部分。有些部分只出现一次(通常是页眉和页脚部分),因此这些部分可能是具有自己属性的对象本身。

这个对象通常也会有循环的部分,只能用一个对象数组来表示。最后,你可能会得到像

这样的东西
{
    Header { }
    LoopingSection1 [{
        Property1,
        Property2
    }, {
        Property1,
        Property2
    }]
    Footer { }
}

在不了解您尝试构建的特定EDI文件的结构的情况下,我不确定。它看起来像一个HIPPA EDI文件,但我可能是错的。无论哪种方式,上面的原则应该是一种开始。