Перейти до вмісту
ГОСТ 22558-89
/ 116

Условие «в конце»

Условие «в конце» может возникнуть в результате выполнения оператора READ (ЧИТАТЬ) (п. 4.5 настоящей части).

У с л о в и е противоречия свойств файла

Условие противоречия свойств файла может возникнуть в ре­зультате выполнения операторов OPEN (ОТКРЫТЬ), REWRITE (ОБНОВИТЬ) или WRITE (ПИСАТЬ). При возникновении усло­вия ппотиворечия свойств файла выполнение оператора ввода-вы

­

вода, который обнаружил это условие, считается неуспешным и файл не изменяется (пп. 4.4, 4.6, 4.9 настоящей части).

При обнаружении условия противоречия свойств файла выпол­няются следующие действия в указанном ниже порядке:

в состояние ввода-вывода, связанное с именем-файла, поме­щается значение, указывающее на условие противоречия свойств файла (см. п. 1.3.4 настоящей части);

если для данного имени файла задана процедура USE AFTER EXCEPTION (ИСПОЛЬЗОВАТЬ ПОСЛЕ ПРОЦЕДУРЫ ОШИБКИ), выполняется указанная процедура.

2. РАЗДЕЛ ОБОРУДОВАНИЯ В МОДУЛЕ ИНДЕКСНОГО ВВОДА-ВЫВОДА

Секция ввода-вывода

Информация, относящаяся к секции ввода-вывода, находится в ч. 7, п. 2.1.

Параграф FILE-CONTROL (УПРАВЛ ЕНИЕ-ФАЙЛАМИ)

Информация о параграфе FILE-CONTROL (УПРАВЛЕНИЕ- ФАИ Л АМИ) находится в ч. 7, п. 2.2.

Статья управления файлом

Назначение

Статья управления файлом объявляет существенные физические свойства индексного файла.

Общий формат

SELECT і [OPTIONAL]" имя-файла-1

ASSIGN ТО ( имя-реализации-1 1

(литерал-1 J

[RESERVE целое і ]

гх 1\ -С/х О

[ INDEXED

SEQUENTIAL RANDOM

DYNAMIC


ORGANIZATIO
N IS]

ACCESS MODE IS

RECORD KEY IS имя-данного-1

[ALTERNATE RECORD KEY IS имя-данного-2 [WITH DUPLICATES]] ...

[FILE STATUS IS имїьданного-3].

ДЛЯ [НЕОБЯЗАТЕЛЬНОГО] имя-файла-1

НАЗНАЧИТЬ І имя-реализации-1 1

[ литер ал-1 J

[РЕЗЕРВИРОВАТЬ целое-1 ОБЛАСТЕЙ]

[ОРГАНИЗАЦИЯ] ИНДЕКСНАЯ

ПОСЛЕДОВАТЕЛЬНЫЙ

П [ДОСТУП

РОИЗВОЛЬНЫЙ

ДИНАМИЧЕСКИЙ I

КЛЮЧ ЗАПИСИ имя-данного-1

[ДОПОЛНИТЕЛЬНЫЙ КЛЮЧ ЗАПИСИ имя-данного-2

[С ДУБЛИРОВАНИЕМ]] ...

, [СОСТОЯНИЕ ФАЙЛА имя-данного-3].

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

В статье управления файлом фраза SELECT (ДЛЯ) долж­на указываться первой. Фразы, которые следуют за фразой SE­LECT (ДЛЯ), могут появляться в любом порядке.

Каждое имя-файла из раздела данных должно быть опре­делено в параграфе FILE-CONTROL (УПРАВЛЕНИЕ-ФАЙЛА- МИ) только один раз. Каждое имя-файла, указанное в фразе SE­LECT (ДЛЯ), должно иметь статью описания файла в разделе данных той же самой программы.

Литерал-1 должен быть нечисловым литералом и не должен быть стандартной константой. Значение и правила для допустимо­го содержимого имени-реализации-1 и значения литерала-1 опре­деляются реализацией.

2.3.4.0 6 щ и е правила

Если определитель файла, на который ссылается имя-фай­ла-1, является внешним определителем файла (ч. 10, п. 4.5), все статьи управления файлом в единице исполнения, которые ссыла­ются на этот определитель файла, должны иметь:

одну и ту же спецификацию фразы OPTIONAL (НЕОБЯ­ЗАТЕЛЬНОГО);

корректную спецификацию для имени-реализации-1 или ли­терала-1 во фразе ASSIGN (НАЗНАЧИТЬ). Правила корректнос­ти имени-реализации-1 и литер ала-1 определяются реализацией;

одно и то же значение целого-1 во фразе RESERVE (РЕ­ЗЕРВИРОВАТЬ)^

одну и ту же организацию;

один и тот же метод доступа.

ту же статью описания данных для имени-данного-1 с тем же относительным размещением в соответствующей записи;

ту же статью описания данных для имени-данного-2, то же относительное размещение в соответствующей записи, то же число дополнительных ключей записи и ту же фразу DUPLICATES (С -ДУБЛИРОВАНИЕМ).

Для данных внешней среды принимается внутренний набор литер.

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

Фраза OPTIONAL (НЕОБЯЗАТЕЛЬНОГО) применима только к файлам, открытым в режиме ввода, ввода-вывода или дополнения. Ее указание требуется для файлов, которые могут отсутствовать во время выполнения объектной программы.

Фраза ASSIGN (НАЗНАЧИТЬ) задает связь между фай­лом, на который ссылается имя-файла-1, и запоминающей средой, на которую ссылается имя-реализации-1 или литер ал-1.

Фраза RESERVE (РЕЗЕРВИРОВАТЬ) для модуля ин­дексного ввода-вывода та же, что и для модуля последователь­ного ввода-вывода. Описание фразы RESERVE (РЕЗЕРВИРО­ВАТЬ) находится в ч. 7, п. 2.9).

Фраза FILE STATUS (СОСТОЯНИЕ ФАЙЛА) для модуля индексного ввода-вывода та же, что и для модуля последователь­ного ввода-вывода. Описание фразы FILE STATUS (СОСТОЯ­НИЕ ФАЙЛА) находится в ч. 7, п. 2.5. Содержимое данного, свя­занного с фразой FILE STATUS .(СОСТОЯНИЕ ФАЙЛА) индекс­ного файла, определяется в п. 1.3.4 настоящей части.

Далее представлены фразы ACCESS MODE (ДОСТУП), [Al7iWJXTE^E^dTDl<ETTA~0lT0nHHTEnbHbIH’K^ra4'3A-| [ПИСИ),I ORGANIZATION IS INDEXED (ОРГАНИЗАЦИЯ ИН­ДЕКСНАЯ), RECORD KEY (КЛЮЧ ЗАПИСИ),

Фраза ACCESS MODE (ДОСТУП)

Назначение

Фраза ACCESS MODE (ДОСТУП) задает порядок, в котором осуществляется доступ к записям в файле.

Общий формат

S ACCESS MODE IS

EQUENTIAL RANDOM

DYNAMIC

П ДОСТУП

ОСЛЕДОВАТЕЛЬНЫЙ ПРОИЗВОЛЬНЫЙ [динамический

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

Фраза ACCESS MODE IS RANDOM (ДОСТУП ПРОИЗ­ВОЛЬНЫЙ) не должна употребляться для имен-файлов, указан- •ных во фразах USING (ИСПОЛЬЗУЯ) или GIVING (ПОЛУЧАЯ) операторов SORT (СОРТИРОВАТЬ) и MERGE (СЛИТЬ).

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

Если фраза ACCESS MODE (ДОСТУП) не задана, предпо­лагается последовательный доступ.

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

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

Если доступ динамический, доступ к записям файла мо­жет быть последовательным и (или) произвольным.

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

Фраза ALTERNATE RECORD KEY (ДОПОЛНИТЕЛЬ­НЫЙ КЛЮЧ ЗАПИСИ)

Назначение

Фраза ALTERNATE RECORD KEY (ДОПОЛНИТЕЛЬ­НЫЙ КЛЮЧ ЗАПИСИ) указывает путь доступа к записям ин­дексного файла по дополнительному ключу записи.

Общий формат

ALTERNATE RECORD KEY IS имя-данного-1 [WITH DUPLICATES]

ДОПОЛНИТЕЛЬНЫЙ КЛЮЧ ЗАПИСИ имя-данного-1 ТСЦУБЛИРОВАНИЕМТ

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

Имя-данного-1 может уточняться.

Имя-данного-1 должно определяться как буквенно­цифровое данное в статье описание записи, соответствующей имени-файла, которой подчинена фраза ALTERNATE RECORD KEY (ДОПОЛНИТЕЛЬНЫЙ КЛЮЧ ЗАПИСИ).

Имя-данного-1 не должно относиться к групповому дан­ному, содержащему переменно повторяющееся данное.

Имя-данного-1 не должно относиться к данному, самая левая позиция литеры которого соответствует самой левой пози­ции литеры основного ключа записи или других дополнительных ключей записи, связанных с этим файлом.

Если индексный файл содержит записи переменной дли­ны, каждый дополнительный ключ записи должен содержаться в первых х позициях литер записи, где х равно минимальному размеру записи, определенному для файла (см. ч. 7, п. 3.8).

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

Фраза ALTERNATE RECORD KEY (ДОПОЛНИТЕЛЬ­НЫЙ КЛЮЧ ЗАПИСИ) указывает дополнительный ключ запи­си для файла, к которому относится эта фраза.

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

Фраза WITH DUPLICATES (С ДУБЛИРОВАНИЕМ) указывает, что значение дополнительного ключа записи может дублироваться в некоторых записях файла. Если фраза WITH DUPLICATES (С ДУБЛИРОВАНИЕМ) не указана, значение дополнительного ключа записи не может дублироваться в запи­сях файла.

Если файл имеет несколько статей описания записи, дос­таточно описать имя-данного-1 в одной из этих статей описания записи. На идентичные позиции литер, представленные именем- данного-1 в какой-либо статье описания записи, неявно ссыла­ются ключи для остальных статей описания записи этого файла.

Если соответствующий определитель файла является внешним определителем файла, каждая статья управления фай­лом в единице исполнения, соответствующая этому определи­телю файла, должна определять ту же статью описания данных для имени-данного-1, то же относительное размещение внутри соответствующей записи, то же количество дополнительных клю­чей записи и ту же фразу WITH DUPLICATES (С ДУБЛИРО­ВАНИЕМ).

26. Фраза ORGANIZATION IS INDEXED (ОРГАНИЗАЦИЯ ИНДЕКСНАЯ)

Назначение

Фраза ORGANIZATION IS INDEXED (ОРГАНИЗАЦИЯ ИН­ДЕКСНАЯ) указывает, что логической структурой файла является индексная организация.

Общий формат

[ORGANIZATION IS] INDEXED

[ОРГАНИЗАЦИЯ] ИНДЕКСНАЯ

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

Фраза ORGANIZATION IS INDEXED (ОРГАНИЗАЦИЯ ИНДЕКСНАЯ) указывает, что логической структурой файла яв­ляется индексная организация. Организация файла устанавли­вается во время создания файла и не может быть изменена в даль­нейшем.

Индексная организация это постоянная логическая струк­тура файла, в которой каждая запись идентифицируется значением одного или более ключей в этой записи.

Фпаза RECORD KEY (КЛЮЧ ЗАПИСИ)

Назначение

Фраза RECORD KEY (КЛЮЧ ЗАПИСИ) указывает путь досту­па по основному ключу записи к записям в индексном файле.

О б щ и й формат

RECORD KEY IS имя-данного-1

КЛЮЧ ЗАПИСИ имя-данного-1

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

Имя-данного-1 может уточняться.

Имя-данного-1 должно ссылаться на данное буквенно-циф­ровой категории в статье описания записи, связанной с именем- файла, которому подчинена фраза RECORD KEY (КЛЮЧ ЗАПИ­СИ).

Имя-данного-1 не должно относиться к групповому данно­му, содержащему переменно повторяющееся данное.

Если индексный файл содержит записи переменной дли­ны, основной ключ записи должен содержаться в первых х пози­циях литеры записи, где х равняется минимальному размеру за­писи, указанному для файла (см. ч. 7, п. 3.8).

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

Фраза RECORD KEY (КЛЮЧ ЗАПИСИ) указывает ос­новной ключ записи для файла, к которому относится фраза. Зна­чения основного ключа записи должны быть уникальными в запи­сях файла.

Описание данного, соотнесенного имени-данного-1, так же как и его относительное местонахождение в записи, должно быть таким же, какое использовалось при создании файла.

Если для файла имеется более одной статьи описания запи­си, имя-да иного-1 может быть только в одной из этих статей опи­сания записи. Идентичные позиции литер, соотнесенные имени-дан­ного-1, в любой другой статье описания записи неявно считаются ключами для всех остальных статей описания записи этого файла.

Если соответствующий файлу определитель файла являет­ся внешним определителем, все статьи описания файла в единице исполнения, связанные с этим определителем файла, должны ука­зывать одну и ту же статью описания данного для имени-данного-1 с одним и тем же относительным местоположением в соответствую­щей записи.

Параграф I-O-CONTROL (УПРАВЛЕНИЕ ВВОДОМ ВЫ­ВОДОМ)

Назначение

Параграф I-O-CONTROL (УПРАВЛЕНИЕ-ВВОДОМ-ВЫВО- ДОМ) указывает контрольные точки для перепрогона, а также об­щие области памяти, которые могут совместно использоваться раз­личными файлами. Фраза RERUN (ПЕРЕПРОГОН) параграфа I-O-CONTROL (УПРАВЛЕНИЕ-ВВОДОМ-ВЫВОДОМ) рассмат­ривается в настоящем стандарте как устаревший элемент и будет удалена в следующей редакции стандарта.

Общий формат

I-O-CONTROL.

RERUN ON Г имяайла1‘ I EVERY - [ имя-реализации-1 J

( целое-1 RECORDS OF имя-файла-2

' целое-2 CLOCK-UNITS

[ имя-условия-1

[SAME [RECORD] AREA FOR имя-файла-3

{имя-файла-4}...]...]

УПРАВЛЕНИЕ-ВВОДОМ-ВЫВОДОМ.

[ [ПЕРЕПРОГОН

НА (имя-файла-1 1

— [ имя-реализации-1 J

КАЖДЫЕ целое-1 ЗАПИСЕЙ имя-файла-2

КАЖДЫЕ целое-2 ЕДИНИЦ-ВРЕМЕНИ

КАЖДОЕ имя-условия-1

[ОБЩАЯ ОБЛАСТЬ [ЗАПИСИ] ДЛЯ имя-файл а-3 {имя-файла-4}...]....]

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

Фраза RERUN (ПЕРЕПРОГОН) для модуля индексного ввода-вывода является подмножеством фразы RERUN (ПЕРЕ­ПРОГОН) для модуля последовательного ввода-вывода. Поэтому спецификации фразы RERUN (ПЕРЕПРОГОН) см. ч. 7, п. 2.12.

Фраза SAME (ОБЩАЯ ОБЛАСТЬ) для модуля индексного ввода-вывода такая же, как и фраза SAME (ОБЩАЯ ОБЛАСТЬ) для модуля последовательного ввода-вывода. Поэтому соответст­вующие спецификации см. ч. 7, п. 2.13.

РАЗДЕЛ ДАННЫХ В МОДУЛЕ ИНДЕКСНОГО ВВОДА-ВЫВОДА

Секция файлов

Информацию о секции файлов см. в ч. 7, п. 3.1.

Статья описания файла

Назначение

Статья описания файла содержит применимую к индексному файлу информацию о физической структуре, идентификации и име­нах записей.

О б щ и й формат

F RECORDS ]

CHARACTERSf

D имя-файла-1

BLOCK CONTAINS [целое-1 ТО] |целое-2

' CONTAINS целое-3 CHARACTERS

I RECORDj

..

S VARYING IN SIZE [ [FROM целое-4] [TO целое-5] CHARACTERS] [DEPENDING ON имя-данного-1]

CONTAINS целое-6 TO целое-7 CHARACTERS

T (RECORD IS 1(STANDARD 1 j LA--L j RECORDS ARE J ( OMITTED j j

VALUE OF {имя-реализации-1 IS { имя-данного-2 k 1 r [литерал-1 rrA.^.. [ RECORD IS ] , ,

[DATA j RECQRDS ARE J {имя-данного-3}... ].

имя-данного-2 литерал-1


имя-реализации-1


I ЗНАЧЕНИЕ [ЗНАЧ


(СТАНДАРТНЫ 1

I ОПУЩЕНЫ /


МЕТКИ


ПЕРЕМЕННОЕ ЧИСЛО [[ОТ целое-4]

I [ДО целое-5] ЛИТЕР]

[В ЗАВИСИМОСТИ ОТ имя-данного-1]

ОТ целое-6 ДО целое-7 ЛИТЕР


[В ЗАПИСИ


целое-3 ЛИТЕР


ЗАПИСЕЙ

ЛИТЕР


[В БЛОКЕ [ОТ целое-1 ДО] целое-2


ОФ имя-файла-1

[ЗАПИСИ ДАННЫХ {имя-данного-3} ... ].

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

Индикатор уровня FD (ОФ) идентифицирует начало статьи описания файла и должен предшествовать имени-файла-1.

Фразы, которые следуют за именем-файла-1, могут зада­ваться в любом порядке.

Одна или несколько статей описания записи должны следо­вать за статьей описания файла.

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

Статья описания файла связывает имя-файла-1 с определи­телем файла.

Фраза BLOCK CONTAINS (В БЛОКЕ) для модуля индек­сного ввода-вывода такая же, как и фраза BLOCK CONTAINS (В БЛОКЕ) для модуля последовательного ввода-вывода. Поэтому спецификации фразы BLOCK CONTAINS (В БЛОКЕ) см. ч. 7, п. 3.3.

Побачили розбіжність з офіційним текстом?

Повідомити про неточність

Напишіть, що саме розходиться з офіційною публікацією. Код документа вкажіть у повідомленні — так ми швидше знайдемо потрібне місце.

Перейти до форми зворотного зв'язку

Дивіться також

Весь розділ →