Часть 14. МОДУЛЬ КОММУНИКАЦИЙ

  1. ВВЕДЕНИЕ В МОДУЛЬ КОММУНИКАЦИИ

    1. Назначение

Модуль коммуникаций обеспечивает возможность получения, обработки и создания сообщений или их частей. Он позволяет с помощью системы управления сообщениями связываться с комму­никационными устройствами.

  1. Характеристика уровней

Уровень 1 коммуникаций обеспечивает ограниченные возмож­ности для статьи описания коммуникации. В разделе процедур уро­вень 1 обеспечивает ограниченные возможности операторов RECE­IVE (ПОЛУЧИТЬ) и SEND (ПОСЛАТЬ) и полные возможности

оператора ACCEPT MESSAGE COUNT (ПРИНЯТЬ ЧИСЛО СО­ОБЩЕНИЙ).

Уровень 2 коммуникаций обеспечивает полные возможности для статьи описания коммуникации. В разделе процедур уро­вень 2 обеспечивает полные возможности операторов ACCEPT MESSAGE COUNT (ПРИНЯТЬ ЧИСЛО СООБЩЕНИЙ), DISABLE (ЗАПРЕТИТЬ), ENABLE (РАЗРЕШИТЬ), PURGE (ОЧИСТИТЬ), RECEIVE (ПОЛУЧИТЬ), SEND (ПОСЛАТЬ).

  1. РАЗДЕЛ ДАННЫХ В МОДУЛЕ КОММУНИКАЦИЙ

    1. Секция коммуникаций

Секция коммуникаций находится в разделе данных исходной программы. Секция коммуникаций описывает элементы данных ис­ходной программы, которые будут использованы для интерфейса между системой управления сообщениями и программой. Эта об­ласть интерфейса определяется статьей описания коммуникации. За статьей описания коммуникации может следовать одна или не­сколько статей описания записей или не следовать ни одной.

Общий формат секции коммуникаций показан ниже:

COMMUNICATION SECTION.

[статья-описания-коммуникации [статья-описания-записи] . .. ] ... СЕКЦИЯ КОММУНИКАЦИЙ.

[статья-описания-коммуникации

[статья-описания-записи] . . . ] ...

  1. Статья описания коммуникации

В программе на Коболе статья описания коммуникации пред­ставляет собой высший уровень организации в секции коммуника­ций. За заголовком секции коммуникаций следует статья описания коммуникации, содержащая индикатор уровня CD (ОК), имя-дан- ного и последовательность независимых фраз. Статья заканчива­ется точкой.

Для статьи описания коммуникации для ввода фразы указыва­ют очереди [ и подочереди , дату и время сообщения, символи­ческий источник, длину текста, ключи состояния и конца, число со­общений. Для статьи описания коммуникации для вывода фразы указывают число адресатов, длину текста, ключи состояния и ошиб­ки, символические адресаты.

Для статьи описания коммуникации для ввода-вывода фразы указывают дату и время сообщения, символический терминал, дли­ну текста, ключи состояния и конца.

  1. Структура описания записи

Область записи, связанная со статьей описания коммуникации, может быть неявно переопределена пользователем статьей описа­ния записи, написанной непосредственно за статьей описания ком­муникации.

Описание записи состоит из набора статей описания данных, которые описывают характеристики отдельной записи. Каждая статья описания данного состоит из номера уровня, имени данного или фразы FILLER (ЗАПОЛНИТЕЛЬ), и следующей за ними пос­ледовательности независимых фраз. Описание записи может иметь иерархическую структуру, поэтому используемые в статье фразы зависят от наличия подчиненных статей. Структура описания запи­си и допустимые элементы в статье описания записи приводятся в ч. 4, пп. 4.3.1.3 и 5.3. Употребление отдельных фраз в статье описа­ния данного зависит от уровня модуля ядра, поддерживаемого реа­лизацией.

  1. . Статья описания коммуникации

    1. Назначение

Описание коммуникации определяет область связи между сис­темой управления сообщениями и программой Кобола.

  1. Общий формат

Формат 1

СР имя-коммуникации-1 FOR [INITIAL] INPUT

  1. [[SYMBOLIC QUEUE IS имя-данного-1]

[SYMBOLIC SUB-QUEUE-1 IS имя-данного-2]

[SYMBOLIC SUB-QUEUE-2 IS имя-данного-3]

[SYMBOLIC SUB-QUEUE-3 IS имя-данного-4]

[MESSAGE DATE IS имя-данного-5]

[MESSAGE TIME IS имя-данного-6]

[SYMBOLIC SOURCE IS имя-данного-7]

[TEXT LENGTH IS имя-данного-8](

[END KEY IS имя-данного-9]

[STATUS KEY IS имя-данного-10]

[MESSAGE COUNT IS имя-данного-11] ]

[имя-данного-1, имя-данного-2, имя-данного-3, имя-данного-4 имя-данного-5, имя-данного-6, имя-данного-7, имя-данного-8, имя-данного-9, имя-данного-10, имя-данного-11

]ОК имя-коммуникации-1 ДЛЯ [НАЧАЛЬНОГО] ВВОДА

[ [СИМВОЛИЧЕСКАЯ ОЧЕРЕДЬ имя-данного-1]


[СИМВОЛИЧЕСКАЯ ПОДОЧЕРЕДЬ-1 имя-данного-2] [СИМВОЛИЧЕСКАЯ ПОДОЧЕРЕДЬ-2 имя-данного-3] [СИМВОЛИЧЕСКАЯ ПОДОЧЕРЕДЬ-3 имя-данного-4] г


[ДАТА СООБЩЕНИЯ имя-данного-5]

[ВРЕМЯ СООБЩЕНИЯ имя-данного-6]

[СИМВОЛИЧЕСКИЙ ИСТОЧНИК имя-данного-7]

[ДЛИНА ТЕКСТА имя-данного-8]

[КЛЮЧ КОНЦА имя-данного-9]

[КЛЮЧ СОСТОЯНИЯ имя-данного-10]

[ЧИСЛО СООБЩЕНИЙ имя-данного-11] ]:


[имя-данного-i, имя-данного-2, имя-данного-3, имя-данного-4, имя-данного-5, имя-данного-6, имя-данного-7, имя-данного-8, имя-данного-9, имя-данного-10, имя-данного-11]



Формат 2

CD имя-коммуникации-1 FOR OUTPUT

[DESTINATION COUNT IS имя-данного-1]

[TEXT LENGTH IS имя-данного-2]

[STATUS KEY IS имя-данного-3]:

[DESTINATION TABLE OCCURS целое-1 TIMES

[INDEXED BY {имя-индекса-1}... ] ]

[ERROR KEY IS имя-данного-4]

[SYMBOLIC DESTINATION IS имя-данного-5].



ОК имя-коммуникации-1 ДЛЯ ВЫВОДА

[ЧИСЛО АДРЕСАТОВ имя-да иного-1]

[ДЛИНА ТЕКСТА имя-данного-2]

[КЛЮЧ СОСТОЯНИЯ имя-данного-3]

[ТАБЛИЦА АДРЕСАТОВ ПОВТОРЯЕТСЯ целое-1 РАЗ

[ИНДЕКСИРУЕТСЯ {имя-индекса-1}... ] ] і

ф с

[КЛЮЧ ОШИБКИ имя-данного-4]

[СИМВОЛИЧЕСКИЙ АДРЕСАТ имя-данного-5].

ормат 3

D имя-коммуникации-1 FOR [INITIAL] 1-0

[[MESSAGE DATE IS имя-данного-І]

[MESSAGE TIME IS имя-данного-2]

[SYMBOLIC TERMINAL IS имя-данного-3]

[TEXT LENGTH IS имя-данного-4]

[END KEY IS имя-данного-5]

[STATUS KEY IS имя-данного-6]]




[имя-данного-1, имя-данного-2, имя-данного-3, имя-данного-4, имя-данного-5, имя-данного-6]


01

< имя-коммуникации-1 ДЛЯ НАЧАЛЬНОГО ВВОДА-ВЫВОДА

" [ [ДАТА СООБЩЕНИЯ имя-данного-1 ]

[ВРЕМЯ СООБЩЕНИЯ имя-данного-2]

[СИМВОЛИЧЕСКИЙ ТЕРМИНАЛ имя-данного-3]

[ДЛИНА ТЕКСТА имя-данного-4]

[КЛЮЧ КОНЦА имя-данного-5]

[КЛЮЧ СОСТОЯНИЯ имя-данного-6] ]



[имя-данного-1 имя-данного-2, имя-данного-3, имя-данного-4, имя-данного-5, имя-данного-6]


  1. Синтаксические правила

Все форматы

  1. Статья CD (ОК) может появиться только в секции комму­никаций.

Форматы 1 и 3

  1. В пределах одной программы фраза INITIAL (НА­ЧАЛЬНОГО) может быть указана только в одной статье описа­ния коммуникации. Эта фраза не может использоваться в про­грамме, для которой в заголовке раздела процедур указан ва­риант USING (ИСПОЛЬЗУЯ).

  2. Кроме фразы INITIAL (НАЧАЛЬНОГО), все фразы могут быть написаны в любом порядке.

  3. Если ни одна из фраз в формате не указана, за статьей описания коммуникации CD (ОК) должна следовать статья уров­ня 01 описания данного. В любом случае за статьей CD (ОК) мо­жет следовать статья уровня 01 описания данного.

Формат 1

  1. Статьи описания записей, следующие за CD (ОК) для вво­да, неявно переопределяют эту запись и должны описывать запись из 87 литер. Допускается неоднократное переопределение этой записи. Однако фразу VALUE (ЗНАЧЕНИЕ) может содержать только первое переопределение. Система управления сообщениями будет всегда обращаться к записи в соответствии с описаниями данных, определенными в общем правиле 2 (см. ч. 6, п. 5.15).

  2. Имя-данного-1 по имя-данного-11 не должны дублировать­ся в данной статье CD (ОК). Любое из этих имен данных может быть заменено зарезервированным словом FILLER (ЗАПОЛНИ­ТЕЛЬ).

Формат 2

  1. Необязательные фразы могут следовать в любом порядке.

  2. Если в статье описания коммуникации не задана ни одна из фраз, за статьей CD (ОК) должна следовать статья - описания данного уровня 01.

  3. Статьи описания записей, следующие за CD (ОК) для вы­вода, неявно переопределяют эту запись. Допускается многократ­ное переопределение этой записи. Однако фразу VALUE (ЗНАЧЕ­НИЕ) может содержать только первое переопределение. Система управления сообщениями обращается к записи в соответствии с описаниями данных, определенными в общих правилах (см. ч. 6, п. 5.15).

  4. Имя-данного-1, имя-данного-2, имя-данного-3, имя-дан- ного-4, имя-данного-5 не должны дублироваться внутри CD (ОК).

(И) I Если не задана фраза DESTINATION TABLE ОС- I I CURS (ТАБЛИЦА АДРЕСАТОВ ПОВТОРЯЕТСЯ), то “Еред- полагается одна область ключа ошибки и одна область символи­ческого адресата. В этом случае при обращении к имени-данного-4 и (или) имени-данного-5 не допускается индексирование.

  1. Если задана фраза DESTINATION TABLE OCCURS (ТАБЛИЦА АДРЕСАТОВ ПОВТОРЯЕТСЯ), то к этим данным можно обращаться только используя индексирование.

  2. Уровень 1 модуля коммуникаций требует, чтобы значение имени-данного-1 и целого-2 было равно 1, | Уровень 2 никаких ограничений на значение имени-данного-1 и целого-2 не накла­дывает.

Формат 3

  1. Статьи описания записей, следующие за CD (ОК) для ввода-вывода, неявно переопределяют эту запись и должны описы­вать запись из 33 литер стандартного формата данных. Допуска­ется многократное переопределение этой записи, однако фразу VALUE (ЗНАЧЕНИЕ) может содержать только первое переопре­деление. Система управления сообщениями обращается к записи в соответствии с правилами, определенными в общих правилах (см. ч. 6, п. 5.15).

  2. Имя-данного-1, имя-данного-2, имя-данного-3, имя-данно- го-4, имя-данного-5 и имя-данного-6 не должны дублироваться в данной статье CD (ОК). Любое из этих имен данных может быть заменено зарезервированным словом FILLER (ЗАПОЛНИТЕЛЬ).

  1. Общие правила

Формат 1

  1. Информация CD (ОК) для ввода служит для связи между системой управления сообщениями и программой, так как задает информацию о сообщении, которое будет обрабатываться. Эта ин­формация не поступает с терминала как часть сообщения.

  2. Для каждой статьи CD (ОК) для ввода выделяется об­ласть из 87 смежных литер в стандартном формате данных. Эта об­ласть записи определяется для системы управления сообщениями следующим образом:

  1. фраза SYMBOLIC QUEUE (СИМВОЛИЧЕСКАЯ ОЧЕ­РЕДЬ) определяет имя-данного-1 как имя элементарного буквен­но-цифрового данного из 12 литер, занимающего в записи позиции 1—12;

  2. фраза SYMBOLIC SUB-QUEUE-1 (СИМВОЛИЧЕСКАЯ ПОДОЧЕРЕДЬ-1) определяет имя-данного-2 как имя элемен­тарного буквенно-цифрового данного из 12 литер, занимающего в записи позиции 13—24;

  3. фраза SYMBOLIC SUB-QUEUE-2 (СИМВОЛИЧЕСКАЯ ПОДОЧЕРЕДЬ-2) определяет имя-данного-3 как имя элемен­тарного буквенно-цифрового данного из 12 литер, занимающего в записи позиции 25—36;

  4. фраза SYMBOLIC SUB-QUEUE-3 (СИМВОЛИЧЕСКАЯ ПОДОЧЕРЕДЬ-3) определяет имя-данного-4 как имя элемен­тарного буквенно-цифрового данного из 12 литер, занимающего в записи позиции 37—48;

  5. фраза MESSAGE DATE (ДАТА СООБЩЕНИЯ) определя­ет имя-данного-5 как имя данного, неявно описанного как целое из 6 цифр без знака и занимающего в записи позиции 49—54;

  1. фраза MESSAGE TIME (ВРЕМЯ СООБЩЕНИЯ) опреде­ляет имя-данного-6 как имя данного, неявно описанного как целое из 8 цифр без знака и занимающего в записи позиции 55—62;

  2. фраза SYMBOLIC SOURCE (СИМВОЛИЧЕСКИЙ ИСТОЧ­НИК) определяет имя-данного-7 как имя элементарного буквен­но-цифрового данного из 12 литер, занимающего в записи позиции 63—74;

  3. фраза TEXT LENGTH (ДЛИНА ТЕКСТА) определяет имя- данного-8 как имя данного, неявно описанного как целое из 4 цифр без знака и занимающего в записи позиции 75—78;

  4. фраза END KEY (КЛЮЧ КОНЦА) определяет имя-данно- го-9 как имя элементарного буквенно-цифрового данного из одной литеры, занимающей в записи позицию 79;

  5. фраза 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