Edi X12文件中是否有明确的循环排序算法?

Edi X12文件中是否有明确的循环排序算法?,edi,x12,Edi,X12,尽管循环在X12中是一种逻辑概念,在文本中没有直接的物理表示,但每个事务集都定义了一组它可以包含的循环,包括循环的标识符和它们的顺序。我的问题是,循环排序的一般规则是什么?是否有一组简洁的规则可以用一些代码表示,这些代码应该能够获取具有已知标识符(如1000A、2300BB等)的循环集合,并对它们进行适当排序 我的问题的背景是,我正在开发一个通用库,应用程序将使用该库构建X12文档/事务集的模型,并写出这样一个模型所代表的文本。它具有表示元素、线段和循环的对象。在特定循环中对段进行排序很容易,它

尽管循环在X12中是一种逻辑概念,在文本中没有直接的物理表示,但每个事务集都定义了一组它可以包含的循环,包括循环的标识符和它们的顺序。我的问题是,循环排序的一般规则是什么?是否有一组简洁的规则可以用一些代码表示,这些代码应该能够获取具有已知标识符(如1000A、2300BB等)的循环集合,并对它们进行适当排序

我的问题的背景是,我正在开发一个通用库,应用程序将使用该库构建X12文档/事务集的模型,并写出这样一个模型所代表的文本。它具有表示元素、线段和循环的对象。在特定循环中对段进行排序很容易,它们由实现指南规定。但我试图让事务集中的循环顺序一般地工作;这就是我要问的

似乎一般的规则是,循环是基于它们的标识符排序的,使用数字部分作为主要排序键,使用字母部分作为次要排序键。当然,其他文件中包含的分层循环将按排序顺序置于父文件之前和之后,例如:1000A、2000A、2010A、2010B、2100、2300-其中2010A和2010B是2000A的子文件


我理解规范和实施指南包含所有这些信息;我在寻找关于循环排序而不是段排序的包罗万象的规则。有没有简洁的方法来表达规则的算法?甚至有一个硬性规定吗?

正如我在评论中提到的,标准有一个循环值。看一看我的字典查看器截图。CLM段的循环值为100。下面的段是CLM段扩展标记的子项。任何顺序都可以由合作伙伴任意定义,也可以是任何未定义的顺序,只要数据是合格的。但该循环可以发生100倍最大值,并且在循环值内可以有重复段

实施指南将为您提供合作伙伴想要的正确顺序。不过,看起来您正在编写自己的语法验证引擎


我猜你说的是x12 837?@eppye:不一定,尽管这是我目前正在处理的文档类型。我希望得到适用于任何X12事务集的答案。实际上,要说出您的问题有点困难。请试着解释一下。ANSI X12标准是由一个字典定义的,其中段按特定顺序列出。这些段具有特定的循环值。您需要阅读字典,并确定该特定片段可以重复多少次。你应该看看这个产品:$249,以获得字典的外观以及如何围绕它进行编码的完整图片。我添加了更多的上下文,希望能澄清我的问题和原因。