DREPORTE report-name (argument-list)

DDEFINEE variable-list { type | LIKE table-column |
   RECORD  { LIKE table.* | variable-list  type [,...] END RECORD }}[,...]

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

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

[DORDERE [EXTERNAL] BY  sort-list ] подсписок переменных, входящих в аргументы


DFORMAT EVЕRY ROWE   простейший оператор формата.
                В этом случае нельзя использовать контрольные блоки.
        либо

DFORMATE  включает в себя несколько контрольных блоков, которые 
содержат обычные операторы 4GL и операторы применимые только в REPORT

  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
          . . .
   . . .
DEND REPORTE
---------------------------------------------------------------
в контрольных блоках помимо обычных операторов 4GL используются:

NEED num-expr LINES     если на странице осталось менее expr строк, 
                        то начать с новой страницы.

PAUSE ["Сообщение" ]    вывести Сообщение на экран и ждать нажатия CR

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

SKIP { integer LINE | TO TOP OF PAGE }

PRINT   expr-list   [;] вывести на печать [ не переводя строку ]


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

num-expr SPACES                          вставить пробелы
char-exp WORDWRAP [RIGHT MARGIN integer] вывести длинную строку

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

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

[GROUP]   DfunctionE   [WHERE  условие]
[для группы строк] применить функцию [только для строк, удовлетворяющих условию]

где DfunctionE может быть:
{ COUNT(*) | PERCENT(*) | { SUM | MAX | MIN | AVG }(expr) }
           в процентах от                      среднее
         общего кол-ва строк

        DОбычные функции 4GL (см. файл h4fu)E

Популярность: 6, Last-modified: Thu, 12 Feb 1998 08:47:55 GmT