Конверты (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 конверта. |