Compaq COBOL AAQ2G1FTK User Manual

Page 330

Advertising
background image

Producing Printed Reports
10.8 Programming a Report Writer Report

You can also specify absolute line spacing with the NEXT GROUP clause. An
absolute line example—NEXT GROUP IS 10—places the next report group on
line 10 of the page. In addition you can use NEXT GROUP NEXT PAGE, which
causes a page-eject to occur before the NEXT GROUP report group prints.

NEXT GROUP can be coded only for REPORT HEADING, CONTROL HEADING,
DETAIL, CONTROL FOOTING, and PAGE FOOTING report groups, and only at
the 01 level.

A PAGE FOOTING report group must not specify the NEXT PAGE phrase of the
NEXT GROUP clause.

Both the LINE and NEXT GROUP clauses must adhere to the page parameters
specified in the PAGE clause in the RD entry.

In addition, the Report Writer facility keeps track of the number of lines printed
or skipped on each page by using the LINE-COUNTER, which references
a special register that the compiler generates for each Report Description
entry in the Report Section. The Report Writer facility maintains the value of
LINE-COUNTER and uses this value to determine the vertical positioning of a
report.

10.8.6 Horizontal Spacing for the Logical Page

The COLUMN NUMBER clause defines the horizontal location of items within a
report line.

You use the COLUMN NUMBER clause only at the elementary level. This clause
must appear in or be subordinate to an entry that contains a LINE NUMBER
clause. Within the description of a report line, the COLUMN NUMBER clauses
must show values in ascending column order. Column numbers must be positive
integer literals with values from 1 to the maximum number of print positions on
the printer. For example:

01

DETAIL-LINE
TYPE DETAIL
LINE PLUS 1.
02 COLUMN 1

PIC X(15)

SOURCE LAST-NAME.

02 COLUMN 17

PIC X(10)

SOURCE FIRST-NAME.

02 COLUMN 28

PIC XX

SOURCE MIDDLE-INIT.

02 COLUMN 40

PIC X(20)

SOURCE ADDRESS.

02 COLUMN 97

PIC $$$,$$$,$$$.99 SOURCE INVOICE-SALES.

Omitting the COLUMN clause creates a null (nonprinting) report item. Null
report items are used to accumulate totals and force control breaks as described
in Section 10.8.4.

The following example shows the use of a COLUMN NUMBER clause in a LINE
clause:

02

LINE 15 COLUMN 1 PIC X(12) VALUE "SALES TOTALS".

The previous example results in the following output:

1

2

3

4

column 1234567890123456789012345678901234567890

SALES TOTALS

10–30 Producing Printed Reports

Advertising