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

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

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

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

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. Синтаксические правила

  1. Имя-отчета-1 должно указываться в одной и только одной фразе REPORTS (ОТЧЕТЫ).

  2. Порядок появления фраз, следующих за именем-отчета-Ц не существенен.

  3. Имя-отчета-1 является наивысшим допустимым уточните­лем, который может быть указан для LINE-COUNTER (СЧЕТЧИК- СТРОК), PAGE-COUNTER (СЧЕТЧИК-СТРАНИЦ) и для всех имен-данных, определяемых в секции отчетов.

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

  1. Фразы CODE (С КОДОМ), CONTROL (УПРАВЛЕНИЕ) и PAGE (РАЗМЕР СТРАНИЦЫ) представлены начиная с п. 3.6 настоящей части.

  1. Правила для счетчика страниц

  1. PAGE-COUNTER (СЧЕТЧИК-СТРАНИЦ) — это зарезер­вированное слово, используемое для ссылки на специальный ре­гистр, автоматически создаваемый для каждого отчета, указанно­го в секции отчетов (см. ч. 4, п. 4.2.2.1.3.3.1 и п. 1.2.2 настоящей час­ти) .

  2. В секции отчетов ссылка на PAGE-COUNTER (СЧЕТЧИК- СТРАНИЦ) разрешается только во фразе SOURCE (ИСТОЧ­НИК). В разделе процедур PAGE-COUNTER (СЧЕТЧИК-СТРА­НИЦ) может быть использован в любом контексте, в котором мо­жет быть указано данное или значение целого.

  3. Если в программе имеется более одного PAGE-COUNTER '(СЧЕТЧИК-СТРАНИЦ), то обращение к каждому из них в разде­ле процедур должно быть уточнено именем-отчета.

В секции отчетов неуточненная ссылка на PAGE-COUNTER '(СЧЕТЧИК-СТРАНИЦ) уточняется неявно именем отчета, в ста­тье описания которого сделана ссылка. Всякий раз, когда имеется ссылка на PAGE-COUNTER (СЧЕТЧИК-СТРАНИЦ) другого от­чета, PAGE-COUNTER (СЧЕТЧИК-СТРАНИЦ) должен быть яв­но уточнен соответствующим именем-отчета.

  1. Выполнение оператора INITIATE (НАЧАТЬ) приводит к установке системой управления генератором отчетов счетчика страниц соответствующего отчета в единицу.

  2. Счетчик страниц автоматически увеличивается на единицу каждый раз, когда система управления генератором отчетов осу­ществляет переход на следующую страницу.

  3. Счетчик страниц может быть изменен операторами раздела процедур.

  1. Правила для счетчика строк

  1. LINE-COUNTER (СЧЕТЧИК-СТРОК) — это зарезервиро­ванное слово, используемое для ссылки на специальный регистр, автоматически создаваемый для каждого отчета, указанного в сек­ции отчетов (см. ч. 4, п. 4.2.2.1.3.3.1 и п. 1.2.3 настоящей части).

В секции отчетов ссылка на LINE-COUNTER- (СЧЕТЧИК- СТРОК) разрешена только во фразе SOURCE (ИСТОЧНИК). В разделе процедур LINE-COUNTER (СЧЕТЧИК-СТРОК) может быть использован в любом контексте, в котором может быть ука­зано данное или значение целого. Однако менять содержимое счет­чика строк может только система управления генератором отчетов.

  1. Если в программе имеется более одного счетчика строк, ссылка на каждый из них в разделе процедур должна уточняться именем-отчета.

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

  1. Выполнение оператора INITIATE (НАЧАТЬ) приводит к установке системой управления генератором отчетов счетчика строк соответствующего отчета в нуль. Система управления генератором отчетов также автоматически переустанавливает счетчик строк в нуль при переходе на следующую страницу.

  2. На значение счетчика строк не влияет обработка непеча­таемых групп отчета или печатаемых групп отчета, печать которых отменяется посредством оператора SUPPRESS (ПОДАВИТЬ).

  3. В момент представления каждой печатаемой строки значе­ние счетчика строк указывает номер строки, на которой представ­ляется печатаемая строка. Значение счетчика строк после пред­ставления группы отчета управляется правилами представления для группы отчета (п. 3.10 настоящей части).

  1. Фраза CODE (С КОДОМ)

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

Фраза CODE (С КОДОМ) указывает литерал из двух литер, идентифицирующий каждую печатаемую строку отчета как при­надлежащую к определенному отчету.

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

СОРЕ литерал-1

С КОДОМ литерал-1

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

  1. Литерал-1 должен быть нечисловым литералом, состоящим из двух литер.

  2. Если фраза CODE (С КОДОМ) указана для некоторого от­чета в файле, то она должна быть указана для всех отчетов этого файла.

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

  1. Если указана фраза CODE (С КОДОМ), литерал-1 авто­матически помещается в первые две позиции литер каждой логи­ческой записи отчета.

  2. Позиции, занимаемые литералом-1, не включаются в опи­сание печатаемой строки, но включаются в размер логической за­писи.

  1. Фраза CONTROL (УПРАВЛЕНИЕ)

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

Фраза CONTROL (УПРАВЛЕНИЕ) устанавливает для отчета уровни иерархии управления.

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

[ CONTROL IS 1 ( {имя-данного-1}... 1

[ CONTROLS ARE;J I FINAL [имя-данного-1] . .. J

УПРАВЛЕНИЕ ПО И™!7ТДД“НГОГО1}-’ ’ I

[КОНЦУ [имя-данного-1] ... J

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

  1. Имя-данного-1 ле должно определяться в секции отчетов; Имя-данного-1 может быть уточненным.

  2. Каждое повторение имени-данного-1 должно идентифици­ровать различные данные.

  3. Имя-данного-1 не должно иметь подчиненных данных с пе­ременным числом вхождений.

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

  1. Имя-данного-1 и слово FINAL (ПО КОНЦУ) указывают' уровни иерархии управления. Если указано FINAL (ПО КОНЦУ)», то это самый высокий уровень управления, имя-данного-1 опреде­ляет старший уровень управления, следующее повторение имени- данного-1 — промежуточный уровень управления и т. д. Последнее повторение имени-данного-1 определяет младший уровень управ­ления.

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

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

  1. если управляющее данное является числовым данным, про­верка отношения является сравнением двух числовых операндов;

  2. если управляющее данное является индексным данным, про­верка отношения является сравнением двух индексных данных;в остальных случаях проверка отношения является сравне­нием двух нечисловых операндов.

Проверка отношения неравенства объясняется в соответствую­щих параграфах (см. ч. 6, п. 6.3.1.1).

  1. CONTROL IS FINAL (УПРАВЛЕНИЕ ПО КОНЦУ) ис­пользуется, если наиболее объемлющая управляемая группа в от­чете не связана с управляющим именем-данного.

3.8. Фраза PAGE (РАЗМЕР СТРАНИЦЫ)

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

Фраза PAGE (РАЗМЕР СТРАНИЦЫ) определяет длину стра­ницы и вертикальные подразделения, на которых представляются группы отчета.

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

[HEADING целое-2]


LINE

LINES


целое-1


LIMIT IS

LIMITS ARE


PAGE



[FIRST DETAIL целое-3] [LAST DETAIL целое-4]

[FOOTING целое-5]

РАЗМЕР СТРАНИЦЫ целое-1 СТРОК [ЗАГОЛОВОК целое-2]

[ПЕРВЫЙ ФРАГМЕНТ целое-3]

[ПОСЛЕДНИЙ ФРАГМЕНТ целое-4]

[КОНЦОВКА целое-5]

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

  1. Все указанные в формате варианты фразы могут быть за­писаны в произвольном порядке.

  2. Целое-1 должно быть не более чем трехзначное число.

  3. Целое-2 должно быть больше или равно единице.

  4. Целое-3 должно быть больше или равно целому-2.

  5. Целое-4 должно быть больше или равно целому-3.

  6. Целое-5 должно быть больше или равно целому-4.

  7. Целое-1 должно быть больше или равно целому-5.

  8. Следующие правила указывают вертикальные подразделе­ния страницы, на которых могут представляться группы отчета различного типа, если указана фраза PAGE (РАЗМЕР СТРАНИ­ЦЫ) (п. 3.8.5 настоящей части).

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

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

  1. Если указана группа отчета типа заголовок страницы, то ее описание должно определять ее представление в вертикальном подразделении страницы, начиная от номера строки, указанного целым-2, до номера строки, на единицу меньшего целого-3, вклю­чительно.

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

  3. Если указана группа отчета управляемая концовка, ее опи­сание должно определять ее представление в вертикальном под­разделении страницы, начиная от номера строки, указанного це­лым-3, до номера строки, указанного целым-5, включительно.

  4. Если указана группа отчета концовка страницы, ее описание должно определять ее представление в вертикальном подразделе­нии страницы, начиная от номера строки, на единицу большего це­лого-5, до номера строки, указанного целым-4, включительно.

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

Описание группы отчета концовка отчета, которая не должна представляться на отдельной странице, должно определять ее пред­ставление, начиная от номера строки, указанного целым-5 плюс 1„ до номера строки, указанного целым-1, включительно.

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

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

  1. Значения целых, указанные во фразе PAGE (РАЗМЕР СТРАНИЦЫ), определяют вертикальный формат страницы отчета.

  1. Целое-1 определяет размер страницы отчета, указывая чис^ ло строк, доступных на каждой странице.

  2. Вариант HEADING целое-2 (ЗАГОЛОВОК целое-2) опреде­ляет номер первой из строк, на которой может быть представлена группа отчета заголовок страницы или заголовок отчета.

  3. Вариант FIRST DETAIL (ПЕРВЫЙ ФРАГМЕНТ) опреде­ляет номер первой из строк, на которой может быть представлена группа тела отчета. Заголовок отчета (без варианта NEXT GROUP NEXT PAGE (СЛЕДУЮЩАЯ ГРУППА НА СЛЕДУЮЩЕЙ

СТРАНИЦЕ)) и заголовок страницы не могут быть представлены на строке с номером равным или больше целому-3.

  1. Вариант LAST DETAIL (ПОСЛЕДНИЙ ФРАГМЕНТ) ука­зывает номер последней строки, на которой могут быть представле­ны управляемый заголовок или фрагмент.

  2. Вариант FOOTING целое-5 (КОНЦОВКА целое-5) опреде­ляет номер последней строки, на которой может быть представлена группа отчета управляемая концовка. Группа отчета концовка от­чета (без варианта LINE целое-1 NEXT PAGE (НОМЕР СТРОКИ целое-1 НА СЛЕДУЮЩЕЙ СТРАНИЦЕ)) и концовка страницы должны располагаться на строке, следующей за строкой с номе­ром, указанным целым-5.