Пустой сегмент в файле edifact - PullRequest
       32

Пустой сегмент в файле edifact

0 голосов
/ 27 февраля 2019

Возможно ли иметь пустой сегмент?Как для примера сегмента PAC в примере ниже:

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

1 Ответ

0 голосов
/ 19 апреля 2019

Это зависит от спецификации, поэтому проверьте версию и тип сообщения.Согласно правилам синтаксиса EDIFACT (): «Условный сегмент, для которого присутствует только тег сегмента, должен быть полностью опущен».Поэтому, если сегмент является обязательным и ни один из его элементов не является обязательным, вы должны оставить его в сообщении.Если у него есть обязательные элементы, вы должны добавить их.

Для вашего примера PAC: вы не упомянули тип / версию сообщения, которому хотите соответствовать.Если мы предположим, что сообщение DESADV, версия 01B, вы можете найти спецификации в https://www.unece.org/trade/untdid/d01b/trmd/desadv_c.htm.

Сегмент PAC (который не имеет обязательных элементов) является обязательным для группы сегментов 11. Группа 11 сегмента сама является условной, ив вашем фрагменте нет других сегментов из этой группы.(LIN относится к следующей группе, сегментной группе 17). Так что, если вы не предоставляете информацию (в конце концов, она пустая), вы должны удалить ее.В спецификации синтаксиса я не могу найти ничего, что требовало бы его удаления (в отличие от состояний для сегментов).Но я не эксперт EDIFACT.

Это также зависит от получателя сообщения и от того, как он справляется с этой ситуацией.Независимо от точной спецификации, вы имеете дело с ошибочными реализациями стандарта.Так что тестирование рекомендуется.

...