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

Общий формат

[USAGE IS] DISPLAY

ДЛЯ ВЫДАЧИ

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

Фраза USAGE (об использовании) может быть записана в любой статье описания данного.

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

Фраза USAGE (об использовании) для группы отчета мо­жет определять только USAGE IS DISPLAY (ДЛЯ ВЫДАЧИ).

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

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

Фраза USAGE (об использовании) указывает, в каком ви­де представлено данное в памяти машины. Это не влияет на ис­пользование данного, хотя спецификации некоторых операторов в разделе процедур могут накладывать ограничения на фразу об ис­пользовании для операндов, на которые имеются ссылки в операто­рах. Фраза USAGE (об использовании) может влиять на основа­ние системы счисления и тип представления литер данного.

Фраза USAGE IS DISPLAY (ДЛЯ ВЫДАЧИ) указывает, что формат данного является стандартным форматом данного.

Если фраза USAGE (об использовании) не указана для элементарного данного или для любой группы, к которой принад­лежит данное, предполагается неявная фраза DISPLAY (ДЛЯ ВЫ­ДАЧИ).

3 22. Фраза VALUE (ЗНАЧЕНИЕ)

Назначение

Фраза VALUE (ЗНАЧЕНИЕ) определяет значение печатаемо­го данного секции отчетов.

Общий формат VALUE IS литерал-1

(ЗНАЧЕНИЕ 1

1 4T4ALI I литерал-1

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

Числовой литерал со знаком должен соответствовать стро­ке литер шаблона числового данного со знаком.

Числовой литерал во фразе VALUE (ЗНАЧЕНИЕ) дол­жен иметь значение из диапазона значений, указанного фразой PICTURE (ШАБЛОН) и не может иметь значение, которое могло бы потребовать усечения ненулевых цифр. Нечисловой литерал во фразе VALUE (ЗНАЧЕНИЕ) данного должен не превышать раз­мер, указанный во фразе PICTURE (ШАБЛОН).

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

Фраза VALUE (ЗНАЧЕНИЕ) не должна противоречить другим фразам в описании данного или в описании иерархии дан­ного. Применяются следующие правила:

если категория данного числовая, литерал-1 во фразе VALUE (ЗНАЧЕНИЕ) должен быть числовым; . _ ■ ■

если категория данного буквенная, буквенно-цифровая, бук­венно-цифровая редактируемая или числовая редактируемая, ли­терал-1 во фразе VALUE (ЗНАЧЕНИЕ) должен быть нечисловым литералом. Литерал выравнивается в данном как если бы данное было описано как буквенно-цифровое (см. ч. 4, п. 4.3.6). Литеры редактирования во фразе PICTURE (ШАБЛОН) учитываются при определении размера данного, но не влияют на инициацию данного (см. ч. 6, п. 5.9). Поэтому значение для редактируемого данного должно быть указано в отредактированной форме;

на инициацию не влияют фразы BLANK WHEN ZERO (ПРОБЕЛ КОГДА НУЛЬ) или JUSTIFIED (СДВИНУТО), кото­рые могут быть указаны.

Если в секции отчетов элементарная статья отчета, содер­жащая фразу VALUE (ЗНАЧЕНИЕ), не содержит фразу GROUP INDICATE (ОПРЕДЕЛЯЕТ ГРУППУ), то печатаемому данному присваивается указанное значение каждый раз при печати соот­ветствующей группы отчета. Однако если-кроме фра.зы VALUE (ЗНАЧЕНИЕ) имеется также фраза GROUP INDICATE (ОПРЕ­ДЕЛЯЕТ ГРУППУ)' указанное значение представляется только при существовании определенных условий во время выполнения (см. п. 3.13 настоящей части).

РАЗДЕЛ ПРОЦЕДУР В МОДУЛЕ ГЕНЕРАТОРА ОТЧЕТОВ

Общее описание

Если в исходной Кобол-программе имеется оператор USE BEFO­RE REPORTING (ИСПОЛЬЗОВАТЬ ДО ВЫДАЧИ) модуля гене­ратора отчетов, раздел процедур содержит декларативные проце­дуры. Ниже приведен общий формат раздела процедур, когда име­ется оператор USE BEFORE REPORTING (ИСПОЛЬЗОВАТЬ ДО ВЫДАЧИ) и (или) USE AFTER STANDARD EXCEPTION PROCEDURE (ИСПОЛЬЗОВАТЬ ПОСЛЕ СТАНДАРТНОЙ ПРОЦЕДУРЫ ОШИБКИ).

PROCEDURE DIVISION.

DECLARATIVES.

{имя-секции SECTION.

AFTER STANDARD EXCEPTION

P оператор USE

ROCEDURE

BEFORE REPORTING

[имя-параграфа.

[предложение] ... ] ...}...

END DECLARATIVES.

{имя-секции SECTION.

[имя-параграфа.

[предложение] .. . ] ...}...

РАЗДЕЛ ПРОЦЕДУР.

ДЕКЛАРАТИВЫ.

{СЕКЦИЯ имя-секции.

ПОСЛЕ СТАНДАРТНОЙ

П оператор ИСПОЛЬЗОВАТЬ

РОЦЕДУРЫ ОШИБКИ • ДО ВЫДАЧИ

[имя-параграфа.

[предложение]!... ] ...}... КОНЕЦ ДЕКЛАРАТИВ

{СЕКЦИЯ имя-секции.

[имя-параграфа.

[предложение] ... ] .

Оператор CLOSE (ЗАКРЫТЬ)

Назначение

Оператор CLOSE (ЗАКРЫТЬ) завершает обработку катушек (томов) и файлов с необязательной перемоткой и (или) замком или удалением, где это применимо.

Общий формат

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

CLOSE

wf|[F0R REMQVAL]

,VITU ( NO REWIND )

W ( КАТУШКУ |ТОМ

имя-файла-1

ЗАКРЫТЬ

ITH j LOCK j

имя-файла-1 [С УДАЛЕНИЕМ]

БЕЗ ПЕРЕМОТКИ

С ЗАМКОМ

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

Файлы, на которые ссылается оператор CLOSE (ЗАК­РЫТЬ), могут иметь различную организацию или доступ.

Допустимость вариантов в операторе CLOSE (ЗАКРЫТЬ) зависит от уровня модуля последовательного ввода-вывода, под­держиваемого реализацией (см. ч. 7, п. 4.2).

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

За исключением особо оговоренных случаев в ниже приведен­ных общих правилах, термины «катушка» и «том» являются си­нонимами и полностью взаимозаменяемы в операторе CLOSE (ЗАКРЫТЬ). Интерпретация последовательных файлов массовой памяти логически эквивалентна интерпретации файлов на ленте или аналогичных последовательных носителях. Файл, содержащий­ся в многофайловой ленточной среде, логически рассматривается как последовательный однокатушечный (однотомный) файл.

Оператор CLOSE (ЗАКРЫТЬ) может быть выполнен толь­ко для файла, который был открыт.

Для того, чтобы показать действие различных типов опера­тора CLOSE (ЗАКРЫТЬ) для различных носителей данных, все файлы отчетов разделяются на следующие категории:

без катушек (томов). Файл, носитель которого такой, что для него понятие перемотки катушек (томов) не имеет смысла;

последовательный однокатушечный (однотомный). После­довательный файл, который полностью располагается на одной ка­тушке (томе);

последовательный многокатушечный (многотомный). По­следовательный файл, который располагается на нескольких ка­тушках (томах).

(3) Результаты выполнения каждого типа оператора CLOSE (ЗАКРЫТЬ) для каждой категории файла приведены в таблице.

Значения символов А—3 в таблице приведены ниже.

Влияние на обработанные ранее катушки (тома) выходного файла отчетов.

Формат оператора

GUOSE (ЗАКРЫТЬ)

Категория файла

Без катушек (томов)

Последовательный однокатушечный (однотомный)

Поел едователъный многокатушечный (многотомный)

CLOSE (ЗАКРЫТЬ)

в

в, ж

А, В, Ж

CLOSE WITH LOCK (ЗАКРЫТЬ С ЗАМКОМ)

в, д

в, д, ж

А, В, Д, Ж

CLOSE WITH NO REWIND (ЗАКРЫТЬ БЕЗ ПЕРЕМОТКИ)

в, з

Б, В

А, Б, В

CLOSE REEL/UNIT (ЗАКРЫТЬ КАТУШКУ/ТОМ)

Е

Е, Ж

Е, Ж

CLOSE REEL/U'NIT

FOR REMOVAL (ЗАКРЫТЬ КАТУШКУ/ТОМ С УДАЛЕНИЕМ)

Е

г. Е, Ж

Г, Е, Ж

Все катушки (тома) в файле отчетов, предшествующие текущей катушке (тому), закрываются, если для них не выполнялся опера­тор CLOSE REEL (ЗАКРЫТЬ КАТУШКУ) или CLOSE UNIT (ЗА­КРЫТЬ ТОМ).

Б. Текущая катушка не перематывается.

Текущая катушка (том) остается в текущей позиции.

Закрыть выходной файл отчетов.

Если для файла указаны записи меток, метки обрабатываются в соответствии со стандартной процедурой обработки меток, оп­ределенной реализацией. Действия оператора CLOSE (ЗАК­РЫТЬ) не определены, если записи меток указаны, по отсутству­ют, или когда записи меток не указаны, но присутствуют.

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

Г. Удаление катушки (тома).

Если это применимо, производится перемотка текущей катушки или тома и логическое удаление их из единицы исполнения, одна­ко, катушка или том могут стать снова доступными в порядке рас­положения катушек или томов в файле отчета, если за выполне­нием оператора CLOSE (ЗАКРЫТЬ) без варианта REEL (КА­ТУШКУ) или UNIT (ТОМ) для этого файла отчетов будет выпол­нен оператор OPEN (ОТКРЫТЬ) для этого же файла отчетов.

Д. Закрыть с замком.

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

Е. Закрыть катушку или том.

Выходной файл отчетов (носитель в виде катушки или тома).

Выполняются следующие операции:

стандартная процедура обработки конечных меток катушки или тома;

смена катушки (тома). Указатель текущего тома обновляет­ся и указывает на новую катушку (том);

Выполняется стандартная процедура обработки начальных меток катушки (тома);

Следующая операция занесения записи, относящаяся к это­му файлу, заносит следующую логическую запись па следующую катушку (том) файла.

Выходной файл отчета (носитель не в виде катушки или тома).

Выполнение этого оператора считается успешным. Файл оста­ется открытым, и никакие действия, кроме указанных в общем правиле 4, не выполняются'

/К. Перемотка.

Текущая катушка или аналогичное устройство устанавливается на физическое начало.

Оператор CLOSE (ЗАКРЫТЬ) выполняется так, как будто нет необязательных фраз.

) Выполнение оператора CLOSE (ЗАКРЫТЬ) приводит к обновлению значения состояния ввода-вывода, связанного с име­нем файла-1 (см. ч. 7, п. 1.3.5).

) Все начатые отчеты, связанные с файлом отчетов, должны быть закончены посредством выполнения оператора TERMINATE (ЗАКОНЧИТЬ) до выполнения оператора CLOSE (ЗАКРЫТЬ) для этого файла отчетов.

) После успешного завершения оператора CLOSE (ЗАК­РЫТЬ) без фразы REEL (КАТУШКУ) или UNIT (ТОМ) файл от­четов больше не входит в число открытых файлов и файл отчетов больше пе связан с определителем файла.

) Если в операторе CLOSE (ЗАКРЫТЬ) указано более од­ного имени-файла-1, результат выполнения этого оператора CLOSE (ЗАКРЫТЬ) такой же, как если бы отдельный оператор CLOSE (ЗАКРЫТЬ) был написан для каждого имени-файла-1 в том же порядке, в каком эти имена файлов указаны в операторе CLOSE (ЗАКРЫТЬ).

4.3 Оператор GENERATE (ГЕНЕРИРОВАТЬ)

Назначение

Оператор GENERATE (ГЕНЕРИРОВАТЬ) побуждает СУГО составить отчет в соответствии с описанием этого отчета в секции отчетов раздела данных.

Общий формат

GENERATE [1га"’М""°-')

— ( имя-отчета-1 J

ГЕНЕРИРОВАТЬ I ИМЯДаНН0Г°-1 )

(и м я - отч ета -1 j

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

Имя-данного-1 должно относиться к группе отчета типа фрагмент и может уточняться именем отчета.

Имя-отчета-1 может использоваться только тогда, когда в описании этого отчета содержится:

фраза CONTROL (УПРАВЛЕНИЕ) и

не более одной группы отчета типа фрагмент, и

по крайней мере одна группа тела отчета.

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

По оператору GENERATE имя-отчета-1 (ГЕНЕРИРОВАТЬ имя-отчета-1) СУГО выполняет итоговую обработку. Если все вы­полняемые для отчета операторы GENERATE (ГЕНЕРИРОВАТЬ) имеют вид GENERATE имя-отчета-1 (ГЕНЕРИРОВАТЬ имя-отче­та-1), то составляемый отчет называется итоговым отчетом. Итого­вый отчет — отчет, в котором не представлена ни одна группа от­чета типа фрагмент.

По оператору GENERATE имя-данного-1 (ГЕНЕРИРО­ВАТЬ имя-дапного-1) выполняется обработка фрагмента, которая включает определенную обработку, специфическую для группы от­чета типа фрагмент, указанную оператором GENERATE (ГЕНЕ­РИРОВАТЬ). Обычно выполнение оператора GENERATE имя-дан­ного-1 (ГЕНЕРИРОВАТЬ имя-данного-1) приводит к представле­нию указанной группы отчета типа фрагмент.

При выполнении первого по времени оператора GENERA­TE (ГЕНЕРИРОВАТЬ) для данного отчета СУГО запоминает значения управляющих данных. Во время выполнения второго и последующих операторов для того же отчета и до распознавания прерывания управления СУГО использует этот набор управляю­щих данных для проверки наличия прерывания управления. Если встретилось прерывание управления, СУГО запоминает новую по­следовательность значений управляющих данных, которая с этого времени используется для определения прерывания управления, пока не встретится очередное прерывание управления.

В процессе представления отчета, если СУГО должна осу­ществить переход на новую страницу для представления группы тела отчета, выполняются автоматические функции обработки групп отчета типа заголовок страницы и концовка страницы, если они определены (см. п. 3.10 настоящей части).

При выполнении первого по времени оператора GENERA­TE (ГЕНЕРИРОВАТЬ) для данного отчета СУГО обрабатывает названные ниже группы отчета в порядке их перечисления (если они определены в описании отчета), а также группы отчета тина заголовок страницы и концовка страницы, как это списано в об- щем правиле 4. Действия, выполняемые при обработке каждого типа группы отчета, объяснены в соответствующем параграфе (см. п. 3.20 настоящей части).

Обрабатывается группа отчета типа заголовок отчета.

Обрабатывается группа отчета типа заголовок страницы.

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

Если выполняется оператор GENERATE имя-данного-1 (ГЕ­НЕРИРОВАТЬ имя-данного-1), выполняется обработка указанной группы отчета типа фрагмент. Если выполняется оператор GENE­RATE имя-отчета-1 (ГЕНЕРИРОВАТЬ имя-отчета-1), то выпол­няются некоторые действия, сопровождающие обработку группы отчета типа фрагмент (см. п. 3.20 настоящей части).

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

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

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

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

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

Весь розділ →