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

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

     4.9. Оператор WRITE (ПИСАТЬ)

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

Оператор WRITE (ПИСАТЬ) включает логическую запись в выходной или входной-выходной файл.

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

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

(1) Имя-записи-1 и идентификатор-1 не должны относиться к одной и той же области памяти.

(2) Имя-записи-1 является именем логической записи в секции файлов раздела данных и может быть уточнено.

(3) Фраза INVALID KEY (ПРИ ОШИБКЕ КЛЮЧА) должна указываться в операторе WRITE (ПИСАТЬ) для файлов, для которых не определена соответствующая процедура USE AFTER STANDARD EXCEPTION (ИСПОЛЬЗОВАТЬ ПОСЛЕ СТАНДАРТНОЙ ПРОЦЕДУРЫ ОШИБКИ).

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

(1) Файл, указанный именем-файла, связанным с именем-записи-1, должен быть открыт как OUTPUT (ВЫХОДНОЙ) ко времени выполнения этого оператора (см. п.4.4 настоящей части).

          

(3) Результат выполнения оператора WRITE (ПИСАТЬ) с фразой FROM (ИЗ ПОЛЯ) эквивалентен выполнению следующих операторов в указанном порядке:

а) оператор

MOVE идентификатор-1 ТО имя-записи-1

ПОМЕСТИТЬ идентификатор-1 В имя-записи-1

соответственно правилам, специфицированным в операторе MOVE (ПОМЕСТИТЬ);

б) тот же оператор WRITE (ПИСАТЬ) без фразы FROM (ИЗ ПОЛЯ).

(4) После завершения выполнения оператора WRITE (ПИСАТЬ) информация в области, указанной идентификатором-1, остается доступной, даже если информация в области, указанной именем-записи-1, не является доступной, за исключением случая, определяемого фразой SAME RECORD AREA (ОБЩАЯ ОБЛАСТЬ ЗАПИСИ).

(5) Выполнение оператора WRITE (ПИСАТЬ) не влияет на указатель позиции файла.

(6) Выполнение оператора WRITE (ПИСАТЬ) вызывает обновление состояния ввода-вывода имени-файла, связанного с именем-записи-1 (см. п.1.3.4 настоящей части).

(7) При выполнении оператора WRITE (ПИСАТЬ) логическая запись передается операционной системе.

(8) Количество позиций литер в записи, указанной именем-записи-1, не должно быть больше наибольшего или меньше наименьшего числа литер, допустимого фразой RECORD IS VARYING (В ЗАПИСИ ПЕРЕМЕННОЕ ЧИСЛО ЛИТЕР), связанной с именем-файла, связанного с именем-записи-1. В любом случае выполнение оператора WRITE (ПИСАТЬ) неуспешно, операция записи не производится, содержимое области записи не меняется, и состояние ввода-вывода файла, связанного с именем-записи-1, принимает значение, указывающее на причину возникновения условия (см. п.1.3.4 настоящей части).


(9) Если во время выполнения оператора WRITE (ПИСАТЬ) с фразой NOT INVALID KEY (БЕЗ ОШИБКИ КЛЮЧА) не наступает условие ошибки ключа, то управление передается повелительному-оператору-2 следующим образом:

а) если выполнение оператора WRITE (ПИСАТЬ) успешно, то управление передается после того, как запись записана, и после изменения состояния ввода-вывода имени-файла, связанного с именем-записи-1;