ГОСТ 6.20.1-90
Завантажити документ
Формат .docx · доступно зареєстрованим користувачам
Текст документа
ГОСУДАРСТВЕННЫЙ СТАНДАРТ СОЮЗА ССР
ЭЛЕКТРОННЫЙ ОБМЕН ДАННЫМИ В УПРАВЛЕНИИ, ТОРГОВЛЕ И НА ТРАНСПОРТЕ (ЭДИФАКТ)
Синтаксические правила
ГОСТ 6.20.1-90
(ИСО 9735-88)
ИЗДАТЕЛЬСТВО СТАНДАРТОВ
МОСКВА
ГОСУДАРСТВЕННЫЙ СТАНДАРТ СОЮЗА ССР
ЭЛЕКТРОННЫЙ ОБМЕН ДАННЫМИ В УПРАВЛЕНИИ, ТОРГОВЛЕ И НА ТРАНСПОРТЕ (ЭДИФАКТ)
Синтаксические правила
EDI for administration, commerce and transport (EDIFACT). Syntax rules ГОСТ
6.20.1-90
(ИСО 9735-88)
Дата введения 01.01.92
Настоящий стандарт устанавливает синтаксические правила построения сообщений, используемых в обмене информацией между партнерами.
Стандарт распространяется на различные сферы народного хозяйства, в том числе применяется в управлении, внешней торговле и на транспорте.
Стандарт обязателен для предприятий, организаций и учреждений, осуществляющих обмен данными в открытых системах.
Термины, используемые в настоящем стандарте, приведены в HYPERLINK "" \l "приложение_1" приложении 1 .
1. УРОВНИ СИНТАКСИСА
1.1. В настоящем стандарте устанавливаются синтаксические уровни А и В, функции которых идентичны за исключением используемых наборов знаков. По мере возникновения потребностей в дополнительных синтаксических функциях могут быть определены другие уровни.
Уровень А использует набор знаков, указанный в HYPERLINK "" \l "п_2_2_1" п. 2.2.1 .
Уровень В использует набор знаков, указанный в HYPERLINK "" \l "п_2_2_2" п. 2.2.2 .
1.2. Служебный сегмент UNA (согласованный набор ограничителей, HYPERLINK "" \l "приложение_2" см. приложение 2 ) устанавливает набор знаков (разделители и другие служебные знаки), которые используются при обмене. Если набор используемых служебных знаков отличается от наборов знаков уровней А и В, то эти знаки должны быть установлены партнерами по обмену на многосторонней или двусторонней основе и определены в сегменте UNA.
2. НАБОРЫ ЗНАКОВ
2.1. В передаваемой информации должны применяться установленные в настоящем разделе наборы знаков.
2.2. Для представления, знаков в указанных ниже наборах должны использоваться 7-битные коды ГОСТ 27463 (ИСО 646) или соответствующие 8-битные коды ИСО 6937/2 и ГОСТ 19753 (ИСО 8859).
2.2.1. Набор знаков синтаксического уровня А содержит следующие знаки:
прописные буквы верхнего регистра латинского алфавита - А - Z
цифры - 0 - 9
пробел
точка - .
запятая - ,
дефис или знак минуса - -
левая скобка (открыть скобку) - (
правая скобка (закрыть скобку) - )
наклонная черта - /
знак равенства - =
Знаки, предназначенные для использования в качестве:
Апостроф - ’ указателя конца сегмента
знак плюс - + указателя начала сегмента и разделителя элементов данных
двоеточие - : разделителя компонентных элементов данных в составном элементе данных
вопросительный знак - ? знака отмены
ПРИМЕЧАНИЕ. Вопросительный знак, непосредственно предшествующий одному из следующих знаков: апостроф (’), плюс (+), вопросительный знак (?) - восстанавливает их обычное значение. Например, 10?+10=20 означает 10+10=20. Вопросительный знак в собственном значении обозначается - ??.
Следующие знаки являются частью набора знаков уровня А, однако они не должны использоваться в передаче сообщений по телексной связи.
восклицательный знак - !
кавычки - »
знак процента - %
амперсенд (знак, обозначающий союз «и») - &
звездочка - *
точка с запятой - ;
знак меньше, чем - <
знак больше, чем - >
2.2.2. Набор знаков синтаксического уровня В содержит следующие знаки:
прописные буквы верхнего регистра латинского алфавита - А - Z
строчные буквы нижнего регистра латинского алфавита - а - z
цифры - 0 - 9
пробел
точка - .
запятая - ,
дефис или знак минуса - -
левая скобка (открыть скобку) - (
правая скобка (закрыть скобку) - )
наклонная черта - /
апостроф – ’
знак плюс - +
двоеточие - :
знак равенства - =
вопросительный знак - ?
восклицательный знак - !
кавычки - »
знак процента - %
амперсенд - &
звездочка - *
точка с запятой - ;
знак меньше, чем - <
знак больше, чем - >
Знаки, предназначенные для использования в качестве:
разделитель информации - IS4 указателя конца сегмента
разделитель информации - IS3 указателя начала сегмента и разделителя элементов данных
разделитель информации - IS1 разделителя компонентных элементов данных
ПРИМЕЧАНИЕ. Данный набор знаков не предназначен для передачи сообщении по телексной связи.
3. СТРУКТУРА ОБМЕНА
3.1. Элементы данных пользователей содержатся только в информационных сегментах. Служебные сегменты содержат служебные элементы данных, которые формируют структуру протокола обмена. Содержание служебных сегментов приведено в HYPERLINK "" \l "приложение_2" приложении 2 .
Иерархическая структура обмена
3.2. Сегмент UNA и служебные сегменты UNB - UNZ включаются в обмен в установленном порядке. В рамках одного обмена допускается передача нескольких функциональных групп или сообщений. В рамках одной функциональной группы допускается передача нескольких сообщений. Сообщение состоит из сегментов. Структура сегментов и их элементов данных описана в HYPERLINK "" \l "п_3_6" пп. 3.6 и HYPERLINK "" \l "п_3_7" 3.7 .
3.3. Обмен должен иметь следующую структуру:
согласованный набор ограничителей - UNA (условный);
заголовок обмена - UNB (обязательный);
заголовок функциональной группы - UNG (условный);
заголовок сообщения - UNH (обязательный);
сегменты данных пользователя - (если требуются);
окончание сообщения - UNT (обязательный);
окончание функциональной группы - UNE (условный);
окончание обмена - UNZ (обязательный).
ПРИМЕЧАНИЕ. Кроме перечисленных служебных сегментов, при необходимости, допускается использование служебного сегмента UNS для разделения зон сообщения.
3.4. В рамках каждого обмена существует иерархическая структура, которая позволяет осуществить контроль за данными и их идинтификацию. Эта структура приведена на схеме.
3.4.1. СОЕДИНЕНИЕ содержит один или несколько обменов. Технические протоколы, обслуживающие запуск, поддержание и окончание связи, а также другие операции, не являются предметом рассмотрения настоящего стандарта.
3.4.2. ОБМЕН включает:
служебный сегмент UNA - согласованный набор ограничителей, который, если используется, определяет используемые в обмене синтаксические разделители и другие контрольные знаки;
служебный сегмент UNB - заголовок обмена;
функциональные группы, если они используются, или одно или несколько сообщений;
служебный сегмент UNZ - окончание обмена.
3.4.3. ФУНКЦИОНАЛЬНАЯ ГРУППА включает:
служебный сегмент UNG - заголовок функциональной группы;
одно или несколько сообщений одного и того же типа;
служебный сегмент UNE - окончание функциональной группы.
3.4.4 СООБЩЕНИЕ включает:
служебный сегмент UNH - заголовок сообщения;
один или несколько сегментов данных пользователя;
служебный сегмент UNT - окончание сообщения.
3.4.5. СЕГМЕНТ ДАННЫХ ПОЛЬЗОВАТЕЛЯ включает:
идентификатор (метку) сегмента;
простые элементы данных или
составные элементы данных в зависимости от использования.
3.4.6. ИДЕНТИФИКАТОР (МЕТКА) СЕГМЕНТА содержит:
код сегмента, если он указывается;
значение (я) повторения и вложения.
3.4.7. ПРОСТОЙ ЭЛЕМЕНТ ДАННЫХ содержит значение одного элемента данных.
3.4.8. СОСТАВНОЙ ЭЛЕМЕНТ ДАННЫХ содержит значения двух или более простых взаимосвязанных элементов данных, которые называются компонентными элементами данных.
3.4.9. Ниже приводятся примеры, описывающие обмен в виде последовательности сегментов:
а) функциональная группа включает только одно сообщение:
UNA UNB UNG UNH . . . Сегменты данных пользователя ...UNT UNE UNZ
б) передача одного сообщения без функциональной группы:
UNA UNB UNH . . . Сегменты данных пользователя . . . UNT UNZ
в) передача одного сообщения без функциональной группы и без сегмента UNA:
UNB UNH . . . Сегменты данных пользователя ... UNT UNZ
3.5. Пример, описывающий структуру сообщения, последовательность сегментов и групп сегментов в сообщении в соответствии с настоящими синтаксическими правилами, приведен в HYPERLINK "" \l "приложение_3" приложении 3 .
3.6. Каждый сегмент данных пользователя должен иметь следующую структуру:
идентификатор (метку) сегмента, который является обязательным и состоит из:
кода сегмента, являющегося обязательным, разделителя компонентных элементов данных, являющегося условным;
указания повторения или вложения, являющегося условным;
разделитель элементов данных, являющийся обязательным;
простые или составные элементы данных;
знак окончания сегмента, являющийся обязательным.
3.7. Элемент данных в рамках сегмента данных пользователя должен иметь следующую структуру:
простои элемент данных или составной элемент данных, обязательный или условный в зависимости от указаний в соответствующем справочнике сегментов и включающий:
простые взаимосвязанные (компонентные) элементы данных, разделители компонентных элементов данных, являющиеся обязательными (при ограничении, указанном в примечании).
ПРИМЕЧАНИЕ. Разделитель компонентного элемента данных не должен ставиться после последнего простого элемента данных, входящего в составной элемент данных. Разделитель элемента данных не должен ставиться после последнего элемента данных в сегменте.
4. УПЛОТНЕНИЕ ДАННЫХ
4.1. При обмене в элементах данных, имеющих переменную длину, незначащие символы должны опускаться. Это правило распространяется в первую очередь на нули, предшествующие цифровому значению, и конечные пробелы.
4.2. Правило не распространяется на нуль, стоящий перед десятичной запятой (точкой), и на случаи значащих нулей - например в обозначении температуры, если это указано в описании данных.
4.3. При уплотнении данных в сообщениях должны соблюдаться правила, приведенные и HYPERLINK "" \l "п_4_3_1" пп. 4.3.1-4.3.5 .
Примечание. В приведенных далее примерах «Tag» означает идентификатор (метку) начала сегмента, «DE» - элемент данных и «СЕ» - составной элемент данных. В примерах используются разделители уровня А.
4.3.1. Условные сегменты, не содержащие данных, исключаются, в том числе исключаются и идентификаторы начала сегмента.
4.3.2. Порядок элементов данных и сегменте должен быть задан в определенной последовательности. Если условный элемент данных опускается в начале или середине сегмента, то его позиция обозначается путем со