Некоторые из этих ответов очень хороши. Я постараюсь заполнить некоторые вещи, которые они не упомянули.
EDI - это набор стандартов, наиболее распространенными из которых являются:
- ANSI X12 (популярный в штатах)
- EDIFACT (популярный в Европе)
Похоже, вы смотрите на X12 версии 4010. Это наиболее широко используемая (по моему опыту, во всяком случае) версия. Существует множество разных версий.
Файл, или, по сути, «обмен», состоит из сегментов и элементов (и иногда подэлементов). Каждый сегмент начинается с двух- или трехзначного идентификатора (ISA, GS, ST, N1, REF).
Структура всех документов начинается и заканчивается конвертом. Конверт обычно состоит из сегмента ISA и сегментов GS. В каждом файле может быть более одного сегмента GS, но в каждом файле должен быть только один сегмент ISA (обратите внимание, что не все играют по правилам).
ISA - это особый сегмент. В то время как все остальные сегменты разделены и, следовательно, могут иметь различную длину, сегмент ISA имеет фиксированную ширину. Это потому, что он говорит вам, как прочитать остальную часть файла.
Начните с последних трех символов сегмента ISA. Они расскажут вам разделитель элемента, разделитель подэлемента и разделитель сегмента. Вот пример строки ISA.
ISA: 00:: 00:: 01: 1515151515: 01: 5151515151: 041201: 1217: U: 00403: 000032123: 0: P: * ~
В этом случае «:» - это разделитель элемента, «*» - это разделитель субэлемента, а «~» - разделитель сегмента. Гораздо проще, если вы просто пытаетесь просмотреть файл, чтобы поставить разрывы строк после каждого разделителя сегмента (~).
ISA также сообщает, от кого и из какого документа, какая версия (00403, также известная как 4030), и контрольный номер обмена (0000321233). Другие вещи, вероятно, не важны для вас на данном этапе.
Этот документ от отправителя "01: 1515151515" и от получателя "01: 5151515151". Так что с "01:"? Что ж, это вводит важную концепцию в EDI, классификатор. Несколько элементов имеют квалификаторы, которые сообщают вам, к какому типу данных относится следующий элемент. В этом случае 01 должен быть числом Данна и Брэдстрита. Другими квалификаторами для элементов ISA05 и ISA07 являются 12 для номера телефона и ZZ для «пользовательского». Вы найдете концепцию классификаторов во всех сегментах EDI. Приличное эмпирическое правило: если это два символа, это квалификатор. Чтобы узнать, что означают все квалификаторы, вам потребуется руководство по стандартам (либо в печатном виде из органа по стандартам EDI, либо в каком-либо программном обеспечении).
Следующая строка - GS. Это функциональная группа (способ группировки похожих документов в рамках обмена). Например, у вас может быть несколько заказов на покупку и несколько функциональных подтверждений в ISA. Они должны быть помещены в отдельные функциональные группы (сегменты GS). Вы можете определить тип документов в сегменте GS, посмотрев на первый элемент GS01.
GS: РО: 9988776655: 1122334455: 20041201: 1217: 128: X: 004030 * * одна тысяча тридцать-один
Помимо типа документа, вы снова можете видеть от (9988776655) и до (1122334455). На этот раз они используют разные идентификаторы, что является законным, потому что вы можете получать обмен от имени кого-то другого (например, если вы посредник). Вы также можете увидеть номер версии снова, на этот раз с завершающим «0» (0004030). Используйте значительную логику цифр, чтобы убрать начальные нули. Почему здесь есть дополнительный ноль, а не в ISA? Я не знаю. Наконец, этот сегмент GS также имеет свой собственный идентификатор 128.
Вот и все для начала конверта. После этого будет цикл документов, начинающийся с ST. В этом случае все они будут PO, которые имеют код (850), поэтому строка будет начинаться с ST: 850: blablabla
Материал конверта заканчивается сегментом GE, который ссылается на идентификатор GS (128), чтобы вы знали, какой сегмент закрывается. Затем приходит IEA, который аналогичным образом закрывает ISA.
GE: 1: 128 ~
МЭА: 1: 000032123 ~
Это обзор структуры и как ее читать. Чтобы понять это, вам понадобится справочник или программное обеспечение, чтобы вы понимали коды, много-много времени и много-много практики. Удачи, и напишите снова, если у вас есть более конкретные вопросы.