Статья описания отчета
Назначение
Статья описания отчета именует отчет, указывает идентифицирующие литеры, которые вставляются в начале каждой печатаемой строки отчета, и описывает его физическую структуру и организацию.
Общий формат
RD имя-отчета-1
[СОРЕ литерал-1]
{
( CONTROL IS 1
( CONTROLS ARE J
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
[ CONTROLS ARE;J I FINAL [имя-данного-1] . .. J
УПРАВЛЕНИЕ ПО И™!7ТДД“НГОГО’1}-’ ’ I
[КОНЦУ [имя-данного-1] ... J
Синтаксические правила
Имя-данного-1 ле должно определяться в секции отчетов; Имя-данного-1 может быть уточненным.
Каждое повторение имени-данного-1 должно идентифицировать различные данные.
Имя-данного-1 не должно иметь подчиненных данных с переменным числом вхождений.
Общие правила
Имя-данного-1 и слово FINAL (ПО КОНЦУ) указывают' уровни иерархии управления. Если указано FINAL (ПО КОНЦУ)», то это самый высокий уровень управления, имя-данного-1 определяет старший уровень управления, следующее повторение имени- данного-1 — промежуточный уровень управления и т. д. Последнее повторение имени-данного-1 определяет младший уровень управления.
При выполнении первого по времени оператора GENERATE (ГЕНЕРИРОВАТЬ) для данного отчета система управления генератором отчетов запоминает значения всех управляющих данных,, связанных с этим отчетом. При следующих выполнениях всех операторов GENERATE (ГЕНЕРИРОВАТЬ) для данного отчета, СУГО проверяет, не изменились ли значения управляющих данных. Изменение значения любого управляющего данного приводит к прерыванию управления. Это прерывание управления связано о наивысшим уровнем иерархии управления, для которого отмечено изменение значения (п. 4.3 настоящей части).
Система управления генератором отчетов (СУГО) определяет наличие прерывания управления путем'сравнения содержимого каждого управляющего данного с предыдущим содержимым каждого управляющего данного, сохраненным во время предыдущего выполнения оператора GENERATE (ГЕНЕРИРОВАТЬ) для этого же отчета. Сравнение осуществляется следующим образом:
если управляющее данное является числовым данным, проверка отношения является сравнением двух числовых операндов;
если управляющее данное является индексным данным, проверка отношения является сравнением двух индексных данных;в остальных случаях проверка отношения является сравнением двух нечисловых операндов.
Проверка отношения неравенства объясняется в соответствующих параграфах (см. ч. 6, п. 6.3.1.1).
CONTROL IS FINAL (УПРАВЛЕНИЕ ПО КОНЦУ) используется, если наиболее объемлющая управляемая группа в отчете не связана с управляющим именем-данного.
3.8. Фраза PAGE (РАЗМЕР СТРАНИЦЫ)
Назначение
Фраза PAGE (РАЗМЕР СТРАНИЦЫ) определяет длину страницы и вертикальные подразделения, на которых представляются группы отчета.
Общий формат
[HEADING целое-2]
LINE
LINES
целое-1
LIMIT IS
LIMITS ARE
PAGE
[FIRST DETAIL целое-3] [LAST DETAIL целое-4]
[FOOTING целое-5]
РАЗМЕР СТРАНИЦЫ целое-1 СТРОК [ЗАГОЛОВОК целое-2]
[ПЕРВЫЙ ФРАГМЕНТ целое-3]
[ПОСЛЕДНИЙ ФРАГМЕНТ целое-4]
[КОНЦОВКА целое-5]
Синтаксические правила
Все указанные в формате варианты фразы могут быть записаны в произвольном порядке.
Целое-1 должно быть не более чем трехзначное число.
Целое-2 должно быть больше или равно единице.
Целое-3 должно быть больше или равно целому-2.
Целое-4 должно быть больше или равно целому-3.
Целое-5 должно быть больше или равно целому-4.
Целое-1 должно быть больше или равно целому-5.
Следующие правила указывают вертикальные подразделения страницы, на которых могут представляться группы отчета различного типа, если указана фраза PAGE (РАЗМЕР СТРАНИЦЫ) (п. 3.8.5 настоящей части).
Если группа отчета, являющаяся заголовком отчета, должна быть представлена на отдельной странице, то описание группы должно определять ее представление в вертикальном подразделении страницы, начиная от номера строки, указанного целым-2, до номера строки указаного целым-1, включительно.
Если группа отчета, являющаяся заголовком отчета, не должна быть представлена на отдельной странице, то описание группы дол-жно определять ее представление, начиная от номера строки, указанного целым-2, до номера строки, на единицу меньшего целого-3,, включительно.
Если указана группа отчета типа заголовок страницы, то ее описание должно определять ее представление в вертикальном подразделении страницы, начиная от номера строки, указанного целым-2, до номера строки, на единицу меньшего целого-3, включительно.
Если указана группа отчета управляемый заголовок или фрагмент, описание каждой из них должно определять представление соответствующей группы в вертикальном подразделении страницы, начиная от номера строки, указанного целым-3, до номера строки, указанного целым-4, включительно.
Если указана группа отчета управляемая концовка, ее описание должно определять ее представление в вертикальном подразделении страницы, начиная от номера строки, указанного целым-3, до номера строки, указанного целым-5, включительно.
Если указана группа отчета концовка страницы, ее описание должно определять ее представление в вертикальном подразделении страницы, начиная от номера строки, на единицу большего целого-5, до номера строки, указанного целым-4, включительно.
Описание группы отчета концовка отчета, которая должна быть представлена на отдельной странице, должно определять ее представление в вертикальном подразделении страницы, начиная от номера строки, указанного целым-2, до номера строки, указанного целым-1 включительно.
Описание группы отчета концовка отчета, которая не должна представляться на отдельной странице, должно определять ее представление, начиная от номера строки, указанного целым-5 плюс 1„ до номера строки, указанного целым-1, включительно.
Все группы отчета должны быть описаны так, чтобы каждая из них могла быть представлена на одной странице. СУГО не производит разбиение групп отчета, выходящих за границы страницы.
Общие правила
Значения целых, указанные во фразе PAGE (РАЗМЕР СТРАНИЦЫ), определяют вертикальный формат страницы отчета.
Целое-1 определяет размер страницы отчета, указывая чис^ ло строк, доступных на каждой странице.
Вариант HEADING целое-2 (ЗАГОЛОВОК целое-2) определяет номер первой из строк, на которой может быть представлена группа отчета заголовок страницы или заголовок отчета.
Вариант FIRST DETAIL (ПЕРВЫЙ ФРАГМЕНТ) определяет номер первой из строк, на которой может быть представлена группа тела отчета. Заголовок отчета (без варианта NEXT GROUP NEXT PAGE (СЛЕДУЮЩАЯ ГРУППА НА СЛЕДУЮЩЕЙ
СТРАНИЦЕ)) и заголовок страницы не могут быть представлены на строке с номером равным или больше целому-3.
Вариант LAST DETAIL (ПОСЛЕДНИЙ ФРАГМЕНТ) указывает номер последней строки, на которой могут быть представлены управляемый заголовок или фрагмент.
Вариант FOOTING целое-5 (КОНЦОВКА целое-5) определяет номер последней строки, на которой может быть представлена группа отчета управляемая концовка. Группа отчета концовка отчета (без варианта LINE целое-1 NEXT PAGE (НОМЕР СТРОКИ целое-1 НА СЛЕДУЮЩЕЙ СТРАНИЦЕ)) и концовка страницы должны располагаться на строке, следующей за строкой с номером, указанным целым-5.