Язык программирования баз данных Informix-4GL


Структура программы отчета - часть 2


Ниже приведен формат секции FORMAT.

FORMAT

{

EVERY ROW | быстрый отчет;

{

{

[FIRST] PAGE HEADER | в начале [первой] страницы;

PAGE TRAILER | в конце страницы;

ON {EVERY ROW | для каждой строки;

LAST ROW} | после последней строки;

{BEFORE | AFTER} перед/после группы.

GROUP OF variable

}

statement . . .

} . . .

}

Самая простая секция FORMAT содержит единственный оператор EVERY ROW и используется для формирования быстрого отчета; в этом случае в секции FORMAT нельзя использовать никакие другие операторы или управляющие блоки.

Более сложные секции FORMAT могут содержать следующие управляющие блоки:

PAGE HEADER control block;

ON LAST ROW control block;

PAGE TRAILER control block;

BEFORE GROUP OF control block;

ON EVERY ROW control block;

AFTER GROUP OF control block;

FIRST PAGE HEADER control block.

После перечисленных выше конструкций, открывающих управляющий блок, следует последовательность 4GL-операторов (в том числе и SQL-операторов), 4GL-функций, а также операторов и функций форматирования, которые могут использоваться только в блоке REPORT.

Операторы форматирования секции FORMAT

NEED integer-expr LINES

Начать вывод с новой страницы, если заданное количество строк (LINES) не помещается на текущей странице

PAUSE ["string"]

Приостановить вывод в отчет до нажатия клавиши Enter

PRINT [integer-list] [;]

Вывести информацию в отчет так, как указано в секции OUTPUT; один оператор PRINT выполняет вывод в одну строку до тех пор, пока не использована конструкция CLIPPED (отсечь пробелы), USING(форматировать) или n SPACES (пропустить n позиций); очередное выражение выводится в поле, ширина которого зависит от типа данных

 

Тип данных

Размер по умолчанию

 

Char

размер Char-переменной

 

Date

10

 

Float

14 (включая знак и десятичную точку)

 

Smallint

6 (включая знак)

 

Integer

11 (включая знак)

 

Smallfloat

14 (включая знак и десятичную точку)

 

Decimal

число цифр + 2 (включая знак и десятичную точку)

 

Serial

11

 

Money

число цифр + 3 (включая знак, десятичную точку и знак доллара)

PRINT FILE "filename"

Вывод содержимого текстового файла в отчет

SKIP {integer-expr LINE[S] |

TO TOP OF PAGE}

Пропуск строк в отчете или переход к началу следующей странице

<


Начало  Назад  Вперед



Книжный магазин