Стандарт ООН по электронному обмену данными в управлении, торговле и на транспорте ( ЭДИФАКТ ООН ) — международный стандарт электронного обмена данными (ЭОД), разработанный для Организации Объединенных Наций , одобренный и опубликованный ЕЭК ООН — Европейской экономической комиссией ООН. [1]
В 1987 году после объединения предложений ООН и США/ANSI по синтаксису правила синтаксиса UN/EDIFACT были утверждены Международной организацией по стандартизации в качестве стандарта ISO 9735. [2]
Стандарт EDIFACT обеспечивает:
Работа по поддержанию и дальнейшему развитию этого стандарта осуществляется Центром ООН по упрощению процедур торговли и электронному бизнесу ( СЕФАКТ ООН ) при Европейской экономической комиссии ООН в рамках рабочей группы по финансам СЕФАКТ ООН TBG5 .
Ниже приведен пример сообщения EDIFACT, используемого для ответа на запрос о наличии авиабилетов (FRA-JFK-MIA):
UNA : +.? ' UNB +IATB : 1 +6XPPC : ZZ +LHPPC : ZZ +940101 : 0950 +1' UNH +1+PAORES : 93 : 1 : IA ' MSG +1 : 45 ' IFT +3+XYZДОСТУПНОСТЬ КОМПАНИИ' ERC +A7V : 1 : AMD ' IFT +3+БОЛЬШЕ НЕТ РЕЙСОВ' ODI ' TVL +240493 : 1000 :: 1220 +FRA+JFK+DL+400+C' PDI ++C : 3 +Y :: 3 +F :: 1 ' APD +74C : 0 ::: 6 ++++++6X' TVL +240493 : 1740 :: 2030 +JFK+MIA+DL+081+C' PDI ++C : 4 ' APD +EM2 : 0 : 1630 :: 6 +++++++DA' UNT +13+1' UNZ +1+1'
Сегмент UNA необязателен. Если присутствует, он определяет специальные символы, которые должны использоваться для интерпретации оставшейся части сообщения. Далее следуют шесть символов UNA
в следующем порядке:
За исключением десятичного знака (см. ниже), специальные символы в примере сегмента UNA выше также являются значениями по умолчанию.
Разделитель элементов данных компонента и разделитель элементов данных являются разделителями "первого уровня" и "второго уровня" элементов данных в сегменте сообщения. Называя их + и : для краткости, + разделяет элементы данных верхнего уровня или составные элементы данных, а : разделяет элементы данных второго уровня, вложенные в составные элементы данных. Завершающие пустые (или нулевые) элементы данных и их начальные разделители опускаются для уменьшения размера сообщения.
Десятичный знак используется для отделения целой части от дробной части нецелых чисел. Необязательный характер сегмента UNA и первоначальный выбор запятой (" , ") в качестве десятичного знака по умолчанию являются источником общей путаницы. Версии 1–3 правил синтаксиса ISO 9735 указывают запятую как знак по умолчанию; версия 4 гласит, что позиция десятичного знака в сегменте UNA должна игнорироваться и что запятая и точка (" . ") могут использоваться безразлично в числовых значениях данных. Сегмент UNB указывает, какая версия правил синтаксиса действует. [3]
Символ освобождения (аналог \ в регулярных выражениях ) используется в качестве префикса для удаления специального значения из разделителя, завершения сегмента и символов освобождения, когда они используются в качестве обычного текста (эквивалентный североамериканский термин — «символ экранирования»).
Окончание сегмента указывает на конец сегмента сообщения.
Примечание: Разрывы строк после каждого сегмента в этом примере добавлены для удобства чтения. Обычно в данных EDI разрывы строк отсутствуют.
UNH+1+PAORES:93:1:IA'
- Это сегмент заголовка сообщения, который требуется в начале каждого сообщения. Этот код указывает, что имя и версия сообщения - PAORES 93 revision 1, и это было определено организацией IA (IATA).
IFT+3+NO MORE FLIGHTS'
- Это сегмент «Интерактивного свободного текста», содержащий текст «РЕЙСОВ БОЛЬШЕ НЕТ».
UNT+13+1'
- Это сегмент трейлера сообщения. Он указал, что отправленное сообщение содержит 13 сегментов.
EDIFACT имеет иерархическую структуру, где верхний уровень называется взаимообменом , а нижние уровни содержат несколько сообщений , которые состоят из сегментов , которые в свою очередь состоят из композитов . Последняя итерация — это элемент , который выводится из Справочника элементов торговых данных Организации Объединенных Наций (UNTDED); они нормализованы во всем стандарте EDIFACT.
Группа или сегмент могут быть обязательными (M) или условными (C) и могут быть указаны для повторения. Например:
- C99 указывает от 0 до 99 повторений сегмента или группы- M99 обозначает от 1 до 99 повторений сегмента или группы.
Группа, как и сообщение, представляет собой последовательность сегментов или групп. Первый сегмент или группа под группой должны быть обязательными, а группа должна быть сделана условной, если того требует логика ситуации.
|_Совет по строке обслуживания UNA Необязательно |____Заголовок обмена UNB Обязательный : |___Заголовок функциональной группы UNG Условный : : |___Заголовок сообщения UNH Обязательно : : : |__ Сегменты пользовательских данных По мере необходимости : : |__ Трейлер сообщения ЕНТ Обязательно : |__ Функциональная группа Трейлер UNE Условный |___ Обмен прицепами UNZ обязателен