Формат блоку 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) }
у відсотках від середнє
загального кол-ва рядків

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*