ГОСТ 22558-89 сторінка 79 з 116
Если определитель файла, на который ссылается имя-файла-1, является внешним определителем файла (см. ч. 10, п. 4.5), все 604
статьи управления файлом, ссылающиеся на этот определитель файла, в единице исполнения должны иметь:
одну и ту же спецификацию фразы OPTIONAL (НЕОБЯЗАТЕЛЬНОГО);
согласующуюся спецификацию для имени-реализации-1 или литерала-1 во фразе ASSIGN (НАЗНАЧИТЬ). Реализация определяет правила согласования для имени-реализации-1 или литерала-1;
согласующуюся спецификацию для имени-реализации-2 во фразе RECORD DELIMITER (ОГРАНИЧИТЕЛЬ ЗАПИСИ). Реализация определяет правила согласования для имени-реализации-2;
одно и то же значение целого-1 во фразе RESERVE (РЕЗЕРВИРОВАТЬ);
одну и ту же организацию;
один и тот же метод доступа;
одну и ту же спецификацию для фразы PADDING CHARACTER (ЛИТЕРА ЗАПОЛНИТЕЛЬ).
Фраза OPTIONAL (НЕОБЯЗАТЕЛЬНОГО) применяется только к файлу отчетов, открытому в режиме дополнения. Ее спецификация требуется только для файла отчетов, наличие которого необязательно во время каждого выполнения объектной программы.
Фраза ASSIGN (НАЗНАЧИТЬ) определяет связь между файлом отчетов, на который ссылается имя-файла-1, и запоминающей средой, на которую ссылается имя-реализации-1 или литерал-1.
Файл отчетов имеет последовательную организацию. Таким образом все фразы статьи управления файлом для файла отчетов в общем формате п. 2.3.2 настоящей части относятся к модулю последовательного ввода-вывода (см. ч. 7, п. 2.3.2).
Параграф I-O-CONTROL (УПРАВЛЕНИЕ-ВВОДОМ-ВЫ- ВОДОМ)
Назначение
Параграф I-O-CONTROL (УПРАВЛЕНИЕ-ВВОДОМ-ВЫВО- ДОМ) определяет область памяти, которая будет .использоваться различными файлами, и размещение нескольких файлов на одной катушке.
Общийформат
I-O-CONTROL.
[ [SAME AREA FOR имя-файла-1 {имя-файла-2}...]...
[MULTIPLE FILE TAPE CONTAINS {имя-файла-3
[POSITION целое-1]}...]...]
УПРАВЛЕНИЕ-ВВОДОМ-ВЫВОДОМ.
[[ОБЩАЯ ОБЛАСТЬ ДЛЯ имя-файла-1
{имя-файла-2} ...]...
[НА ОДНОЙ КАТУШКЕ {имя-файла-3 [ПОЗИЦИЯ целое-1]}
Синтаксические правила
Порядок появления фраз несущественен.
Имя-файла, представляющее файл отчетов, может появляться во фразах MULTIPLE FILE ТАРЕ (НА ОДНОЙ КАТУШКЕ) или SAME (ОБЩАЯ), для которой не указан вариант RECORD (ЗАПИСИ).
Допустимость отдельных фраз в параграфе I-O-CONTROL (УПРАВЛЕНИЕ-ВВОДОМ-ВЫВОДОМ) для файла отчетов зависит от уровня модуля последовательного ввода-вывода, поддерживаемого реализацией (см. ч. 7, п. 2.10).
Общие правила
• (1) Фраза MULTIPLE FILE ТАРЕ (НА ОДНОЙ КАТУШКЕ) приведена в ч. 7, п. 2.11.
(2) Фраза SAME (ОБЩАЯ) приведена в ч. 7, п. 2.13.
РАЗДЕЛ ДАННЫХ В МОДУЛЕТЕНЕРАТОРА ОТЧЕТОВ
Секция файлов
Секция файлов находится в разделе данных исходной программы. Секция файлов определяет структуру файлов отчетов. Каждый файл отчетов определяется статьей описания файла, содержащей фразу REPORT (ОТЧЕТ). За статьей описания файла для файла отчетов не следуют статьи описания записи.
Общий формат секции файлов в модуле генератора отчетов приведен ниже.
FILE SECTION.
[статья-описания-файла-отчетов] ...
СЕКЦИЯ ФАЙЛОВ.
[статья-описания-файла-отчетов] ...
В Кобол-программе статья описания файла (статья FD (ОФ)) представляет наивысший уровень организации в секции файлов. За заголовком секции файлов следует статья описания файла, состоящая из индикатора уровня FD (ОФ), имени-файла и ряда независимых фраз. Для файла отчетов ст.атья описания файла должна содержать фразу REPORT (ОТЧЕТ), определяющую имена отчетов, заносимых в файл отчетов. За статьей описания файла для файла отчетов не могут следовать никакие статьи описания записей.
Статья описания файла
Назначение
Статья описания файла предоставляет информацию о физической структуре, идентификации и именах-отчетов, относящихся к файлу отчетов.
Общий формат
FD имя-файла-1
LABEL I REC0RD IS И STANDARD 1'
(RECORDS ARE) ( OMITTED j
BLOCK CONTAINS [целое-1 TO] целое-2 (2222225.
— [CHARACTERS
J CONTAINS целое-3 CHARACTERS
- имя-данного-1 литерал-1
K [CONTAINS целое-4 TO целое-5 CHARACTERS
VALUE OF {имя-реализации-1 IS
[CODE-SET IS имя-алфавита-1]!
/ СТАНДАРТНЫ j ОПУЩЕНЫ
МЕТКИ
ЗАПИСЕЙ
1
ЛИТЕР ]J
{имя-отчета-1}... .
(
REPORT IS
(REPORTS ARE
ОФ имя-файла-1
[В БЛОКЕ [ОТ целое-1 ДО] целое-2
В ЗАПИСИ f 5^°е'3 Л^ТЕР литер
[ ОТ целое-4 ДО целое-5 ЛИТЕР
ЗНАЧЕНИЕ] [ [имя-данного-1
-л-т,.,, к имя-реализации-1 {
ЗНАЧ ][ г [литерал-1
[АЛФАВИТ имя-алфавита-1]
ОТЧЕТ
ОТЧЕТЫ
С
{имя-отчета-1}...
.
интаксические правила
Индикатор уровня FD (ОФ) определяет начало статьи описания файла и должен предшествовать имени файла отчетов.
Фразы, которые следуют за именем-файла-1, могут появляться в любом порядке.
Имя-файла-1 может относиться только к последовательному файлу.
За статьей описания файла для файла отчетов не могут следовать статьи описания записей.
На субъект статьи описания файла, определяющей фразу REPORT (ОТЧЕТ), можно ссылаться в разделе процедур только в операторах USE (ИСПОЛЬЗОВАТЬ), CLOSE (ЗАКРЫТЬ) или OPEN (ОТКРЫТЬ) с фразой OUTPUT (ВЫХОДНОЙ) или EXTEND (ДОПОЛНЯЕМЫЙ).
Допустимость отдельных фраз в такой статье описания -файла зависит от уровня модуля последовательного ввода-вывода, поддерживаемого реализацией (см. ч. 7, п. 3.2).
Общие правила
Статья описания файла связывает имя-файла-1 с определителем файла.
Структура логической записи файла, связанного с именем- файла-1, определяется реализацией.
Все фразы статьи описания файла в п. 3.2 для файла отчетов, за исключением фразы REPORT (ОТЧЕТ), описаны в модуле последовательного ввода-вывода (см.-ч. 7, п. 3.2).
Фраза REPORT (ОТЧЕТ) представлена в п. 3.3 настоящей части.
3 3. Фраза REPORT (ОТЧЕТ)
Назначение
Фраза REPORT (ОТЧЕТ) указывает имена отчетов, образующих файл отчетов.
Общий формат
(REPORT IS ) (
( REPORTS ARE } <имя-°тчета-1) • • ■
ОТЧЕТ )
ОТЧЕТЫ j {имя-отчета-1}...
Синтаксические, правила
Каждое имя-отчета, указанное во фразе REPORT (ОТЧЕТ), должно быть субъектом статьи описания отчета в секции отчетов. Порядок появления имен-отчетов во фразе не существенен.
Каждое имя-отчета может появляться только в одной фразе REPORT (ОТЧЕТ).
На субъект статьи описания файла, содержащей фразу REPORT (ОТЧЕТ), можно ссылаться в разделе процедур только в операторах USE (ИСПОЛЬЗОВАТЬ), CLOSE (ЗАКРЫТЬ) или OPEN (ОТКРЫТЬ) с фразой OUTPUT (ВЫХОДНОЙ) или EXTEND (ДОПОЛНЯЕМЫЙ).
Общие правила
Присутствие нескольких имен-отчетов во фразе REPORT (ОТЧЕТ) указывает, что файл содержит несколько отчетов.
После выполнения оператора INITIATE (НАЧАТЬ) и до выполнения оператора TERMINATE (ЗАКОНЧИТЬ) для одного и того же файла отчетов файл отчетов находится под управлением системы управления генератором отчетов. Когда файл отчетов находится под управлением СУГО, никакой оператор ввода-вывода, ссылающийся на этот файл отчетов, не может выполняться.
Если соответствующий определитель файла является внешним определителем файла, каждая статья описания файла в единице исполнения, связанная с этим определителем файла, должна описывать файл как файл отчетов.
Секция отчетов
Секция отчетов располагается в разделе данных исходной программы. Секция отчетов описывает отчеты, которые будут записаны в файл отчетов. Описание каждого отчета должно начинаться статьей описания отчета (статьей RD (ОО)), за которой следуют одна или несколько статей описания групп отчета.
Ниже приводится общий формат секции отчетов.
REPORT SECTION.
[статья-описания-отчета
{статья-описания-группы-отчета}... ] ...
СЕКЦИЯ ОТЧЕТОВ.
[статья-описания-отчета
{статья-описания-группы-отчета} . . . ] ...
Статья описания отчета
Статья описания отчета (статья RD (ОО)) определяет имя отчета, формат каждой страницы отчета, указывая вертикальные границы поля страницы, в котором может быть отпечатан каждый тип группы отчета. Статья описания отчета также указывает управляющие данные. При составлении отчета изменения значений управляющих данных приводят к порождению групп отчета, называемых управляемыми группами.
Каждый отчет, названный во фразе REPORT (ОТЧЕТ) статьи описания файла в секции файлов, должен быть субъектом статьи описания отчета в секции отчетов. Более того, каждый отчет в секции отчетов должен быть назван только в одной статье описания файла.
С т а т ь я описания группы отчета
Группы отчета, образующие отчет, описываются вслед за ста
тьей описания отчета. Описание каждой группы отчета начинается статьей описания группы отчета, имеющей номер уровня 01 и фразу TYPE (ТИП). Статье описания группы отчета могут подчиняться статьи описания групповых и элементарных данных, которые более подробно описывают характеристики группы отчета.
Статья описания отчета
Назначение
Статья описания отчета именует отчет, указывает идентифицирующие литеры, которые вставляются в начале каждой печатаемой строки отчета, и описывает его физическую структуру и организацию.
Общий формат
RD имя-отчета-1
[СОРЕ литерал-1]
{ ( CONTROL IS 1 ( CONTROLS ARE J
имя-данного-1}. . .
FINAL [имя-данного-1] . . .
PAGE
' LIMIT IS 1 . Г LINE '
LIMITS ARE 1 цмое’1 [LINES
[HEADING целое-2;
[FIRST DETAIL целое-3] [LAST DETAIL целое-4] [FOOTING целое-5] ].
ОО имя-отчета-1
[С КОДОМ литерал-1]
УПРАВЛЕНИЕ ПО ,, 1
— [ КО FI ЦУ [имя-данного-1] ... ]
[РАЗМЕР СТРАНИЦЫ целое-1 СТРОК [ЗАГОЛОВОК
целое-2]
[ПЕРВЫЙ ФРАГМЕНТ целое-3]
[ПОСЛЕДЙИИ ФРАГМЕНТ целое-4]
[КОНЦОВКА целое-5] ]. •
Синтаксические правила
Имя-отчета-1 должно указываться в одной и только одной фразе REPORTS (ОТЧЕТЫ).
Порядок появления фраз, следующих за именем-отчета-Ц не существенен.
Имя-отчета-1 является наивысшим допустимым уточнителем, который может быть указан для LINE-COUNTER (СЧЕТЧИК- СТРОК), PAGE-COUNTER (СЧЕТЧИК-СТРАНИЦ) и для всех имен-данных, определяемых в секции отчетов.
Общие правила
Фразы CODE (С КОДОМ), CONTROL (УПРАВЛЕНИЕ) и PAGE (РАЗМЕР СТРАНИЦЫ) представлены начиная с п. 3.6 настоящей части.
Правила для счетчика страниц
PAGE-COUNTER (СЧЕТЧИК-СТРАНИЦ) — это зарезервированное слово, используемое для ссылки на специальный регистр, автоматически создаваемый для каждого отчета, указанного в секции отчетов (см. ч. 4, п. 4.2.2.1.3.3.1 и п. 1.2.2 настоящей части) .
В секции отчетов ссылка на PAGE-COUNTER (СЧЕТЧИК- СТРАНИЦ) разрешается только во фразе SOURCE (ИСТОЧНИК). В разделе процедур PAGE-COUNTER (СЧЕТЧИК-СТРАНИЦ) может быть использован в любом контексте, в котором может быть указано данное или значение целого.
Если в программе имеется более одного PAGE-COUNTER '(СЧЕТЧИК-СТРАНИЦ), то обращение к каждому из них в разделе процедур должно быть уточнено именем-отчета.
В секции отчетов неуточненная ссылка на PAGE-COUNTER '(СЧЕТЧИК-СТРАНИЦ) уточняется неявно именем отчета, в статье описания которого сделана ссылка. Всякий раз, когда имеется ссылка на PAGE-COUNTER (СЧЕТЧИК-СТРАНИЦ) другого отчета, PAGE-COUNTER (СЧЕТЧИК-СТРАНИЦ) должен быть явно уточнен соответствующим именем-отчета.
Выполнение оператора INITIATE (НАЧАТЬ) приводит к установке системой управления генератором отчетов счетчика страниц соответствующего отчета в единицу.
Счетчик страниц автоматически увеличивается на единицу каждый раз, когда система управления генератором отчетов осуществляет переход на следующую страницу.
Счетчик страниц может быть изменен операторами раздела процедур.
Правила для счетчика строк
LINE-COUNTER (СЧЕТЧИК-СТРОК) — это зарезервированное слово, используемое для ссылки на специальный регистр, автоматически создаваемый для каждого отчета, указанного в секции отчетов (см. ч. 4, п. 4.2.2.1.3.3.1 и п. 1.2.3 настоящей части).
В секции отчетов ссылка на LINE-COUNTER- (СЧЕТЧИК- СТРОК) разрешена только во фразе SOURCE (ИСТОЧНИК). В разделе процедур LINE-COUNTER (СЧЕТЧИК-СТРОК) может быть использован в любом контексте, в котором может быть ука
зано данное или значение целого. Однако менять содержимое счетчика строк может только система управления генератором отчетов.
Если в программе имеется более одного счетчика строк, ссылка на каждый из них в разделе процедур должна уточняться именем-отчета.
В секции отчетов неуточненная ссылка на LINE-COUNTER (СЧЕТЧИК-СТРОК) неявно уточняется именем отчета, в статье описания которого сделана ссылка. Каждый раз, когда имеется ссылка на LINE-COUNTER (СЧЕТЧИК-СТРОК) другого отчета, LINE-COUNTER (СЧЕТЧИК-СТРОК) должен быть явно уточнен соответствующим именем-отчета.
Выполнение оператора INITIATE (НАЧАТЬ) приводит к установке системой управления генератором отчетов счетчика строк соответствующего отчета в нуль. Система управления генератором отчетов также автоматически переустанавливает счетчик строк в нуль при переходе на следующую страницу.
На значение счетчика строк не влияет обработка непечатаемых групп отчета или печатаемых групп отчета, печать которых отменяется посредством оператора SUPPRESS (ПОДАВИТЬ).
В момент представления каждой печатаемой строки значение счетчика строк указывает номер строки, на которой представляется печатаемая строка. Значение счетчика строк после представления группы отчета управляется правилами представления для группы отчета (п. 3.10 настоящей части).
Фраза CODE (С КОДОМ)
Назначение
Фраза CODE (С КОДОМ) указывает литерал из двух литер, идентифицирующий каждую печатаемую строку отчета как принадлежащую к определенному отчету.
Общий формат
СОРЕ литерал-1
С КОДОМ литерал-1
Синтаксические правила
Литерал-1 должен быть нечисловым литералом, состоящим из двух литер.
Если фраза CODE (С КОДОМ) указана для некоторого отчета в файле, то она должна быть указана для всех отчетов этого файла.
Об щи е правила
Если указана фраза CODE (С КОДОМ), литерал-1 автоматически помещается в первые две позиции литер каждой логической записи отчета.
Позиции, занимаемые литералом-1, не включаются в описание печатаемой строки, но включаются в размер логической записи.
Фраза CONTROL (УПРАВЛЕНИЕ)
Назначение
Фраза CONTROL (УПРАВЛЕНИЕ) устанавливает для отчета уровни иерархии управления.
Общий формат
[ CONTROL IS 1 ( {имя-данного-1}... 1
Побачили розбіжність з офіційним текстом?