ЭДИФАКТ - EDIFACT
Организация Объединенных Наций / Электронный обмен данными для управления, торговли и транспорта ( ЭДИФАКТ ООН ) - это международный стандарт электронного обмена данными (EDI), разработанный для Организации Объединенных Наций и одобренный и опубликованный ЕЭК ООН, Европейской экономической комиссией ООН.
В 1987 году, после объединения предложений ООН и США / ANSI по синтаксису, правила синтаксиса ЭДИФАКТ ООН были утверждены Международной организацией по стандартизации в качестве стандарта ISO 9735 .
Стандарт EDIFACT предусматривает:
- набор синтаксических правил для структурирования данных
- протокол интерактивного обмена (I-EDI)
- стандартные сообщения, которые позволяют обмениваться данными между странами и отраслями.
Работа по поддержанию и дальнейшему развитию этого стандарта осуществляется Центром Организации Объединенных Наций по упрощению процедур торговли и электронным деловым операциям ( СЕФАКТ ООН ) при Европейской экономической комиссии ООН в рамках рабочей группы ГТД ООН СЕФАКТ ООН в области финансов5 .
Пример
Ниже приведен пример сообщения 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+XYZCOMPANY AVAILABILITY' ERC+A7V:1:AMD' IFT+3+NO MORE FLIGHTS' 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 указывает, какая версия правил синтаксиса действует.
Символ освобождения (аналог \ в регулярных выражениях ) используется в качестве префикса для удаления специального значения из разделителя, завершения сегмента и символов освобождения, когда они используются как обычный текст.
Знак конца сегмента указывает конец сегмента сообщения.
Примечание. Разрывы строк после каждого сегмента в этом примере добавлены для удобства чтения. Обычно в данных EDI нет разрывов строк.
UNH+1+PAORES:93:1:IA'
- Это сегмент заголовка сообщения, который требуется в начале каждого сообщения. Этот код указывает, что имя и версия сообщения - PAORES 93, редакция 1, и они были определены организацией IA (IATA).
IFT+3+NO MORE FLIGHTS'
- Это сегмент «Интерактивный произвольный текст», содержащий текст «БОЛЬШЕ НЕТ РЕЙСОВ».
UNT+13+1'
- Это сегмент трейлера сообщения. В нем указано, что отправленное сообщение содержит 13 сегментов.
Состав
EDIFACT имеет иерархическую структуру, где верхний уровень называется обменом , а нижние уровни содержат несколько сообщений, которые состоят из сегментов , которые, в свою очередь, состоят из составных частей . Последняя итерация - это элемент, полученный из Справочника элементов торговых данных Организации Объединенных Наций (UNTDED); они нормализованы во всем стандарте EDIFACT.
Группа или сегмент могут быть обязательными (M) или условными (C) и могут быть указаны для повторения. Например :
- C99 indicates between 0 and 99 repetitions of a segment or group - M99 signifies between 1 and 99 repetitions of a segment or group
Группа, как и сообщение, представляет собой последовательность сегментов или групп. Первый сегмент или группа ниже группы должны быть обязательными, а группа должна быть условной, если этого требует логика ситуации.
|_Service String Advice UNA Optional |____Interchange Header UNB Mandatory : |___Functional Group Header UNG Conditional : : |___Message Header UNH Mandatory : : : |__ User Data Segments As required : : |__ Message Trailer UNT Mandatory : |__ Functional Group Trailer UNE Conditional |___ Interchange Trailer UNZ Mandatory
Смотрите также
использованная литература
внешние ссылки
-
Главная страница ЭДИФАКТ ООН - страница приветствия и новостей
- 2011-настоящее время - Торговля - ЕЭК ООН - Справочники ЭДИФАКТ ООН 2011 – настоящее время (с объяснением синтаксиса / ссылкой - последняя версия D.19B)
-
Правила ЭДИФАКТ ООН - рассматриваются синтаксис, реализация и дизайн сообщений.
- Синтаксис UN / EDIFACT (ISO 9735, последняя версия) - подробно объясняет синтаксис EDIFACT.
- Схемы DFDL для ЭДИФАКТ ООН Формат данных Описание Языковые схемы для синтаксического анализа и записи обменов ЭДИФАКТ ООН
- Модели ЭДИФАКТ ООН в формате JSON Интерактивные модели ЭДИФАКТ ООН в формате JSON для анализа, генерации и проверки обменов ЭДИФАКТ ООН