1

是否有可能有一个空段。例如下面示例中的段 PAC:

   ... 
   LOC+9+ESALG'
   PAC' 
   PCI++1' 
   ...
4

1 回答 1

1

这取决于规范,因此请检查版本和消息类型。根据 EDIFACT 语法规则 ():“应完全省略仅存在段标记的条件段。” 因此,如果该段是强制性的,并且它的任何元素都不是强制性的,则必须将其留在消息中。如果它具有强制性元素,则必须添加它们。

对于您的 PAC 示例:您没有提到要遵守的消息类型/版本。如果我们假设 DESADV 消息,版本 01B,您可以在https://www.unece.org/trade/untdid/d01b/trmd/desadv_c.htm找到规范。

PAC 段(没有强制元素)对于段组 11 是必需的。段组 11 本身是有条件的,并且该组中没有其他段出现在您的代码段中。(LIN 来自下一组,第 17 组)因此,如果您不提供信息(毕竟它是空的),您应该将其取出。我在语法规范中找不到任何需要您将其取出的内容(与它对段的声明不同)。但我不是 EDIFACT 专家。

它还取决于消息的接收者,以及它如何处理这种情况。无论确切的规范如何,您都在处理可能存在错误的标准实现。所以建议测试。

于 2019-04-19T11:02:55.980 回答