EDI文件结构的OOP
本文关键字:OOP 文件结构 EDI | 更新日期: 2023-09-27 18:23:47
请任何人帮助我准备EDI结构的面向对象设计,我想知道它的类和属性是什么。EDI结构:
ISA*00*00*08*9251730000*12*7142569388T*050215*151*U*00401*000005132*0*p**~GS*IN*21377279234*7142569388*040713*1514*000000001*X*004010UCS~ST*810*0001~大*040713*1001*040625*P89320~N1*BT*ACME分销公司~N3*邮政信箱33327~N4*anytownj*445509~N1*ST*街角的商店~N3*601第一街~N4*十字路口*MI*48106~N1*RI*SMITH公司~N3*900简易街~N4*大城市NJ*15455~根据*AD*C.P.JONES*TE*6185558230~ITD*01*3*2*10~IT1*3*CA*12.75**VC*6900~IT1**12*EA*.475**VC*P450~IT1**4*EA*.94**VC*1640年~IT1**1*DZ*3.4**VC*1507~TDS*5111*~CAD*M***固结卡车~CTT*4*20~SE*21*0001~GE*1*000000001~IEA*1*000005132~
这是一个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上面所说,要将数据存储在一个结构中,您需要适应以下几点:
- 供应商要求的数据结构(再次参见其规范)
- 可选的数据结构
- 嵌套的数据结构
如果将EDI文件想象为单个对象,则它包含多个部分。有些部分只出现一次(通常是页眉和页脚部分),因此这些部分本身可能是具有自己属性的对象。
这个对象通常也有循环的部分,可以用一个对象数组来表示。最后,你可能会得到类似的东西
{
Header { }
LoopingSection1 [{
Property1,
Property2
}, {
Property1,
Property2
}]
Footer { }
}
如果不了解您试图构建的特定EDI文件的结构,我不确定。它看起来像一个HIPPAEDI文件,但我可能错了。无论哪种方式,上述原则都应该是一种开始。