X12是一种用于在公司之间交换文档的平面文件格式。我正在使用204 Load招标类型。这是公司用于向运营商发送负载投标的格式。 Stack Overflow上的大多数问题都集中在如何解析上。通过解析我们谈论阅读和转换为XML或对象。这可以作为第一步,但我想知道如何处理这些数据......
问题是 - 本文档有15个不同版本。假设我解析这一切都没有问题。但是,将此文档映射到数据库中的字段的最佳做法是什么?我有特定的字段,我需要将204映射到这些字段。由于版本的不同,我无法完全涵盖这一点。
另一个问题。我是EDI的新手,如果我错了,请纠正我。每个合作伙伴都会发送特定类型交易的规格。他们对于什么数据以及他们如何放置数据确实有一些自由。他们可以添加自己的元素吗?或者,如果是版本4030,则发送204类型4030的所有合作伙伴都是相同的?
我知道如何为每个版本进行programmaticaly映射,但我想知道这个问题是如何在全局或更通用的级别上解决的。或者,当新的贸易伙伴添加时,通常需要自定义开发才能正确映射数据?我想知道是否可以创建更多或更少的“即插即用”映射器。
答案 0 :(得分:3)
很多/大多数edi软件确实不仅具有'解析'功能,还具有映射功能。你确实需要两个!这里的很多edi问题都是由'edi starters'提出的,寻找一个快速的单一合作伙伴解决方案。如果你使用'parse-only'edi软件,你需要自己构建映射功能,重新构建所有严肃的edi软件中已有的功能。
合作伙伴的指南可以指明同一交易的不同用法(如204)。不允许添加元素(但有时他们甚至会这样做:-(有些人为每个伙伴构建一个新的映射,有些尝试在一个(复杂的)映射中执行此操作。我通常尝试构建一个映射,使其适合'大多数'edi合作伙伴。但有时用法是如此不同,最好为那个合作伙伴建立一个特定的映射。恐怕没有神奇的公式来做你想做的事情。
答案 1 :(得分:1)
“我想知道是否可以创建更多或更少的”即插即用“映射器。 - 这已经完成了。市场上有通用数据转换器可以为您完成此操作。在您的示例中,我将有一个单独的EDI到数据库映射,我的源将“模型化”204文档,然后我的目标将是数据库。然后就像从源到目标的拖放一样简单。
此外,任何值得翻译的译员都可以编辑(或创建)X12词典来添加片段/元素。这不是常态。你可以做EDI 20年,只看一次或两次。标准的实施确实发生了,但并不像你想象的那么频繁。它只是被提及,因为它通常是痛苦的解决,因为有人不顾一切地忽略标准。
也没有什么能阻止你为每个版本制作通用地图。实现指南之间的差异很小,您可以创建一个通用的“巨型地图”来处理每个场景。
同样,这个轮子已经被创建了。这里有很多关于SO的好问题可以指出你在一个好的翻译引擎的正确方向。我个人最喜欢的是Liaison Delta。