Организация Объединенных Наций / Электронный обмен данными для администрации, торговли и транспорта (UN / EDIFACT ) является международный стандарт электронного обмена данными (EDI), разработанный для Организации Объединенных Наций и утвержденный и опубликованный ЕЭК ООН, Европейской экономической комиссией ООН
В 1987 году, после слияния предложений ООН и США / ANSI по синтаксису, правила синтаксиса ЭДИФАКТ ООН были утверждены в качестве стандарта ISO 9735 Международной организацией по стандартизации.
Стандарт EDIFACT предусматривает:
Работа по обслуживанию Дальнейшая разработка этого стандарта осуществляется Центром Организации Объединенных Наций по упрощению процедур торговли и электронным деловым операциям (СЕФАКТ ООН ) при Европейской экономической комиссии ООН., в рабочей группе финансового домена UN CEFACT 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 + НАЛИЧИЕ XYZCOMPANY '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 указывает, какая версия правил синтаксиса действует.
Символ освобождения (аналог \ в регулярных выражениях ) используется как префикс для удаления специального значения из разделителя, завершение сегмента и символы освобождения, когда они используются как обычный текст.
Знак конца сегмента указывает конец сегмента сообщения.
Примечание. Разрывы строк после каждого сегмента в этом примере были добавлены для удобства чтения. Обычно в данных EDI нет разрывов строк.
UNH + 1 + PAORES: 93: 1: IA '
- это сегмент заголовка сообщения, который требуется в начале каждого сообщения. Этот код указывает, что имя и версия сообщения - PAORES 93, редакция 1, и они были определены организацией IA (IATA).
IFT + 3 + НИКАКИХ РЕЙСОВ '
- это сегмент «Интерактивный произвольный текст», содержащий текст «БОЛЬШЕ НИКАКИХ РЕЙСОВ».
UNT + 13 + 1 '
- это сегмент завершения сообщения. В нем указано, что отправленное сообщение содержит 13 сегментов.
EDIFACT имеет иерархическую структуру, в которой верхний уровень называется обменом, а нижние уровни содержат несколько сообщений, которые состоят из сегментов, которые, в свою очередь, состоят из составных частей. Последней итерацией является элемент, полученный из Справочника элементов торговых данных Организации Объединенных Наций (UNTDED); они нормализованы во всем стандарте EDIFACT.
Группа или сегмент могут быть обязательными (M) или условными (C) и могут быть указаны для повторения. Например:
- C99 указывает от 0 до 99 повторов сегмента или группы - M99 означает от 1 до 99 повторов сегмента или группы
Группа, как и сообщение, является последовательность сегментов или групп. Первый сегмент или группа ниже группы должны быть обязательными, а группа должна быть условной, если этого требует логика ситуации.
| _Service String Advice UNA Необязательно | ____ Заголовок обмена UNB Обязательный: | ___ Заголовок функциональной группы UNG Условный:: | ___ Заголовок сообщения UNH Обязательный::: | __ Сегменты данных пользователя Как требуется:: | __ Трейлер сообщения UNT Обязательно: | __ Функциональная группа Trailer UNE Conditional | ___ Interchange Trailer UNZ Обязательно