Статус документа
Статус документа

ГОСТ 22558-89 (СТ СЭВ 6184-88, ИСО 1989-85) Язык программирования Кобол. Части 8-17

     4.4. Оператор OPEN (ОТКРЫТЬ)

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

Оператор OPEN (ОТКРЫТЬ) подготавливает файл к обработке.

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

________________

* Нумерация соответствует оригиналу. - Примечание изготовителя базы данных.          

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

(1) Фраза EXTEND (ДОПОЛНЯЕМЫЙ) должна использоваться только для файлов с последовательным доступом.


(2) Файлы, перечисленные в операторе OPEN (ОТКРЫТЬ), могут иметь различную организацию и доступ.

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

(1) Успешное выполнение оператора OPEN (ОТКРЫТЬ) делает файл доступным для обработки и файл находится в режиме открытия. Успешное выполнение оператора OPEN (ОТКРЫТЬ) связывает файл с именем-файла посредством определителя файла.

Файл доступен, если он физически имеется в наличии и распознан системой управления вводом-выводом.

В табл.1 показаны результаты открытия доступных и недоступных файлов.

Таблица 1

Фраза оператора

Файл доступен

Файл недоступен

INPUT (ВХОДНОЙ)

Нормальное открытие

Открытие неуспешное

INPUT (ВХОДНОЙ) (необязательный файл)

Нормальное открытие

Нормальное открытие; при первом чтении возникает условие конца или условие ошибки ключа

I-O (ВХОДНОЙ-ВЫХОДНОЙ)

Нормальное открытие

Открытие неуспешное

I-O (ВХОДНОЙ-ВЫХОДНОЙ) (необязательный файл)

Нормальное открытие

Открытие приводит к созданию файла

OUTPUT (ВЫХОДНОЙ)

Нормальное открытие; файл не содержит записей

Открытие приводит к созданию файла

EXTEND (ДОПОЛНЯЕМЫЙ)

Нормальное открытие

Открытие неуспешное

EXTEND (ДОПОЛНЯЕМЫЙ) (необязательный файл)

Нормальное открытие

Открытие приводит к созданию файла



(2) Успешное выполнение оператора OPEN (ОТКРЫТЬ) делает область записи доступной программе. Если определитель файла, связанный с именем файла, является внешним, то существует единственная область записи, связанная с определителем файла для единицы исполнения.

(1) Если файл не открыт, не может быть выполнен ни один оператор, явно или неявно относящийся к файлу, за исключением оператора MERGE (СЛИТЬ) с фразами USING (ИСПОЛЬЗУЯ) и GIVING (ПОЛУЧАЯ), оператора OPEN (ОТКРЫТЬ) или оператора SORT (СОРТИРОВАТЬ) с фразами USING (ИСПОЛЬЗУЯ) и GIVING (ПОЛУЧАЯ).

(4) Оператор OPEN (ОТКРЫТЬ) должен быть успешно выполнен перед выполнением любого другого допустимого оператора ввода-вывода. В табл.2 "х" означает, что указанный оператор, используемый при указанном в строке методе доступа, может использоваться в режиме открытия, заданном в заголовке столбца.

Таблица 2

Метод доступа файла

Оператор

режим открытия


для ввода

для вывода

для ввода-вывода

для дополнения

Последовательный

READ (ЧИТАТЬ)

х


х


WRITE (ПИСАТЬ)

х

х

REWRITE (ОБНОВИТЬ)

x

START (ПОДВЕСТИ)

x

x

DELETE (УДАЛИТЬ)

x

Произвольный

READ (ЧИТАТЬ)

x

x

WRITE (ПИСАТЬ)

x

x

REWRITE (ОБНОВИТЬ)


x

START (ПОДВЕСТИ)

DELETE (УДАЛИТЬ)

x

Динамический

READ (ЧИТАТЬ)

x

x

WRITE (ПИСАТЬ)

x

x

REWRITE (ОБНОВИТЬ)

x

START (ПОДВЕСТИ)

x

DELETE (УДАЛИТЬ)

x

                    

(5) Файл может быть  открыт с  фразами  INPUT (ВХОДНОЙ),  OUTPUT (ВЫХОДНОЙ)  и I-O (ВХОДНОЙ-ВЫХОДНОЙ) в одной и той же единице исполнения. После первоначального выполнения оператора OPEN (ОТКРЫТЬ) для файла каждому последующему выполнению оператора OPEN (ОТКРЫТЬ) для этого же файла должно предшествовать выполнение для него оператора CLOSE (ЗАКРЫТЬ) .