- •Электронный обмен документов (edi). Часть 1 Введение
- •История
- •Терминология Документ (document или transaction set)
- •Функциональная группа (Functional Group)
- •Конверт (Envelope)
- •Сегмент
- •Опциональность сегментов
- •Порядок следования сегментов
- •Повторение сегментов
- •Элемент
- •Типы данных
- •Опциональность элементов
- •Структура edi документа
- •Конверты (envelopes)
- •Header (заголовок), Details (детали) и Summary (итог)
- •Использование edi в реальном документообороте
- •Edi/xml – часть 2
Структура edi документа
Как уже было сказано выше, EDI документ можно представить в виде документа/документов, вложенных в конверты, которые имеют различное назначение.
Конверты (envelopes)
Существуют три типа конвертов – ISA/IEA Envelopes, GS/GE Envelopes и ST/SE Envelopes. Начальные сегменты конвертов имеют название Header, а завершающие – Trailer:
-
ISA - Interchange Control Header
-
GS - Function Group Header
-
ST - Transaction Set Header
-
SE - Transaction Set Trailer
-
GE - Function Group Trailer
-
IEA - Interchange Control Trailer
Рассмотрим эти сегменты подробнее.
ISA (Interchange Control Header) – сегмент, который определяет отправителя и получателя документа.
Важно, что элементы этого сегмента имеют фиксированную длину, например ISA-06 имеет размер 15/15 и до нужной длины дополняется пробелами, в итоге, вместо *A1STORES* мы имеем *A1STORES *. Это свойство используется для определения разделительных элементов, которые используются в данном EDI документе. Символ окончания сегмента берется из позиции 106 (~), разделитель элементов – из позиции 4 (*). Разделитель суб-элементов в композитном элементе находится в позиции 105 (>).
ISA*00* *00* *ZZ*A1STORES *ZZ*LEXINGTON *020115*0900*U*00400*000000005*0*T*>~
Элемент |
Описание |
Тип данных |
Значение |
Комментарий |
ISA-01 |
Authorization Information Qualifier |
M ID (101) 2/2 |
00 |
Тип авторизации (определяется в ISA-02) 00 – No Authorization present |
ISA-02 |
Authorization Information |
M AN 10/10 |
“ ” (10 пробелов) |
Информация, которая используется для дополнительной идентификации или авторизации отправителя EDI документа или данных, которые в нем находятся. |
ISA-03 |
Security Information Qualifier |
M ID (103) 2/2 |
00 |
Тип security информации, содержащейся в ISA-04. 00 – No Security Information present. 01 – Password. |
ISA-04 |
Security Information |
M AN 10/10 |
“ ” (10 пробелов) |
«Пароль» документа. Этот элемент почти не используется по назначению. |
ISA-05 |
Interchange ID Qualifier |
M ID (105) 2/2 |
ZZ |
Идентификатор типа данных элемента ISA-06. В нашем примере это ZZ – взаимно определенные значения, но часто используются также 01 – DUNS 02 - SCAC code 10 – DODAAC 16 – DUNS + 4 и другие |
ISA-06 |
Interchange Sender ID |
M AN 15/15 |
“A1STORES ” |
Используется для определения отправителя документа |
ISA-07 |
Interchange ID Qualifier |
M ID (105) 2/2 |
ZZ |
Идентификатор типа данных элемента ISA-08. В нашем примере это ZZ – взаимно определенные значения, но часто используются также 01 – DUNS 02 - SCAC code 10 – DODAAC 16 – DUNS + 4 и другие |
ISA-08 |
Interchange Receiver ID |
M AN 15/15 |
“LEXINGTON ” |
Используется для определения получателя документа |
ISA-09 |
Interchange Date |
M DT 6/6 |
020115 |
Дата документа |
ISA-10 |
Interchange Time |
M TM 4/4 |
0900 |
Время документа |
ISA-11 |
Interchange Control Standards ID |
M ID (110) 1/1 |
U |
Код, идентифицирующий агенство, которое отвечает за EDI стандарт, используемый в данном EDI документе. U - US EDI community |
ISA-12 |
Interchange Control Version Number |
M ID (111) 5/5 |
00400 |
Версия ISA/IEA Envelope |
ISA-13 |
Interchange Control Number |
M N0 9/9 |
000000005 |
Специальный идентификатор, который используется для проверки уникальности документа и предотвращения отправки дублицированных документов. Обычно используется целочисленное значение, и с каждым новым документом, отправленным одному и тому же партнеру, увеличивается на единицу. |
ISA-14 |
Acknowledgement Requested |
M ID (113) 1/1 |
0 |
Индикатор запроса сегмента TA3 (Interchange Delivery Notice Segment) в ответе принимающего сервиса. Этот сегмент (TA3) используется для определения, был ли EDI документ (interchange) доставлен конечному получателю, и некоторой другой вспомогательной информации. |
ISA-15 |
Test Indicator |
M ID (114) 1/1 |
T |
Имеет два возможных значения – T (Test) или P (Production), и используется для определения типа документа. Можно использовать “T” для проверки правильности формата документа. |
ISA-16 |
Subelement Separator |
M (символ-разделитель) 1/1 |
> |
Разделитель суб-элементов в композитном элементе. |
IEA (Interchange Control Trailer) – замыкающий Interchange сегмент.
IEA*1*000000005~
Элемент |
Описание |
Тип данных |
Значение |
Комментарий |
IEA-01 |
Number of Function Groups Included |
M N0 1/5 |
1 |
Количество функциональных групп (ограниченных GS/GE сегментами), которые входят в данный Interchange. В нашем примере это 1 – одна функциональная группа (PO). |
IEA-02 |
Interchange Control Number |
M N0 9/9 |
000000005 |
Контрольный номер Interchange, совпадает с ISA-13 |
GS (Function Group Header) - сегмент определяет тип документа(ов), которые входят в эту группу, содержит контрольную информацию. Он может использоваться для роутинга EDI документа между различными системами и/или адресами компаний, которые обмениваются этими документами. Еще раз – GS/GE сегменты являются «конвертом» (envelope) для документов одного типа (тип определяется GS-01 сегментом).
GS*PO*A1STORES*LEXINGTON*20020110*0900*5*X*004010~
Элемент |
Описание |
Тип данных |
Значение |
Комментарий |
GS-01 |
Functional Identifier Code |
M ID (479) 2/2 |
PO |
Тип документов, включенных в данную функциональную группу. PO – ордера, IN – инвойсы и т.д. (см спецификацию). |
GS-02 |
Application Sender’s Code |
M AN 14/14 |
A1STORES |
Код, идентифицирующий сторону-отправителя. Данный код согласуется партнерами по документообороту. |
GS-03 |
Application Receiver’s Code |
M AN 9/9 |
LEXINGTON |
Код, идентифицирующий сторону-получателя. Данный код согласуется партнерами по документообороту. |
GS-04 |
Date |
M DT 8/8 |
20020110 |
Дата |
GS-05 |
Time |
M TM 4/4 |
0900 |
Время |
GS-06 |
Group Control Number |
M N0 1/9 |
5 |
Присвоенный отправителем номер. |
GS-07 |
Responsible Agency Code |
M ID(455) 1/2 |
X |
Код, используемый для определения компании, выпустившей данный стандарт. X - Accredited Standards Committee X12, T - Transportation Data Coordinating Committee (TDCC) |
GS-08 |
Version/Release/Industry Identifier Code |
M AN 1/12 |
004010 |
Код, идентифицирующий номер версии, релиза и суб-релиза используемого стандарта. В нашем случае это версия стандарта - 4010. |
GE (Function Group Trailer) - сегмент определяет конец данных, которые были начаты GS сегментом. В EDI-документ (Interchange) может быть включено несколько функциональных групп, сегмент GE используется для определения места, где завершается функциональная группа.
GE*1*5~
Элемент |
Описание |
Тип данных |
Значение |
Комментарий |
GE-01 |
Number of Transaction Sets Included |
M N0 1/6 |
1 |
Количество документов (transaction sets), включенных в данную функциональную группу. Используется как контрольное значение. |
GE-02 |
Group Control Number |
M N0 1/9 |
5 |
Присвоенный отправителем номер. Используется как контрольное число при определении GS/GE конверта (GS-06 = GE-02). |
ST (Transaction Set Header) - сегмент идентифицирует тип документа. Этот сегмент начинает документ (например, ордер или инвойс). Как уже было сказано в начале, в X12 тип документа имеет трехзначный номер-идентификатор.
ST*850*50001~
Элемент |
Описание |
Тип данных |
Значение |
Комментарий |
ST-01 |
Transaction Set Identifier Code |
M ID(143) 3/3 |
850 |
Трехзначный номер-идентификатор, определяющий тип документа. Примеры: 850 - Purchase Order 810 - Invoice 855 - Purchase Order Acknowledgment 889 - Promotion Announcement |
ST-02 |
Transaction Set Control Number |
M AN 4/9 |
50001 |
Уникальный идентификатор документа в данной функциональной группы. Обычно (часто) используется последовательность 0001, 0002,… но бывают и другие (как в нашем примере). |
SE (Transaction Set Trailer) - сегмент определяет конец документа. Этот сегмент содержит информацию об общем количестве сегментов с данными (включая ST и SE сегменты). Это число используется для верификации документа.
SE*33*50001~
Элемент |
Описание |
Тип данных |
Значение |
Комментарий |
SE-01 |
Number of included segments |
M N0 1/10 |
33 |
Количество сегментов, входящих в данный документ (transaction set), ограниченный конвертом ST/SE. Сами сегменты ST/SE так же подсчитываются в этом числе. Эти данные используются для контрольной проверки целостности документа после обработки – все ли сегменты были обработаны. |
SE-02 |
Transaction Set Control Number |
M AN 4/9 |
50001 |
Контрольный номер, SE-02 = ST-02 для каждого ST/SE конверта. |