ГОСТ 22558-89 сторінка 86 з 116
Назначение
Фраза TYPE (ТИП) определяет, к какому типу принадлежит группа отчета, описание которой содержит эту фразу, и указывает время, в которое группа отчета должна обрабатываться СУГО.
Общий формат
/ REPORT HEADING
(rh
I PAGE HEADING )
I PH I
/CONTROL
HEADING 1 ( имя-данного-1
|
j
CH FINAL
(
/ TYPE IS
DETAIL 1
j DE J
/ CONTROL FOOTING | [ имя-данного-2 |
J CF J j FINAL j /PAGE FOOTING |
I PF I
/ REPORT FOOTING /
I RF J
І ЗАГОЛОВОК ОТЧЕТА I
j ЗО J
/ЗАГОЛОВОК СТРАНИЦЫ ]
і зс і
/ УПРАВЛЯЕМЫЙ ЗАГОЛОВОК]пп/имя-данного-1
І УЗ J—і концу
/ФРАГМЕНТ І
І ТИП
ФР J
/УПРАВЛЯЕМАЯ КОНЦОВКА /
І УК j
j имя-дашюго-2
—]КОНЦУ
/ КОНЦОВКА СТРАНИЦЫ 1
(кс J
/ КОНЦОВКА ОТЧЕТА )
j КО j
Синтаксические правила
RH (30) является сокращением REPORT HEADING (ЗАГОЛОВОК ОТЧЕТА).
РН (ЗС) является сокращением PAGE HEADING (ЗАГОЛОВОК СТРАНИЦЫ).
СН (УЗ) является сокращением CONTROL HEADING (УПРАВЛЯЕМЫЙ ЗАГОЛОВОК).
DE (ФР) является сокращением DETAIL (ФРАГМЕНТ).
СЕ (УК) является сокращением CONTROL FOOTING (УПРАВЛЯЕМАЯ КОНЦОВКА).
PF (КС) является сокращением PAGE FOOTING (КОНЦОВКА СТРАНИЦЫ).
RF (КО) является сокращением REPORT FOOTING (КОНЦОВКА ОТЧЕТА).
Каждая из групп отчета, определяемая фразами REPORT HEADING (ЗАГОЛОВОК ОТЧЕТА), PAGE HEADING (ЗАГОЛОВОК СТРАНИЦЫ), CONTROL HEADING FINAL (УПРАВЛЯЕМЫЙ ЗАГОЛОВОК ПО КОНЦУ), CONTROL FOOTING FINAL (УПРАВЛЯЕМАЯ КОНЦОВКА ПО КОНЦУ), PAGE FOOTING (КОНЦОВКА СТРАНИЦЫ) и REPORT FOOTING (КОНЦОВКА ОТЧЕТА) может указываться в описании отчета не более одного раза.
Группы отчета тина заголовок страницы и концовка страницы могут быть указаны только тогда, когда в статье описания соответствующего отчета указана Фраза PAGE (РАЗМЕР СТРАНИЦЫ).
Имя-данного-1, имя-данного-2 и FINAL (ПО КОНЦУ), если указаны в фразе TYPE (ТИП), должны быть указаны и во фразе CONTROL (УПРАВЛЕНИЕ) соответствующей статьи описания отчета. Для каждого из указанных во фразе CONTROL (УПРАВЛЕНИЕ) статьи описания отчета имеп-данпых или FINAL (ПО КОНЦУ) может быть определено ие более одной группы отчета типа управляемый заголовок и не более одной группы типа управляемая концовка. Тем не менее пи группа отчета типа управляемый заголовок, ни группа отчета типа управляемая концовка не являются обязательными для имени-данного или FINAL (ПО КОНЦУ), указанных во фразе CONTROL (УПРАВЛЕНИЕ) статьи описания отчета.
В группах отчета типа управляемая концовка, заголовок страницы, концовка страницы и концовка отчета фразы SOURCE (ИСТОЧНИК) и соответствующие операторы USE (ИСПОЛЬЗОВАТЬ) не могут ссылаться на следующие данные:
групповые данные, содержащие управляющее данное;
данные, подчиненные управляющему данному;
данные, переопределяющие или переименовывающие любые позиции управляющего данного.
В группах отчета типа заголовок страницы и концовка страницы фразы SOURCE (ИСТОЧНИК) и операторы USE (ИСПОЛЬЗОВАТЬ) не могут ссылаться па имена управляющих данных.
Если в разделе процедур указан оператор GENERATE имя- отчета (ГЕНЕРИРОВАТЬ имя-отчета), соответствующая статья описания отчета должна содержать не более одной группы отчета типа фрагмент. Если для такого отчета не указан ни один оператор GENERATE имя-даиного (ГЕНЕРИРОВАТЬ имя-данного), группа ■отчета типа фрагмент может не определяться.
Описание отчета должно включать по крайней мере одну труппу тела отчета.
3.20.4. Общие правила
Группы отчета типа фрагмент порождаются СУГО как прямой результат операторов GENERATE (ГЕНЕРИРОВАТЬ). Обработка групп отчета других типов является автоматической функцией СУГО.
Вариант REPORT HEADING (ЗАГОЛОВОК ОТЧЕТА) указывает группу отчета, порождаемую СУГО только один раз в •отчете как первую группу этого отчета. Группа типа заголовок отчета порождается в момент выполнения первого по времени оператора GENERATE (ГЕНЕРИРОВАТЬ) для этого отчета.
Вариант PAGE HEADING (ЗАГОЛОВОК СТРАНИЦЫ) указывает группу отчета, которая порождается СУГО как первая группа для каждой страницы этого отчета, кроме следующих случаев:
группа отчета типа заголовок страницы не порождается для страницы, которая должна содержать только группу типа заголовок отчета или концовка отчета;
группа типа заголовок страницы порождается как вторая группа отчета для страницы, когда ей предшествует группа типа заголовок отчета, которая не представляется на отдельной странице (см. п. 3.10 настоящей части).
Вариант CONTROL HEADING (УПРАВЛЯЕМЫЙ ЗАГОЛОВОК) указывает группу отчета, которая обрабатывается СУГО в начале управляемой группы и соотнесена управляющему имени- данного или управлению FINAL (ПО КОНЦУ) и порождается в момент выполнения первого по времени оператора GENERATE (ГЕНЕРИРОВАТЬ) для этого отчета. При выполнении любого оператора GENERATE (ГЕНЕРИРОВАТЬ), если СУГО обнаруживает прерывание управления, порождаются группы отчета типа управляемый заголовок, соотнесенные наивысшему обнаруженному уровню прерывания управления и более низким уровням.
Вариант DETAIL (ФРАГМЕНТ) указывает группу отчета, порождаемую СУГО при выполнении соответствующего оператора GENERATE (ГЕНЕРИРОВАТЬ).
Вариант CONTROL FOOTING (УПРАВЛЯЕМАЯ КОНЦОВКА) указывает группу отчета, порождаемую СУГО в конце управляемой группы для соответствующего управляющего имени» данного.
В случае управленій] FINAL (ПО КОНЦУ) группа типа управляемая концовка порождается только один раз в отчете как последняя группа тела этого отчета. При выполнении любого оператора GENERATE (ГЕНЕРИРОВАТЬ), если СУГО обнаруживает прерывание управления, порождается группа отчета типа управляемая концовка, соотнесенная наивысшему уровню прерывания управления и более низким уровням. Если для некоторого отчета- был выполнен хотя бы одии’оисратор GENERATE (ГЕНЕРИРОВАТЬ), то при выполнении оператора TERMINATE (ЗАКОНЧИТЬ) порождаются все группы типа управляемая концовка для этого отчета (см. п. 4.7 настоящей части).
Вариант PAGE FOOTING (КОНЦОВКА СТРАНИЦЫ) указывает группу отчета, которая порождается СУГО как последняя группа отчета на каждой странице за исключением следующих случаев:
группа отчета типа концовка страницы не порождается для страницы, которая должна содержать только группу типа заголовок отчета или только группу типа концовка отчета;
группа типа концовка страницы порождается как предпоследняя группа отчета на странице, если за ней следует группа типа- концовка отчета, не представляемая на отдельной странице (см. п. 3.10 настоящей части).
Вариант REPORT FOOTING (КОНЦОВКА ОТЧЕТА) сказывает группу отчета, которая порождается СУГО только один рад в отчете как последняя группа этого отчета. Группа типа концовка отчета порождается во время выполнения соответствующего оператора TERMINATE (ЗАКОНЧИТЬ), если до этого был выполнен хотя бы один оператор GENERATE (ГЕНЕРИРОВАТЬ) для этого отчета (см. п. 4.7 настоящей части).
При порождении групп отчета типа .заголовок отчета, заголовок страницы, управляемый заголовок, концовка страницы или концовка отчета СУГО выполняет последовательность действий, описанных ниже:
если указана процедура USE BEFORE REPORTING (ИСПОЛЬЗОВАТЬ ДО ВЫДАЧИ) со ссылкой на имя-дашюго группы отчета, выполняется процедура, определяемая оператором USE (ИСПОЛЬЗОВАТЬ);
если был выполнен оператор SUPPRESS (ПОДАВИТЬ) или группа отчета не печатаемая, дальнейшая обработка группы отчета не производится;
если оператор SUPPRESS (ПОДАВИТЬ) не был выполнен и группа отчета печатаемая, СУГО формирует печатаемые строки? и представляет группу отчета соответственно правилам представления для группы отчета этого типа (см. и. 3.10 настоящей части).
Ниже приводится последовательность действий, выполняемых СУГО при порождении группы типа управляемая концовка.
Правила для оператора GENERATE (ГЕНЕРИРОВАТЬ) указывают, что при распознавании прерывания управления СУГО порождает группы отчета типа управляемая концовка начиная от самого низкого уровня в порядке возрастания до наивысшего уровня прерывания управления. При этом нужно отметить, что если фраза RESET (СБРОСИТЬ) в описании отчета указывает управляющее имя-данного, выполняются действия, описанные в п. 10е, даже если для этого управляющего имени-данного не определена группа отчета типа управляемая концовка.
Производится концовочпое суммирование, т. е. все счетчики •сумм, определенные в этой группе отчета, являющиеся операндами фраз SUM. (СУММА) в этой же группе отчета, прибавляются к порождаемым этими фразами счетчикам сумм (см. п. 3.19 настоящей •части).
Производится нарастающее суммирование, т. е. все счетчики сумм, определенные в этой группе отчета, являющиеся операндами фраз SUM (СУММА) в группах отчета типа управляемая концовка, относящихся к более высоким уровням иерархии управления, прибавляются к порождаемым этими фразами счетчикам сумм (см. п. 3.19 настоящей части).
Если имеется процедура USE BEFORE REPORTING (ИСПОЛЬЗОВАТЬ ДО ВЫДАЧИ) со ссылкой на имя-данного группы «отчета, выполняется процедура, определенная оператором USE (ИСПОЛЬЗОВАТЬ).
Если был выполнен оператор SUPPRESS (ПОДАВИТЬ) или ■группа отчета непечатаемая, СУГО следующими выполняет действия, описанные в п. 10е ниже.
Если оператор SUPPRESS (ПОДАВИТЬ) не был выполнен ■и группа отчета печатаемая, СУГО формирует печатаемые строки и представляет-группу отчета соответственно правилам представления для групп отчета типа управляемая концовка.
Затем СУГО сбрасывает те счетчики сумм, обновление которых должно выполняться при обработке этого уровня иерархии управления (см. п. 3.19 настоящей части).
Обработка группы отчета тина фрагмент, выполняемая по -оператору GENERATE имя-отчета (ГЕНЕРИРОВАТЬ нмя-отче- та), описана в п. Па— 11д ниже.
Если в описании отчета указана только одна группа отчета типа фрагмент, обработка фрагмента выполняется генератором отчетов по оператору GENERATE имя-отчета (ГЕНЕРИРОВАТЬ имя- ютчета) в соответствии с и. Па—11л. описанными гч/.е. Эти дейст-
вия выполняются так, как если бы выполнялся оператор GENERATE имя-даниого (ГЕНЕРИРОВАТЬ имя-данного) для этого фрагмента.
Если в описании отчета нет ни одной группы отчета типа фрагмент, обработка, выполняемая по оператору GENERATE имя-отче- та (ГЕНЕРИРОВАТЬ имя-отчета), описана в Па.
Это действие выполняется так, как если бы описание отчета содержало только одну группу отчета типа фрагмент и выполнялся бы оператор GENERATE имя-данного (ГЕНЕРИРОВАТЬ имя- даппого).
Выполняется любое подытоживание, предназначенное для определенной группы отчета типа фрагмент (см. п. 3.19 настоящей части).
Если имеется процедура USE BEFORE REPORTING (ИСПОЛЬЗОВАТЬ ДО ВЫДАЧИ) со ссылкой на имя-данного группы отчета, выполняется процедура USE (ИСПОЛЬЗОВАТЬ).
Если был выполнен оператор SUPPRESS (ПОДАВИТЬ) или группа отчета непечатаемая, то ее дальнейшая обработка не производится.
Если группа отчета типа фрагмент порождается по оператору GENERATE имя-отчета (ГЕНЕРИРОВАТЬ имя-отчета), дальнейшая обработка группы отчета не производится.
Если ни 11в, ни Иг не применяются, формируются печатаемые строки п группа отчета представляется соответственно правилам представления для групп отчета типа фрагмент (см. п. 3.10 настоящей части).
При обработке групп отчета типа управляемый заголовок, управляемая концовка или фрагмент (см. общие правила 9, 10. И), СУГО может прерывать обработку этой группы тела после установления, что эта группа должна быть представлена, и выполнить переход на следующую страницу (и, соответственно, порождение групп отчета типа концовка страницы или заголовок страницы) до представления группы тела.
) При обработке прерывания управления значения управляющих данных, которые использовались СУГО для обнаружения прерывания управления, будут называться предыдущими .значениями.
При обработке по прерыванию управления группы отчета типа управляемая концовка любые ссылки на управляющие данные в процедуре, определенной оператором USE (ИСПОЛЬЗОВАТЬ) или фразе SOURCE (ИСТОЧНИК), связанные с этой группой типа управляемая концовка, относятся к предыдущим значениям.
При выполнении оператора TERMINATE (ЗАКОНЧИТЬ) и при порождении групп отчета типа управляемая концовка и концовка отчета СУГО обеспечивает доступность набора предыдущих.
значений управляющих данных фразе SOURCE (ИСТОЧНИК) или ссылкам процедуры, определенной оператором USE (ИСПОЛЬЗОВАТЬ), как если бы прерывание управления было распознано для управляющего имени-данного самого старшего уровня.
Ссылки на все остальные данные в группах отчета и относящихся к ним процедурах операторов USE (ИСПОЛЬЗОВАТЬ) относятся к текущим значениям данных во время обработки этой группы отчета.
3.21. Фраза USAGE (ОБ ИСПОЛЬЗОВАНИИ)
Назначение
Фраза USAGE (об использовании) определяет формат данного в памяти машины.
Побачили розбіжність з офіційним текстом?