Файл отчетов именуется в статье управления файлом и описывается статьей описания файла, содержащей фразу REPORT (ОТЧЕТ). Доступ к файлу отчетов обеспечивается операторами OPEN (ОТКРЫТЬ), GENERATE (ГЕНЕРИРОВАТЬ), INITIATE (НАЧАТЬ), SUPPRESS (ПОДАВИТЬ), TERMINATE (ЗАКОНЧИТЬ), USE AFTER STANDARD EXCEPTION PROCEDURE (ИСПОЛЬЗОВАТЬ ПОСЛЕ СТАНДАРТНОЙ ПРОЦЕДУРЫ ОШИБКИ), USE BEFORE REPORTING (ИСПОЛЬЗОВАТЬ ДО ВЫДАЧИ) и CLOSE (ЗАКРЫТЬ).
С п еци а л ь н ы й регистр PAGE-COUNTER (СЧЕТЧИК-СТРАНИЦ)
Зарезервированное слово PAGE-COUNTER (СЧЕТЧИК-СТРАНИЦ) служит именем счетчика страниц, который генерируется для каждой статьи описания отчета, определенной в секции отчетов раздела данных. Неявное описание счетчика соответствует описа- «ию целого без знака в диапазоне значений от 1 до 999999, а его использование определяется реализацией. Значение PAGE-COUNTER (СЧЕТЧИК-СТРАНИЦ) обеспечивается СУГО и используется программой для нумерации страниц отчета. На PAGE-COUNTER (СЧЕТЧИК-СТРАНИЦ) можно ссылаться только во фразе SOURCE (ИСТОЧНИК) в секции отчетов и в операторах раздела процедур (п. 3.5.5 настоящей части).
Специальный регистр LINE-COUNTER (СЧЕТЧИК-СТРОК)
Зарезервированное слово LINE-COUNTER (СЧЕТЧИК- СТРОК) является именем счетчика строк, порождаемого для каждой статьи описания отчета, определенной в секции отчетов раздела данных. Этот счетчик неявно описан как целое без знака в диапазоне значений от 0 до 999999, а его использование определяется реализацией. Значение LINE-COUNTER (СЧЕТЧИК-СТРОК) •обеспечивается системой управления генератором отчетов и используется для определения вертикального расположения отчета.
На LINE-COUNTER (СЧЕТЧИК-СТРОК) можно ссылаться только во фразе SOURCE (ИСТОЧНИК) в секции отчетов и в операторах раздела процедур; однако изменять значение LINE-COUNTER (СЧЕТЧИК-СТРОК) может только система управления генератором отчетов (СУГО) (п. 3.5.6 настоящей части).
Индексирование
Счетчики сумм и специальные регистры LINE-COUNTER (СЧЕТЧИК-СТРОК) и PAGE-COUNTER (СЧЕТЧИК-СТРАНИЦ) не могут быть использованы в качестве индексов в секции отчетов.
2. РАЗДЕЛ ОБОРУДОВАНИЯ В МОДУЛЕ ГЕНЕРАТОРА ОТЧЕТОВ
Секция ввода-вывода
Информация, относящаяся к .секции ввода-вывода, находится в ч. 7, п. 2.1.
Параграф FILE-CONTROL (УПРАВЛЕНИЕ-ФАЙЛАМИ)
Информация, относящаяся к параграфу FILE-CONTROL (УП- РАВЛЕНИЕ-ФАЙЛАМИ) находится в ч. 7, п. 2.2.
Статья управления файлом
Назначение
Статья управления файлом объявляет соответствующие физические атрибуты файла отчетов.
Общий формат
SELECT [OPTIONAL] имя-файла-1
ASSIGN ТО І имя-реализации-11
(литерал-1 J '‘‘
I RESERVE целое-1 f AREAS]][ [ORGANIZATION IS] SEQUENTIAL]
PADDING CHARACTER IS ( имя-данного-1 1 1
. [ литерал-2 ) J
RECORD DELIMITER IS ( STANDARD-1 j
(имя-реализации-2 I
[ACCESS MODE IS SEQUENTIAL]
[FILE STATUS IS имя-данного-2].
ДЛЯ [НЕОБЯЗАТЕЛЬНОГО] имя-файла-1
НАЗНАЧИТЬ [ имя-реализации-1 1 ( литерал-1 [
[РЕЗЕРВИРОВАТЬ целое-1 ОБЛАСТЕЙ]
[ [ОРГАНИЗАЦИЯ] ПОСЛЕДОВАТЕЛЬНАЯ]
[литера ЗАПОЛНИТЕЛЬ [имя-данного-1 11
L (литерал-2 ) J
ОГРАНИЧИТЕЛЬ ЗАПИСИ [-CT-HftAPT~A і
: ' [ имя-реализации-2 J
[ДОСТУП ПОСЛЕДОВАТЕЛЬНЫЙ]
[СОСТОЯНИЕ ФАЙЛА имя-данного-2].
Синтаксические правила
Фраза SELECT (ДЛЯ) должна быть первой в статье управления файлом. Следующие за ней фразы могут появляться в любом порядке.
Каждый файл отчетов, описанный в разделе данных, должен определяться только один раз в параграфе FILE-CONTROL (УПРАВЛЕНИЕ-ФАЙЛАМИ). Каждый файл отчетов, определенный фразой SELECT (ДЛЯ), должен иметь в разделе данных этой же программы статью описания файла, содержащую фразу REPORT (ОТЧЕТ).
Литерал-1 должен быть нечисловым литералом и не должен быть стандартной константой. Смысл и правила для допустимого содержимого имени-реализации-1 и значения литерала-1 определяются реализацией.
Допустимость отдельных фраз в статье управления файлом для файла отчетов зависит от уровня модуля последовательного ввода-вывода, поддерживаемого реализацией (см. ч. 7, п. 2.2).
Общие правила
Если определитель файла, на который ссылается имя-файла-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 CHARACTERSVALUE 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 (ТИП). Статье описания группы отчета могут подчиняться статьи описания групповых и элементарных данных, которые более подробно описывают характеристики группы отчета.