Файл отчетов именуется в статье управления файлом и описы­вается статьей описания файла, содержащей фразу REPORT (ОТЧЕТ). Доступ к файлу отчетов обеспечивается операторами OPEN (ОТКРЫТЬ), GENERATE (ГЕНЕРИРОВАТЬ), INITIATE (НАЧАТЬ), SUPPRESS (ПОДАВИТЬ), TERMINATE (ЗАКОН­ЧИТЬ), USE AFTER STANDARD EXCEPTION PROCEDURE (ИСПОЛЬЗОВАТЬ ПОСЛЕ СТАНДАРТНОЙ ПРОЦЕДУРЫ ОШИБКИ), USE BEFORE REPORTING (ИСПОЛЬЗОВАТЬ ДО ВЫДАЧИ) и CLOSE (ЗАКРЫТЬ).

  1. С п еци а л ь н ы й регистр PAGE-COUNTER (СЧЕТЧИК-СТРАНИЦ)

Зарезервированное слово PAGE-COUNTER (СЧЕТЧИК-СТРА­НИЦ) служит именем счетчика страниц, который генерируется для каждой статьи описания отчета, определенной в секции отчетов раздела данных. Неявное описание счетчика соответствует описа- «ию целого без знака в диапазоне значений от 1 до 999999, а его использование определяется реализацией. Значение PAGE-COUN­TER (СЧЕТЧИК-СТРАНИЦ) обеспечивается СУГО и использует­ся программой для нумерации страниц отчета. На PAGE-COUN­TER (СЧЕТЧИК-СТРАНИЦ) можно ссылаться только во фразе SOURCE (ИСТОЧНИК) в секции отчетов и в операторах раздела процедур (п. 3.5.5 настоящей части).

  1. Специальный регистр LINE-COUNTER (СЧЕТЧИК-СТРОК)

Зарезервированное слово LINE-COUNTER (СЧЕТЧИК- СТРОК) является именем счетчика строк, порождаемого для каж­дой статьи описания отчета, определенной в секции отчетов разде­ла данных. Этот счетчик неявно описан как целое без знака в диа­пазоне значений от 0 до 999999, а его использование определяется реализацией. Значение LINE-COUNTER (СЧЕТЧИК-СТРОК) •обеспечивается системой управления генератором отчетов и исполь­зуется для определения вертикального расположения отчета.

На LINE-COUNTER (СЧЕТЧИК-СТРОК) можно ссылаться только во фразе SOURCE (ИСТОЧНИК) в секции отчетов и в опе­раторах раздела процедур; однако изменять значение LINE-COUN­TER (СЧЕТЧИК-СТРОК) может только система управления гене­ратором отчетов (СУГО) (п. 3.5.6 настоящей части).

  1. Индексирование

Счетчики сумм и специальные регистры LINE-COUNTER (СЧЕТЧИК-СТРОК) и PAGE-COUNTER (СЧЕТЧИК-СТРАНИЦ) не могут быть использованы в качестве индексов в секции отчетов.

2. РАЗДЕЛ ОБОРУДОВАНИЯ В МОДУЛЕ ГЕНЕРАТОРА ОТЧЕТОВ

  1. Секция ввода-вывода

Информация, относящаяся к .секции ввода-вывода, находится в ч. 7, п. 2.1.

  1. Параграф FILE-CONTROL (УПРАВЛЕНИЕ-ФАЙЛАМИ)

Информация, относящаяся к параграфу FILE-CONTROL (УП- РАВЛЕНИЕ-ФАЙЛАМИ) находится в ч. 7, п. 2.2.

  1. Статья управления файлом

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

Статья управления файлом объявляет соответствующие физи­ческие атрибуты файла отчетов.

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

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].

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

  1. Фраза SELECT (ДЛЯ) должна быть первой в статье уп­равления файлом. Следующие за ней фразы могут появляться в любом порядке.

  2. Каждый файл отчетов, описанный в разделе данных, дол­жен определяться только один раз в параграфе FILE-CONTROL (УПРАВЛЕНИЕ-ФАЙЛАМИ). Каждый файл отчетов, определен­ный фразой SELECT (ДЛЯ), должен иметь в разделе данных этой же программы статью описания файла, содержащую фразу RE­PORT (ОТЧЕТ).

  3. Литерал-1 должен быть нечисловым литералом и не дол­жен быть стандартной константой. Смысл и правила для допусти­мого содержимого имени-реализации-1 и значения литерала-1 оп­ределяются реализацией.

  4. Допустимость отдельных фраз в статье управления файлом для файла отчетов зависит от уровня модуля последовательного ввода-вывода, поддерживаемого реализацией (см. ч. 7, п. 2.2).

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

Если определитель файла, на который ссылается имя-фай­ла-1, является внешним определителем файла (см. ч. 10, п. 4.5), все 604статьи управления файлом, ссылающиеся на этот определитель файла, в единице исполнения должны иметь:

  1. одну и ту же спецификацию фразы OPTIONAL (НЕОБЯЗА­ТЕЛЬНОГО);

  2. согласующуюся спецификацию для имени-реализации-1 или литерала-1 во фразе ASSIGN (НАЗНАЧИТЬ). Реализация опре­деляет правила согласования для имени-реализации-1 или литера­ла-1;

  3. согласующуюся спецификацию для имени-реализации-2 во фразе RECORD DELIMITER (ОГРАНИЧИТЕЛЬ ЗАПИСИ). Реа­лизация определяет правила согласования для имени-реализации-2;

  4. одно и то же значение целого-1 во фразе RESERVE (РЕЗЕР­ВИРОВАТЬ);

  5. одну и ту же организацию;

  6. один и тот же метод доступа;

  7. одну и ту же спецификацию для фразы PADDING CHARA­CTER (ЛИТЕРА ЗАПОЛНИТЕЛЬ).

  1. Фраза OPTIONAL (НЕОБЯЗАТЕЛЬНОГО) применяется только к файлу отчетов, открытому в режиме дополнения. Ее спе­цификация требуется только для файла отчетов, наличие которого необязательно во время каждого выполнения объектной програм­мы.

  2. Фраза ASSIGN (НАЗНАЧИТЬ) определяет связь между файлом отчетов, на который ссылается имя-файла-1, и запоминаю­щей средой, на которую ссылается имя-реализации-1 или лите­рал-1.

  3. Файл отчетов имеет последовательную организацию. Таким образом все фразы статьи управления файлом для файла отчетов в общем формате п. 2.3.2 настоящей части относятся к модулю по­следовательного ввода-вывода (см. ч. 7, п. 2.3.2).

  1. Параграф I-O-CONTROL (УПРАВЛЕНИЕ-ВВОДОМ-ВЫ- ВОДОМ)

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

Параграф I-O-CONTROL (УПРАВЛЕНИЕ-ВВОДОМ-ВЫВО- ДОМ) определяет область памяти, которая будет .использоваться различными файлами, и размещение нескольких файлов на одной катушке.

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

I-O-CONTROL.

[ [SAME AREA FOR имя-файла-1 {имя-файла-2}...]...

[MULTIPLE FILE TAPE CONTAINS {имя-файла-3

[POSITION целое-1]}...]...]

УПРАВЛЕНИЕ-ВВОДОМ-ВЫВОДОМ.[[ОБЩАЯ ОБЛАСТЬ ДЛЯ имя-файла-1

{имя-файла-2} ...]...

[НА ОДНОЙ КАТУШКЕ {имя-файла-3 [ПОЗИЦИЯ целое-1]}

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

  1. Порядок появления фраз несущественен.

  2. Имя-файла, представляющее файл отчетов, может появ­ляться во фразах MULTIPLE FILE ТАРЕ (НА ОДНОЙ КАТУШ­КЕ) или SAME (ОБЩАЯ), для которой не указан вариант RE­CORD (ЗАПИСИ).

  3. Допустимость отдельных фраз в параграфе I-O-CONTROL (УПРАВЛЕНИЕ-ВВОДОМ-ВЫВОДОМ) для файла отчетов зави­сит от уровня модуля последовательного ввода-вывода, поддержи­ваемого реализацией (см. ч. 7, п. 2.10).

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

• (1) Фраза MULTIPLE FILE ТАРЕ (НА ОДНОЙ КАТУШКЕ) приведена в ч. 7, п. 2.11.

(2) Фраза SAME (ОБЩАЯ) приведена в ч. 7, п. 2.13.

  1. РАЗДЕЛ ДАННЫХ В МОДУЛЕТЕНЕРАТОРА ОТЧЕТОВ

    1. Секция файлов

Секция файлов находится в разделе данных исходной про­граммы. Секция файлов определяет структуру файлов отчетов. Каждый файл отчетов определяется статьей описания файла, со­держащей фразу REPORT (ОТЧЕТ). За статьей описания файла для файла отчетов не следуют статьи описания записи.

Общий формат секции файлов в модуле генератора отчетов приведен ниже.

FILE SECTION.

[статья-описания-файла-отчетов] ...

СЕКЦИЯ ФАЙЛОВ.

[статья-описания-файла-отчетов] ...

В Кобол-программе статья описания файла (статья FD (ОФ)) представляет наивысший уровень организации в секции файлов. За заголовком секции файлов следует статья описания файла, сос­тоящая из индикатора уровня FD (ОФ), имени-файла и ряда не­зависимых фраз. Для файла отчетов ст.атья описания файла долж­на содержать фразу REPORT (ОТЧЕТ), определяющую имена от­четов, заносимых в файл отчетов. За статьей описания файла для файла отчетов не могут следовать никакие статьи описания запи­сей.



  1. Статья описания файла

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

Статья описания файла предоставляет информацию о физичес­кой структуре, идентификации и именах-отчетов, относящихся к файлу отчетов.

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

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. ОТЧЕТ

    ОТЧЕТЫ


    С

    {имя-отчета-1}... .

    интаксические правила
  1. Индикатор уровня FD (ОФ) определяет начало статьи опи­сания файла и должен предшествовать имени файла отчетов.

  2. Фразы, которые следуют за именем-файла-1, могут появ­ляться в любом порядке.

  3. Имя-файла-1 может относиться только к последовательно­му файлу.

  4. За статьей описания файла для файла отчетов не могут следовать статьи описания записей.

  5. На субъект статьи описания файла, определяющей фразу REPORT (ОТЧЕТ), можно ссылаться в разделе процедур только в операторах USE (ИСПОЛЬЗОВАТЬ), CLOSE (ЗАКРЫТЬ) или OPEN (ОТКРЫТЬ) с фразой OUTPUT (ВЫХОДНОЙ) или EXTEND (ДОПОЛНЯЕМЫЙ).

  6. Допустимость отдельных фраз в такой статье описания -файла зависит от уровня модуля последовательного ввода-вывода, поддерживаемого реализацией (см. ч. 7, п. 3.2).

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

  1. Статья описания файла связывает имя-файла-1 с определи­телем файла.

  2. Структура логической записи файла, связанного с именем- файла-1, определяется реализацией.

  3. Все фразы статьи описания файла в п. 3.2 для файла отче­тов, за исключением фразы REPORT (ОТЧЕТ), описаны в модуле последовательного ввода-вывода (см.-ч. 7, п. 3.2).

  4. Фраза REPORT (ОТЧЕТ) представлена в п. 3.3 настоящей части.

3 3. Фраза REPORT (ОТЧЕТ)

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

Фраза REPORT (ОТЧЕТ) указывает имена отчетов, образую­щих файл отчетов.

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

(REPORT IS ) (

( REPORTS ARE } <имятчета-1) • • ■

ОТЧЕТ )

ОТЧЕТЫ j {имя-отчета-1}...

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

  1. Каждое имя-отчета, указанное во фразе REPORT (ОТЧЕТ), должно быть субъектом статьи описания отчета в секции отчетов. Порядок появления имен-отчетов во фразе не существенен.

  2. Каждое имя-отчета может появляться только в одной фразе REPORT (ОТЧЕТ).

  3. На субъект статьи описания файла, содержащей фразу REPORT (ОТЧЕТ), можно ссылаться в разделе процедур только в операторах USE (ИСПОЛЬЗОВАТЬ), CLOSE (ЗАКРЫТЬ) или OPEN (ОТКРЫТЬ) с фразой OUTPUT (ВЫХОДНОЙ) или EXTEND (ДОПОЛНЯЕМЫЙ).

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

  1. Присутствие нескольких имен-отчетов во фразе REPORT (ОТЧЕТ) указывает, что файл содержит несколько отчетов.

  2. После выполнения оператора INITIATE (НАЧАТЬ) и до выполнения оператора TERMINATE (ЗАКОНЧИТЬ) для одного и того же файла отчетов файл отчетов находится под управлением системы управления генератором отчетов. Когда файл отчетов на­ходится под управлением СУГО, никакой оператор ввода-вывода, ссылающийся на этот файл отчетов, не может выполняться.

  3. Если соответствующий определитель файла является внеш­ним определителем файла, каждая статья описания файла в еди­нице исполнения, связанная с этим определителем файла, должна описывать файл как файл отчетов.

  1. Секция отчетов

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

Ниже приводится общий формат секции отчетов.

REPORT SECTION.

[статья-описания-отчета

{статья-описания-группы-отчета}... ] ...

СЕКЦИЯ ОТЧЕТОВ.

[статья-описания-отчета

{статья-описания-группы-отчета} . . . ] ...

  1. Статья описания отчета

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

Каждый отчет, названный во фразе REPORT (ОТЧЕТ) статьи описания файла в секции файлов, должен быть субъектом статьи описания отчета в секции отчетов. Более того, каждый отчет в сек­ции отчетов должен быть назван только в одной статье описания файла.

  1. С т а т ь я описания группы отчета

Группы отчета, образующие отчет, описываются вслед за ста­тьей описания отчета. Описание каждой группы отчета начинается статьей описания группы отчета, имеющей номер уровня 01 и фра­зу TYPE (ТИП). Статье описания группы отчета могут подчинять­ся статьи описания групповых и элементарных данных, которые более подробно описывают характеристики группы отчета.