Формат печати
Logo CitForum CITForum на CD Форумы Газета Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

19.03.2010

Google
WWW CITForum.ru

Новости мира IT:

Архив новостей

Пятнадцатая техническая конференция «Корпоративные базы данных-2010»
Москва, 22–23 апреля

Формат блока REPORТ. (Генерация отчетов).


REPORT report-name (argument-list)



DEFINE variable-list { type | LIKE table-column |

   RECORD  { LIKE table.* | variable-list  type [,...]

                            END RECORD } }[,...]



[OUTPUT                       по умолчанию:



  [REPORT TO { "filename | PIPE "program" | PRINTER }    ]

                                 SCREEN

  [ LEFT   MARGIN integer ]         5

  [ RIGHT  MARGIN integer ]        132

  [ TOP    MARGIN integer ]         3

  [ BOTTOM MARGIN integer ]         3

  [ PAGE  LENGTH  integer ]         66

]



[ORDER [EXTERNAL] BY  sort-list ]     подсписок  переменных,

                                      входящих в аргументы


FORMAT EVERY ROW простейший оператор формата.
В этом случае нельзя использовать контрольные блоки.
либо
FORMAT включает несколько контрольных блоков, которые содержат обычные операторы 4GL и операторы применимые только в REPORТ

  ON EVERY ROW                  выводит строку

        statement

          . . .

  FIRST PAGE HEADER        выводит заголовок первой страницы

        statement

          . . .

  ON LAST ROW             окончание REPORT (подведение итогов)

        statement

          . . .

  PAGE HEADER                 заголовок каждой страницы

        statement

          . . .

  PAGE TRAILER                 в конце каждой страницы

        statement

          . . .

  BEFORE GROUP OF variable      в начале группы строк

        statement

          . . .

   . . .

  AFTER GROUP OF  variable       в конце группы строк

        statement

          . . .

   . . .

END REPORT



В контрольных блоках кроме обычных операторов 4GL используются:

NEED num-expr LINES     если на странице  осталось  менее  

                        expr строк, то начать с новой страницы.

PAUSE ["Сообщение"]     вывести  Сообщение на экран 

                        и ждать нажатия CR

PRINT FILE "filename"   вывести на печать содержимое файла



SKIP { integer LINE | TO TOP OF PAGE }



PRINT   список выражений [;]

       вывести на печать [не переводя строку]



     в REPORT можно использовать следующие функции:



num-expr SPACES                          вставить пробелы

char-exp WORDWRAP [RIGHT MARGIN integer] вывести длинную строку



LINENO                            номер строки на странице

PAGENO                            номер печатаемой страницы

Агрегатные функции:


[GROUP]   functioп   [WHERE  условие]

[для группы строк] применить функцию [только для строк, 

                                      удовлетворяющих условию]

где functioп может быть:

{ COUNT(*) | PERCENT(*) | { SUM | MAX | MIN | AVG }(expr) }

           в процентах от                      среднее

         общего кол-ва строк

Обычные функции 4GL

Назад || Оглавление || Вперед

Последние комментарии:

Я не верю в iPad (69)
19 марта, 12:17

Подписка на новости CITForum.ru

Новые публикации:

10 марта

  • HadoopDB: архитектурный гибрид технологий MapReduce и СУБД для аналитических рабочих нагрузок

  • Классификация OLAP-систем вида xOLAP

  • BGP. Три внешних канала. Балансировка исходящего и входящего трафиков

    Газета:

  • Что мы знаем об iPhone 4G?

    17 февраля

  • MapReduce и параллельные СУБД: друзья или враги?

  • Объектно-ориентированное программирование в ограничениях: новый подход на основе декларативных языков моделирования данных

  • Системологический подход к декомпозиции в объектно-ориентированном анализе и проектировании программного обеспечения

    Газета:

  • Эволюция Wine

    3 февраля

  • Дом на песке

  • Реальное переосмысление "формальных методов"

  • Интервью с Найджелом Пендзом

    Газета:

  • iPad. Первый взгляд на долгожданный планшет от Apple

  • Я не верю в iPad

    20 января

  • SQL/MapReduce: практический подход к поддержке самоописываемых, полиморфных и параллелизуемых функций, определяемых пользователями

  • Данные на лету: как технология потокового SQL помогает преодолеть кризис

    Обзоры журнала Computer:

    2 декабря

  • Сергей Кузнецов. Год эпохи перемен в технологии баз данных

    18 ноября

  • Генерация тестовых программ для подсистемы управления памятью микропроцессора

  • Сравнительный анализ современных технологий разработки тестов для моделей аппаратного обеспечения

    11 ноября

  • Генерация оптимизированных для ручного выполнения сценариев тестирования приложений с графическим интерфейсом пользователя

  • Применение технологии UniTESK для функционального тестирования инфаструктурного ПО Грид

    28 октября

  • Remoting с сервером на Unmanaged C++ или Вторая жизнь старых приложений

  • Методы обеспечения переносимости ПО

  • Организация сложных тестовых наборов

    22 октября

    Обзоры журнала Computer:

    14 октября

  • МОГучие способности: новые приемы анализа больших данных

  • Учимся регулярно выражаться

    8 октября

  • Записки исследователя NTFS

  • Создание кросс-платформенных графических интерфейсов на wxPerl

    Все публикации >>>


  • IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

    Информация для рекламодателей PR-акции, размещение рекламы — тел. +7 495 6608306, ICQ 232284597 Пресс-релизы — pr@citforum.ru
    Послать комментарий
    Информация для авторов

    Редакция раздаёт котят!

    Rambler's Top100 TopList liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня This Web server launched on February 24, 1997
    Copyright © 1997-2000 CIT, © 2001-2009 CIT Forum
    Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...