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
Last-modified: Thu, 12 Feb 1998 08:47:55 GMT