і (67) Том (volume). Размер тома определяется реализацией.Оператор CALL (ВЫЗВАТЬ). Если вызываемая программа не является программой Кобола, правила формирования имени-программы определяются реализацией (см. ч. 10. п. 5.2.4, общее правило (1)).
Оператор CALL (ВЫЗВАТЬ). Ресурсы вычислительной среды времени выполнения, которые должны проверяться с целью установления доступности вызываемой программы для выполнения, определяются реализацией (ем. ч. 10. и. 5.2.4, общее правило (3)).
Оператор CALL (ВЫЗВАТЬ). 1>ли программа, заданная в операторе CALL (ВЫЗВАТЬ), не может стать доступной для выполнения в это время и фраза ON OVERFLOW (ПРИ ПЕРЕПОЛНЕНИИ) или ON EXCEPTHON (ПРИ ОШИБКЕ) не задана, все остальные действия оператора CALL (ВЫЗВАТЬ) ои- реде іяются реализацией (см. ч. 10, и. 5.2.4, общее правило (3)).
1) Оператор CALL (ВЫЗВАТЬ). Если вызываемая программа не является программой на Коболе, использование фразы USING (ИСПОЛЬЗУЯ) определяется реализацией (см. ч. 10. п. 5.2.1, общее правило (9)).
Фраза SAME SORT/SORT-MERGE AREA (ОБЩАЯ ОБЛАСТЬ COP- ТИРОВКИ/СОРТИРОВКИ-СЛИЯНИЯ). Особенности размещения не сортируемых и не сливаемых файлов определяются реализацией (см. ч. 11, п. 2.5.4, общее правило 2 б).
Структура записи файла отчетов. В генераторе отчетов структура логической записи файла, соотнесенного имени-файла-1, определяется реализацией (см. ч. 13, п. 3.2.4, общее правило (2)).
Символическое имя. Символическое имя коммуникационного терминала должно соответствовать правилам образования спстемных-имен, нозтому образование символического имени определяется реализацией (см. ч. 14, и. 2.2.4, правило (10)).
Ключ состояния коммуникации — 9х. Значение 9х ключа состояния ком- муншащни указывает на наличие условия, определяемого реализацией (см. ч і I, 11'2.1’.5).
Ключ ошибки коммуникации. Значения от А до Z ключа ошибки коммуникации указывают па условия, определяемые реализацией (см. ч 14 п. 2.2.6).
Вариант KEY'(КЛЮЧ) оператора DISABLE (ЗАПРЕТИТЬ). Пароль неграипастся в систему (см. ч 14. и 3.2.4, общее правило (7)).
Вариант KEY (КЛЮЧ) оператора ENABLE (РАЗРЕШИТЬ;. Паролі, встраивается в систему ( м. ч. I '. п. 3.3.4. общее правило (6)).
Оператор SEND (ПОСЛАТЬ) Если щпользуегся вариант мисмюшче,’- кое-н.зя, имя идентифицируется специальным средством, определяемым реализацией ( н. ч 14, и. 3.6.3, (шшашепчо кое ирашіло (1)).
ро) Оператор SEND (ПОСЛАТЬ). Если указано мнемоииче.ч: е-пм■:- і, личеры, і предаваемые па и. ммупнкацшшн >е у: тройство, пошцлшшр- ют. я пвет- ствеичо правилам, определяемым реали гишей для этого е.тпой:-?л' ( ’.•■ ч 1-І. и. 3.5 общее правило 15 в).
3 Списси эдеме:,тов языка, зависящга от оборудовали:!
Ниже пршюдиіся список элементов .языка настоящего ст-шдар:а, ашш. ящих от о ,ібсішостей компонент оборудования.
Замена двумя литерами зависит от набора литер, допустимого машиной (1 Я ДР).
Фраза об использовании USAGE IS BINARY (ДВОИЧНОЕ) зависит от наличия подходящей машинной архитектуры для двоичного формата данных (1 ЯДР).
Фраза об использовании USAGE IS PACKED-DECIMAL (ДЕСЯТИЧНОЕ) зависит от наличия подходящей машинной архитектуры для упакованного десятичного формата данных (1 ЯДР).
Если позиционирование не применимо на устройстве оборудования, опе- рацирнная система игнорирует позиционирование при выполнении оператора DISPLAY (ВЫДАТЬ) (1 ЯДР).
Фраза PADDING CHARACTER (ЛИТЕРА ЗАПОЛНИТЕЛЬ) зависит от того, применимы ли литеры заполнители к типу устройства, предназначенного файлу (2 ПОД, 1 ГОТ).
Вариант STANDARD-1 (СТАНДАРТ А) фразы RECORD DELIMITER (ОГРАНИЧИТЕЛЬ ЗАПИСИ) зависит от типа катушки, устройства (2 ПОД, I ГОТ).
Фраза MULTIPLE FILE ТАРЕ (НА ОДНОЙ КАТУШКЕ) зависит от типа катушки устройства (2 ПОД. 1 ГОТ).
Фраза CODE-SET (АЛФАВИТ) зависит от того, может ли поддерживать устройство указанный код (1 ПОД, 1 ГОТ).
Вариант REEL/UNIT (КАТУШКУ/ТОМ) оператора CLOSE (ЗАКРЫТЬ) зависит от типа (катушки или устройства массовой памяти) (1 ПОД, 1 ГОТ).
Вариант FOR REMOVAL (С УДАЛЕНИЕМ) оператора CLOSE (ЗАКРЫТЬ) зависит от типа катушки или устройства массовой памяти (2 ПОД, 1 ГОТ).
Вариант WITH NO REWIND (БЕЗ ПЕРЕМОТКИ) оператора CLOSE (ЗАКРЫТЬ) зависит от типа катушки или типа устройства массовой памяти (2 ПОД, 1 ГОТ).
Оператор DELETE (УДАЛИТЬ) зависит от устройства массовой памяти (1 ОТД, 1 ИПД).
Вариант 1-0 (ВХОДНОИ-ВЫХОДНОЙ) оператора OPEN (ОТКРЫТЬ) зависит от типа устройства массовой памяти (1 ПОД, 1 ОТД, 1. ИПД).
Вариант REVERSED (РЕВЕРСНО) оператора OPEN (ОТКРЫТЬ) зависит от типа катушки или устройства массовой памяти, имеющих возможность обеспечивать доступ к записям в обратном порядке (2 ПОД).
Вариант WITH NO REWIND (БЕЗ ПЕРЕМОТКИ) оператора OPEN (ОТКРЫТЬ) зависит от типа катушки или устройства массовой памяти (2 ПОД, 1 ГОТ).
Вариант EXTEND (ДОПОЛНЯЕМЫЙ) оператора OPEN (ОТКРЫТЬ) зависит от типа катушки или устройства массовой памяти (2 ПОД, 2 ОТД, 2 ИПД, 1 ГОТ).
Оператор REWRITE (ОБНОВИТЬ) зависит от типа устройства массовой памяти (1 ПОД, 1 ОТД, 1 ИПД).
Вариант 1-0 (ВХОДНЫХ-ВЫХОДНЫХ) оператора USE (ИСПОЛЬЗОВАТЬ) зависит от типа устройства массовой памяти (I ПОД, 1 ОТД, 1 ИПД).
Вариант BEFORE/AFTER (ДО/ПОСЛЕ) оператора WRITE (ПИСАТЬ) зависит от возможности вертикального позиционирования устройства или от действия, базирующегося на мпемоническом-имени (1 ПОД).
Вариант BEFORE/AFTER ADVANCING (ДО/ПОСЛЕ ПРОДВИЖЕНИЯ) оператора SEND (ПОСЛАТЬ) зависит от возможности вертикального позиционирования устройства или от действия, базирующегося на мнемоническом- имепи (1 КОМ).
4. Список неопределенных элементов языка
Ниже приводится список не определенных явно элементов языка настоящего стандарта.
Явные и неявные передачи управления. Когда нет следующего выполнимого оператора и управление не передается за пределы Кобол-программы, передача управления в программе не определена, если только выполнение программы не происходит в недекларативной части процедур программы, вызванной оператором CALL (ВЫЗВАТЬ), где выполняется неявный оператор EXIT PROGRAM (ВЫЙТИ ИЗ ПРОГРАММЫ) (см. ч. 4, п. 4.4.2),
Начальные значения данных. ■ Начальное значение любого индексного данного или данного, не связанного с фразой VALUE (ЗНАЧЕНИЕ), не определено (см. ч. 6, п. 5.2.4).
Вариант DEPENDING ON (В ЗАВИСИМОСТИ ОТ) фразы OCCURS (ПОВТОРЯЕТСЯ). Значения данных, номера вхождений которых превышают значение данного, на которое ссылается имя-данного-1, не определены (см, ч. 6, п. 5.8.4, общее правило 2 6).
Фраза VALUE (ЗНАЧЕНИЕ) в секции файлов. Начальные значения данных в секции файлов не определено (см. ч. 6, п. 2.15.6, правило 1 а).
Фраза VALUE (ЗНАЧЕНИЕ) в секции рабочей памяти и секции коммуникаций. Если фраза VALUE (ЗНАЧЕНИЕ) не указана для данного в секции рабочей памяти или в секции коммуникаций, значение этого данного не определено (см. ч. 6, п. 5.15.6, правило 1 в).
Вариант ON SIZE ERROR (ПРИ ПЕРЕПОЛНЕНИИ). Если фраза ON SIZE ERROR (ПРИ ПЕРЕПОЛНЕНИИ) не задана и во время выполнения арифметической операции в арифметическом операторе возникает условие переполнения, значения результирующих идентификаторов не определены (см, ч. 6, п. 6.4.2).
Перекрывающиеся операнды. Если посылаемое и принимающее данное в любом операторе имеют общую часть или всю область памяти, то даже если они не определены в одной статье описания данного, результат выполнения такого оператора не определен (см. ч. 6, п. 6.4.5).
Несовместимые данные. Если значения данных, к которым происходит обращение в разделе процедур, не соответствуют классу, определенному при описании этих данных с фразой PICTURE (ШАБЛОН), результат обращения не определен. Исключение составляет условие класса (см. ч. 6, п. 6.4.7).
Оператор SEARCH ALL (ИСКАТЬ ОСОБО). В операторе SEARCH ALL (ИСКАТЬ ОСОБО) результат операции поиска предсказуем только в следующих случаях: (а) данные в таблице упорядочены так же, как это описано в варианте KEY IS (ПО ВОЗРАСТАНИЮ/УБЫВАНИЮ КЛЮЧА) фразы OCCURS (ПОВТОРЯЕТСЯ), связанном с идентификатором-1 и (б) значения ключа (ключей), упомянутого во фразе WHEN (КОГДА), достаточны, чтобы однозначно идентифицировать элемент таблицы (см. ч. 6, п. 6.22.4, общее правило (3)).
Оператор SEARCH ALL (ИСКАТЬ ОСОБО). Если для каждой установки индекса в разрешенном интервале ни одно условие, задаваемое во фразе WHEN (КОГДА), не может быть удовлетворено, то управление передается по- велительному-оператору-1 фразы AT END (В КОНЦЕ), если она указана, или на конец оператора SEARCH (ИСКАТЬ), если эта фраза не указана. В любом случае конечная установка индекса не определена (см. ч. 6, п. 6.22.4, общее правило (4)).
Оператор CLOSE (ЗАКРЫТЬ). Действия оператора CLOSE (ЗАКРЫТЬ) не определены, если метки специфицированы, но в файле отсутствуют, или когда они не специфицированы, но присутствуют (см. ч. 7, п, 4.2.4, общее правило ЗВ; ч. 8; ч. 9, п. 4.2,4, общее правило 2А; ч. 13, п. 4.2.4, общее правило ЗВ).
Оператор CLOSE (ЗАКРЫТЬ), В случае неуспешного выполнения оператора CLOSE (ЗАКРЫТЬ) доступность области записи не определена (см. ч. 7, п. 4.2.4, общее правило (6); ч. 8 и 9, п. 4.2.4, общее правило (5)).
Оператор OPEN (ОТКРЫТЬ). Действия оператора OPEN (ОТКРЫТЬ) не определены, когда метки специфицированы, но отсутствуют, или не специфицированы, но присутствуют (см. ч. 7, п. 4.3.4, общее правило (7); ч. 8 и 9, п. 4.4.'$, общее правило (7); ч. 13, п. 4.5.4, общее правило (5)).
Оператор READ (ЧИТАТЬ). По завершении оператора READ (ЧИТАТЬ) значения всех данных, находящихся вне диапазона текущей записи данных, не определены (см. ч. 7, п. 4.4.4, общее правило (6); ч. 8 и 9, п. 4.5.4, общее правило (6)).
Оператор READ (ЧИТАТЬ). После неуспешного выполнения оператора READ (ЧИТАТЬ) содержимое соответствующей области записи не определено; для индексных файлов ключ ссылки также не определен (см. ч. 7, п. 4.4.4, общее правило (12); ч. 8 и 9, п. 4.5.4, общее правило (12)).
Оператор START (ПОДВЕСТИ). После неуспешного выполнения оператора START (ПОДВЕСТИ) для индексного файла ключ ссылки для этого файла не определен (см. ч. 9, п. 4.7.4, общее правило (8)).
Оператор WRITE (ПИСАТЬ) (последовательный-файл). Если деклара- тива USE AFTER STANDARD EXCEPTION (ИСПОЛЬЗОВАТЬ ПОСЛЕ ПРОЦЕДУРЫ ОШИБКИ) не специфицирована явно или неявно для имени-файла, связанного с именем-записи-1, результат не определен при попытке записать запись за внешне определенными границами файла (сМ. ч. 7, п. 4.7.4, общее правило 13 в).
Вариант ADVANCING (ПРОДВИЖЕНИЯ) оператора WRITE (ПИСАТЬ). Если значение данного, указанного идентификатором-2, отрицательно, при использовании варианта ADVANCING (ПРОДВИЖЕНИЯ) результат не определен (см. ч. 17, п. 4.7.4, общее правило 15 6).
Оператор CALL (ВЫЗВАТЬ) для программ, записанных не на Коболе. Оператор CALL (ВЫЗВАТЬ) может использоваться для вызова программ, записанных в языке, отличном от Кобола, но механизм возврата и передачи межпрограммных данных в настоящем документе не определяются (см. ч. 2, п. 6.4.1).
Секция связи. Если к данному секции связи обращаются в программе, которая не является вызываемой, результат не определен (см. ч. 10, п. 4.1).
Оператор MERGE (СЛИТЬ). Если записи файлов, представленных име- нем-файла-2 и именем-файла-3, не упорядочены в соответствии с фразами ASCENDING (ПО ВОЗРАСТАНИЮ КЛЮЧА) или DESCENDING (ПО УБЫВАНИЮ КЛЮЧА) оператора MERGE (СЛИТЬ), результат слияния не определен (см. ч. 11, п. 4.1.4, общее правило (6)).
Оператор RETURN (ВЕРНУТЬ). При возникновении условия «в конце» выполнение оператора RETURN (ВЕРНУТЬ) считается неуспешным и содержимое области записи, соответствующей имени-файла-1, не определено (см. ч. 11, п. 4.3.4, общее правило (2)).
Оператор SORT (СОРТИРОВАТЬ). Если фраза DUPLICATES (С ДУБЛИРОВАНИЕМ) не указана и содержимое всех ключей, связанных с одной записью данных, равно содержимому соответствующих ключей, связанных с одной или несколькими другими записями данных, то порядок возвращения этих записей ле определен (см. ч. 11, п. 4.4.4, общее правило (4)).
Оператор SORT (СОРТИРОВАТЬ). Для файла с относительной организацией, указанного именем-файла-2 во фразе GIVING (ПОЛУЧАЯ), значение данного, являющегося относительным ключом, после выполнения оператора SORT (СОРТИРОВАТЬ) не определено (см. ч. 11, п. 4.4.4, общее правило 9 6).
Статья описания коммуникации. Если система управления сообщениями делает попытку диспетчировать программу, не имеющую фразу INITIAL (НАЧАЛЬНАЯ), результаты не определены (см. ч. 14, п. 2.2.4. общее правило (7)).
Оператор SEND (ПОСЛАТЬ). При наличии в значении идентификатора-1 специальных символов управления результат выполнения оператора не определен (см. ч. 14, п. 3.6.4, общее правило (5)).Оператор SEND (ПОСЛАТЬ). Во время выполнения единицы исполнения расположение части сообщения, которая не заканчивается ЕМ1 (ИКЩ) или EG1 (ИКГ), или не уничтожена выполнением оператора PURGE (ОЧИСТИТЬ), не определено (см. ч. 14, п. 3.6.4, общее правило (7)).
Оператор SEND (ПОСЛАТЬ). Если значение данного, указанного идентификатором-3, отрицательно, результат не определен (см. ч. 14, п. 3.6.4, общее правило 15 6).
ИНФОРМАЦИОННЫЕ ДАННЫЕ
РАЗРАБОТАН И ВНЕСЕН Академией наук УССР
РАЗРАБОТЧИКИ
Е. Л. Ющенко, член-корр. АН УССР (руководитель темы); Л. П. Бабенко, канд. физ.-мат. наук; Г. А. Карпенко; Н. К. Ли- щитович; Л. А. Мельник; М. Р. Тарановский; Г. В. Пеледов; А. С. Марков; А. А. Севастюк; Л. М. Романовская; Л. К. За- гузова
УТВЕРЖДЕН И ВВЕДЕН В ДЕЙСТВИЕ Постановлением Государственного комитета СССР по стандартам от 20.12.89 № 3894
Срок первой проверки 1996 г.; периодичность проверки — 5 лет.
Стандарт полностью соответствует СТ СЭВ 6184—88
Стандарт полностью соответствует международному стандарту ИСО 1989—85
ВЗАМЕН ГОСТ 22558—77
ССЫЛОЧНЫЕ НОРМАТИВНО-ТЕХНИЧЕСКИЕ ДОКУМЕНТЫ
О
Приложение 1
Номер приложения
бозначение НТД, на которыйГОСТ 22558—77
СОДЕРЖАНИЕ
Объектная программа Кобола .90
Связь программы на Коболе с системой управления сообщениями и коммуникационными устройствами 90
Понятие сообщений и сегментов сообщения ..... 93
Понятие очередей 94
Понятие коммуникации транзакций 97