4.4.1. Назначение
Оператор OPEN (ОТКРЫТЬ) подготавливает файл к обработке.
4.4.2. Общий формат
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 (ОТКРЫТЬ) делает область записи доступной программе. Если определитель файла, связанный с именем файла, является внешним, то существует единственная область записи, связанная с определителем, для единицы исполнения.
(3) Если файл не открыт, не может быть выполнен ни один оператор, явно или неявно относящийся к файлу, за исключением оператора MERGE (СЛИТЬ) с фразами USING (ИСПОЛЬЗУЯ) и GIVING (ПОЛУЧАЯ), оператора OPEN (ОТКРЫТЬ) или оператора SORT (СОРТИРОВАТЬ) с фразами USING (ИСПОЛЬЗУЯ) и GIVING (ПОЛУЧАЯ).
(4) Оператор OPEN (ОТКРЫТЬ) должен быть успешно выполнен перед выполнением любого другого допустимого оператора ввода-вывода.
В табл.2 x означает, что указанный оператор, используемый при указанном в строке методе доступа, может использоваться в режиме открытия, заданном в заголовке столбца.
Таблица 2
Метод доступа | Оператор | Режим открытия | |||
для ввода | для вывода | для ввода-вывода | для допол- | ||
Последовательный | READ (ЧИТАТЬ) | x | x | ||
WRITE (ПИСАТЬ) | x | x | |||
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 | x | |||
DELETE (УДАЛИТЬ) | х |