1

我遇到了一种情况,即 EDIFACT 复合元素被标记为强制,但包含所有条件数据元素。

我不明白这是怎么可能的,因为如果未提供所有数据元素,则不会呈现复合材料。如果第一个元素1001是强制性的,那么我可以理解,但它没有任何意义。

这是一个例子:

010 C002 文件/信息名称 M 1
       1001 文件名称代码 C an..3
       1131 代码表识别码 C an..17
       3055 代码清单 负责机构代码 C an..3
       1000 文件名 C an..35

我觉得这很令人困惑,不知道如何处理这种情况。我目前正在用 C# 开发一个 API 来生成和处理 EDIFACT 消息,但我不确定如何验证和呈现上述示例。

任何 EDIFACT 专家可以为我澄清一下吗?

** 更新 **

我怀疑复合是强制性的,至少需要提供一个数据元素——这只是基于常识和我已经知道的 EDIFACT 的有根据的猜测。

4

3 回答 3

2

这实际上意味着必须存在至少一个子元素。在这种情况下:使用文档代码 1001 或描述 1000。元素 1131 和 3055 的功能有点类似于 xml 中的名称空间。

于 2014-08-05T20:46:58.027 回答
0

我的猜测是这是强制性的,因为它是段中的第一个元素,所以如果它是空的,它也需要在段中。

为了澄清我自己:

  • DOC+' C0002 元素存在,但它为空(无数据)。
  • DOC'没有意义
于 2014-08-01T14:28:55.407 回答
0

C0002 组合通常用于始终存在于 EDIFACT 消息中的 BGM 片段,因为它是有效负载中的第一个片段,它标识当前消息。BGM.C0002:1001 标识消息功能,例如 BGM+381:...' 表示商业发票,BGM+382:...' 表示贷方票据

因此始终需要 C0002:1001 元素。1131 元素标识从中获取先前值的代码列表。

在元素 3055 中报告负责该代码表的机构。

第二个非常重要的元素是 1000。标准不要求它,但通常用于标识消息的编号,例如发票编号 16/000213

得出一个结论:在 C0002 中有两个元素应该被视为强制性的:1001 和 1000。

基本上,这也适用于引用业务文档的 DOC 部分。

于 2016-09-17T13:38:52.420 回答