ГОСТ 22558-89 сторінка 90 з 116
Имя-данного-1 по имя-данного-11 не должны дублироваться в данной статье CD (ОК). Любое из этих имен данных может быть заменено зарезервированным словом FILLER (ЗАПОЛНИТЕЛЬ).
Формат 2
Необязательные фразы могут следовать в любом порядке.
Если в статье описания коммуникации не задана ни одна из фраз, за статьей CD (ОК) должна следовать статья - описания данного уровня 01.
Статьи описания записей, следующие за CD (ОК) для вывода, неявно переопределяют эту запись. Допускается многократное переопределение этой записи. Однако фразу VALUE (ЗНАЧЕНИЕ) может содержать только первое переопределение. Система управления сообщениями обращается к записи в соответствии с описаниями данных, определенными в общих правилах (см. ч. 6, п. 5.15).
Имя-данного-1, имя-данного-2, имя-данного-3, имя-дан- ного-4, имя-данного-5 не должны дублироваться внутри CD (ОК).
(И) I Если не задана фраза DESTINATION TABLE ОС- I I CURS (ТАБЛИЦА АДРЕСАТОВ ПОВТОРЯЕТСЯ), то \ “Еред- полагается одна область ключа ошибки и одна область символического адресата. В этом случае при обращении к имени-данного-4 и (или) имени-данного-5 не допускается индексирование.
Если задана фраза DESTINATION TABLE OCCURS (ТАБЛИЦА АДРЕСАТОВ ПОВТОРЯЕТСЯ), то к этим данным можно обращаться только используя индексирование.
Уровень 1 модуля коммуникаций требует, чтобы значение имени-данного-1 и целого-2 было равно 1, | Уровень 2 никаких ограничений на значение имени-данного-1 и целого-2 не накладывает.
Формат 3
Статьи описания записей, следующие за CD (ОК) для ввода-вывода, неявно переопределяют эту запись и должны описывать запись из 33 литер стандартного формата данных. Допускается многократное переопределение этой записи, однако фразу VALUE (ЗНАЧЕНИЕ) может содержать только первое переопределение. Система управления сообщениями обращается к записи в соответствии с правилами, определенными в общих правилах (см. ч. 6, п. 5.15).
Имя-данного-1, имя-данного-2, имя-данного-3, имя-данно- го-4, имя-данного-5 и имя-данного-6 не должны дублироваться в данной статье CD (ОК). Любое из этих имен данных может быть заменено зарезервированным словом FILLER (ЗАПОЛНИТЕЛЬ).
Общие правила
Формат 1
Информация CD (ОК) для ввода служит для связи между системой управления сообщениями и программой, так как задает информацию о сообщении, которое будет обрабатываться. Эта информация не поступает с терминала как часть сообщения.
Для каждой статьи CD (ОК) для ввода выделяется область из 87 смежных литер в стандартном формате данных. Эта область записи определяется для системы управления сообщениями следующим образом:
фраза SYMBOLIC QUEUE (СИМВОЛИЧЕСКАЯ ОЧЕРЕДЬ) определяет имя-данного-1 как имя элементарного буквенно-цифрового данного из 12 литер, занимающего в записи позиции 1—12;
фраза SYMBOLIC SUB-QUEUE-1 (СИМВОЛИЧЕСКАЯ ПОДОЧЕРЕДЬ-1) определяет имя-данного-2 как имя элементарного буквенно-цифрового данного из 12 литер, занимающего в записи позиции 13—24;
фраза SYMBOLIC SUB-QUEUE-2 (СИМВОЛИЧЕСКАЯ ПОДОЧЕРЕДЬ-2) определяет имя-данного-3 как имя элементарного буквенно-цифрового данного из 12 литер, занимающего в записи позиции 25—36;
фраза SYMBOLIC SUB-QUEUE-3 (СИМВОЛИЧЕСКАЯ ПОДОЧЕРЕДЬ-3) определяет имя-данного-4 как имя элементарного буквенно-цифрового данного из 12 литер, занимающего в записи позиции 37—48;
фраза MESSAGE DATE (ДАТА СООБЩЕНИЯ) определяет имя-данного-5 как имя данного, неявно описанного как целое из 6 цифр без знака и занимающего в записи позиции 49—54;
фраза MESSAGE TIME (ВРЕМЯ СООБЩЕНИЯ) определяет имя-данного-6 как имя данного, неявно описанного как целое из 8 цифр без знака и занимающего в записи позиции 55—62;
фраза SYMBOLIC SOURCE (СИМВОЛИЧЕСКИЙ ИСТОЧНИК) определяет имя-данного-7 как имя элементарного буквенно-цифрового данного из 12 литер, занимающего в записи позиции 63—74;
фраза TEXT LENGTH (ДЛИНА ТЕКСТА) определяет имя- данного-8 как имя данного, неявно описанного как целое из 4 цифр без знака и занимающего в записи позиции 75—78;
фраза END KEY (КЛЮЧ КОНЦА) определяет имя-данно- го-9 как имя элементарного буквенно-цифрового данного из одной литеры, занимающей в записи позицию 79;
фраза STATUS KEY (КЛЮЧ СОСТОЯНИЯ) определяет имя-данного-10 как имя элементарного буквенно-цифрового данного из двух литер, занимающего в записи позиции 80—81;
м) фраза MESSAGE COUNT (ЧИСЛО СООБЩЕНИЙ) определяет имя-данного-11 как имя элементарного данного, неявно описанного как целое из 6 цифр без знака и занимающего в записи позиции 82—87.
Вместо указанных выше фраз могут быть использованы име- на-данных, которые, взятые по порядку, соответствуют именам- данных, определенным этими фразами.
В любом случае предполагается неявное описание записи, как это представлено ниже.
8 Неявное описание
01 имя-данного-0.
02 имя-данного-1 PICTURE Х(12).
02 имя-данного-2 PICTURE Х( 12).
02 имя-данного-3 PICTURE Х(12).
02 имя-данного-4 PICTURE Х(12).
02 имя-данного-5 PICTURE 9(6).
02 имя-данного-6 PICTURE 9 (8).
02 имя-данного-7 PICTURE Х(12).
02 имя-данного-8 PICTURE 9 (4).
02 имя-данного-9 PICTURE X.
02 имя-данного-10 PICTURE XX.
02 имя-данного-11 PICTURE 9(6).
Неявное описание
01 имя-данного-0.
02 имя-данного-1 ШАБЛОН Х( 12).
02 имя-данного-2
ШАБЛОН X (12).
02 имя-данного-3 ШАБЛОН X (12).
02 имя-данного-4
ШАБЛОН Х(12).
02 имя-данного-5 ШАБЛОН 9(6).
К 682 ГОСТ 225S8—89
SYMBOLIC
SUB-QUEUE-1
SYMBOLIC
SUB-QUEUE-2
SYMBOLIC
SUB-QUEUE-3
SYMBOLIC
QUEUE
омментарий
MESSAGE DATE MESSAGE TIME SYMBOLIC SOURCE TEXT LENGTH END KEY STATUS KEY MESSAGE COUNT
Комментарий
СИМВОЛИЧЕСКАЯ ОЧЕРЕДЬ
СИМВОЛИЧЕСКАЯ ПОДОЧЕРЕДЬ-1
СИМВОЛИЧЕСКАЯ ПОДОЧЕРЕДЬ-2
СИМВОЛИЧЕСКАЯ ПОДОЧЕРЕДЬ-3
ДАТА СООБЩЕНИЯ
К Неявное описание 02 имя-данного-6
ШАБЛОН 9(8).
02 имя-данного-7
ШАБЛОН Х(12) 02 имя-данного-8
ШАБЛОН 9(4).
02 имя-данного-9 ШАБЛОН X.
02 имя-данного-10 ШАБЛОН XX.
02 имя-данного-11
ШАБЛОН 9(6).
омментарий
ВРЕМЯ СООБЩЕНИЯ
СИМВОЛИЧЕСКИЙ ИСТОЧНИК
ДЛИНА ТЕКСТА
КЛЮЧ КОНЦА
ключ СОСТОЯНИЯ
Ч (3) Когда имени-данного-4
ИСЛО СООБЩЕНИЙ
значения имени-данного-2, имени-данного-3, не будут использоваться, они должны пред
ставлять собой пробелы.
Имя-данного-1 , имя-данного-2, имя-данного-3 и имя- | I данного-4 содержат символические имена, обозначающие со
о ны быть предварительно определены для системы управления сообщениями.
тветственно очереди I
и
подочереди
I.
Все символические имена должны
образовываться по правилам для системных
имен и долж
Оператор RECEIVE (ПОЛУЧИТЬ) вызывает последова- тельное получение следующего сообщения I или его части из очереди, как указано фразами CD (ОК).
Во время выполнения оператора RECEIVE (ПОЛУЧИТЬ),, область CD (ОК) для ввода должна содержать в качестве значения имени-данного-1 имя символической очереди. Элементы данных имя-данного-2, имя-данного-3 и имя-данного-4 могут содержать имена символических подочередей или пробелы.
Когда задан некоторый уровень структуры очереди, должны быть заданы и все более высокие уровни. Если заданы не все уровни иерархии очереди, то система управления сообщениями определяет следующее сообщение или его часть, которое доступно в очереди и (или) подочереди, указанной CD (ОК) для ввода.
После выполнения оператора RECEIVE (ПОЛУЧИТЬ) значения имени-данного-I по имя-данного-4 будут представлять символические имена всех уровней структуры очереди.
Если программа обработки сообщения вызывается системой управления сообщениями, символические имена уровней структуры очереди, связанной с этой обработкой, помещаются в имя-данного-1 по имя-данного-4, определенные в статье CD (ОК) с фразой INITIAL (НАЧАЛЬНОГО). Во всех остальных случаях запуска программ значения имени-данного-1 по имя- данного-4, связанные с такой статьей, представляются пробелами.
Засылка пробелов или символических имен заканчивается до выполнения первого оператора раздела процедур.
Выполнение последующего оператора RECEIVE (ПОЛУЧИТЬ) для тех же значений имени-данного-1 по имя-данного-4 приводит к получению того же сообщения, которое вызвало запуск программы. Только в этот момент будет обновлена оставшаяся часть области связи.
Если система управления сообщениями пытается вызвать программу, не содержащую фразу INITIAL (НАЧАЛЬНОГО) в статье CD (ОК), результат не определен.
При выполнении оператора RECEIVE (ПОЛУЧИТЬ) система управления сообщениями помещает дату, когда было распознано, что сообщение завершено, в форме ТГММДД’ (год, месяц, день) в имя-данного-5. Значение имени-данного-5 обновляется системой управления сообщениями только во время выполнения оператора RECEIVE (ПОЛУЧИТЬ).
При выполнении оператора RECEIVE (ПОЛУЧИТЬ) система управления сообщениями помещает значение момента времени завершения сообщения в форме ’ЧЧММССХХ’ (часы, минуты, секунды, сотые доли секунды) в имя-данного-6. Значение име- ни-данного-6 обновляется системой управления сообщениями только во время выполнения оператора RECEIVE (ПОЛУЧИТЬ).
При выполнении оператора RECEIVE (ПОЛУЧИТЬ) система управления сообщениями помещает в имя-данного-7 символическое имя терминала, который является источником передаваемого сообщения.
Это символическое имя должно удовлетворять правилам образования системных имен.
Однако, если символическое имя терминала неизвестно системе управления сообщениями, имя-данного-7 будет содержать пробелы.
Значением имени-данного-8 система управления сообщениями указывает число позиций литер, заполненных в результате выполнения оператора RECEIVE (ПОЛУЧИТЬ).
Значение имени-данного-9 устанавливается системой управления сообщениями во время выполнения оператора RECEIVE (ПОЛУЧИТЬ) по следующим правилам:
для оператора RECEIVE MESSAGE (ПОЛУЧИТЬ СООБЩЕНИЕ):
если обнаружен конец группы, то значение имени-данного-9 устанавливается равным 3;
если обнаружен конец сообщения, то значение имени-данного-9 устанавливается равным 2;
если передается часть сообщения, то значение имени-данного-9 устанавливается равным нулю;
для оператора RECEIVE SEGMENT (ПОЛУЧИТЬ СЕГМЕНТ):
Если обнаружен конец группы, то значение имени-данного-9 устанавливается равным 3;
если обнаружен конец сообщения, то значение имени-данного-9 устанавливается равным 2;
если обнаружен конец сегмента, то значение имени-данного-9 устанавливается равным 1;
если передается только часть сообщения, то значение имени-данного-9 устанавливается равным 0;
если одновременно выполняются несколько перечисленных условий, то значение имени-данного-9 определяется первым выполненным условием в перечисленном выше порядке.
Значение имени-данного-10 указывает состояние выполненных перед этим операторов RECEIVE (ПОЛУЧИТЬ) ACCEPT MESSAGE COUNT (ПРИНЯТЬ ЧИСЛО СООБЩЕНИЙ), ENABLE INPUT (РАЗРЕШИТЬ ВВОД), DISABLE INPUT I (ЗАПРЕТИТЬ ВВОД) |7
Соответствие значения имени-данного-1 состоянию выполнения отражено в табл. 1.
Значение имени-данного-11 указывает число сообщений, имеющихся в очереди , подочереди-1 и т. д . Система управления сообщениями обновляет это значение при выполнении оператора ACCEPT MESSAGE COUNT (ПРИНЯТЬ ЧИСЛО СООБЩЕНИЙ).
Формат 2
Информация, определенная статьей CD (ОК) для вывода, не посылается на терминал. Она служит для связи между системой управления сообщениями и программой и задает информацию о сообщении, которое обрабатывается.
На уровне 1 для каждого CD (ОК) для вывода выделяется непрерывная область записи из 23 литер. ) На уровне 2 для каждого CD (ОК) для вывода выделяется непрерывная область записи длиной (10 плюс (13 умножить на целое-1)) литер. | неявное описание этой области записи следующее:
фраза DESTINATION COUNT (ЧИСЛО АДРЕСАТОВ) определяет имя-данного-1 как имя данного, неявно описанного как целое без знака и занимающего в записи позиции 1—4;
фраза TEXT LENGTH (ДЛИНА ТЕКСТА) определяет имя- данного-2 как имя данного, неявно описанного как целое из 4 цифр без знака и занимающего в записи позиции 5—8;
фраза STATUS KEY (КЛЮЧ СОСТОЯНИЯ) определяет имя-данного-3 как элементарное буквенно-цифровое данное из 2 литер, занимающее в записи позиции 9, 10;
позиции литер 11—23 и каждый набор по 13 литер за ними образуют таблицу элементов со следующим описанием:
фраза ERROR KEY (КЛЮЧ ОШИБКИ) определяет имя- данного-4 как имя элементарного буквенно-цифрового данного из одной литеры;
фраза SYMBOLIC DESTINATION (СИМВОЛИЧЕСКИЙ АДРЕСАТ) определяет имя-данного-5 как имя элементарного буквенно-цифрового данного из 12 литер.
Использование всех этих фраз определяет запись, неявное описание которой приведено ниже.
Неявное описание 01 имя-данного-0.
02 имя-данного-1 PICTURE 9(4).
02 имя-данного-2 PICTURE 9(4).
02 имя-данного-3 PICTURE XX.
02 имя-данного OCCURS целое-1 TIMES
03 имя-данного-4 PICTURE X.
03 имя-данного-5 PICTURE Х(12).
Неявное описание
01 имя-данного-8.
02 имя-данного-1 ШАБЛОН 9(4).
02 имя-данного-2 ШАБЛОН 9(4).
02 имя-данного-3 ШАБЛОН XX.
02 имя-данного ) ПОВТОРЯЕТСЯ |
[ целое-1 РАЗ I
03 имя-данного-4 ШАБЛОН X.
03 имя-данного-5 ШАБЛОН Х(12).
Комментарий
DESTINATION COUNT TEXT LENGTH STATUS KEY DESTINATION TABLE ERROR KEY
SYMBOLIC DESTINATION
Комментарий
ЧИСЛО АДРЕСАТОВ
ДЛИНА ТЕКСТА
КЛЮЧ СОСТОЯНИЯ
ТАБЛИЦА АДРЕСАТОВ
КЛЮЧ ОШИБКИ
С ГОСТ 22558—89
ИМВОЛИЧЕСКИЙ АДРЕСАТ
При выполнении операторов SEND (ПОСЛАТЬ), PURGE (ОЧИСТИТЬ), ENABLE OUTPUT (РАЗРЕШИТЬ ВЫ- I ВОД), DISABLE OUTPUT (ЗАПРЕТИТЬ ВЫВОД) Г значение имени-данного-1 указывает системе управления сообщениями число символических адресатов, которые надо использовать из области, определяемой именем-данного-5.
Система управления сообщениями находит первый символический адресат в первом элементе таблицы адресатов, определенной именем-данного-5 |; следующий символический адресат — в следующем элементе этой таблицы и т. д. до элемента номер которого совпадает со значением имени-данного-1.
Если при выполнении оператора SEND (ПОСЛАТЬ), | PURGE (ОЧИСТИТЬ), ENABLE OUTPUT (РАЗРЕШИТЬ ВЫВОД), DISABLE OUTPUT (ЗАПРЕТИТЬ ВЫВОД) |"Дїїа~- чение имени-данного-1 находится вне диапазона чисел от 1 I до целого-1 , устанавливается ключ ошибки и выполнение оператора прекращается.
Пользователь должен обеспечить, чтобы значение имени- данного-1 было допустимым в момент выполнения операторов SEND (ПОСЛАТЬ) | , PURGE (ОЧИСТИТЬ), DISABLE OUTPUT (ЗАПРЕТИТЬ ВЫВОД), ENABLE OUTPUT (РАЗ- РЕШИТЬ ВЫВОД) |7
Во время выполнения оператора SEND (ПОСЛАТЬ) система управления сообщениями рассматривает значение имени-дан- ного-2 как число крайних левых позиций литер в поле, определяемом идентификатором в операторе SEND (ПОСЛАТЬ), из которого надо передавать данные (п. 3.6 настоящей части).
Побачили розбіжність з офіційним текстом?