NEWPAGE

#### Search Results

Search

# NEWPAGE

`NEWPAGE` [(rep)] |  | `EVEN` [`IF`] `TOP` [`OF`] [`PAGE`] |
| `IF` `WHEN` |  | `LESS` [`THAN`] operand1 [`LINES`] [`LEFT`]
[`WITH`] `TITLE` title-definition

This document covers the following topics:

- Function

- Syntax Description

- Example

For an explanation of the symbols used in the syntax diagram, see Syntax Symbols.

Related Statements: `AT END OF PAGE` | `AT TOP OF PAGE` | `CLOSE PRINTER` | `DEFINE PRINTER` | `DISPLAY` | `EJECT` | `FORMAT` | `PRINT` | `SKIP` | `SUSPEND IDENTICAL SUPPRESS` | `WRITE` | `WRITE TITLE` | `WRITE TRAILER`

Belongs to Function Group: Creation of Output Reports

## Function

The `NEWPAGE` statement is used to cause an advance to a new page. `NEWPAGE` also causes any `AT END OF PAGE` and `WRITE TRAILER` statements to be executed. A default title containing the date, time of day, and page number will appear on each new page unless a `WRITE TITLE`, `WRITE NOTITLE`, or `DISPLAY NOTITLE` statement is specified to define specific title processing.

Notes:

1. The advance to a new page is not performed at the time when the `NEWPAGE` statement is executed. It is performed only when a subsequent statement which produces output is executed.
2. If the `NEWPAGE` statement is not used, page advance is controlled automatically based on the Natural profile/session parameter `PS` (Page Size for Natural Reports).

## Syntax Description

Operand Definition Table:

Operand | Possible Structure | Possible Formats | Referencing Permitted | Dynamic Definition
--- | --- | --- | --- | ---
`operand1` | C | S |  |  |  |  | N | P | I |  |  |  |  |  |  |  |  | yes | no

Syntax Element Description:

Syntax Element | Description
--- | ---
`(rep)` | Report Specification: The notation `(rep)` may be used to specify the identification of the report for which the `NEWPAGE` statement is applicable. A value in the range `0 - 31` or a logical name which has been assigned using the `DEFINE PRINTER` statement may be specified. If `(rep)` is not specified, the `NEWPAGE` statement will be applicable to the first report (Report 0). For information on how to control the format of an output report created with Natural, see Report Format and Control (in the Programming Guide).
`EVEN IF TOP OF PAGE` | EVEN IF TOP OF PAGE Option: This option is used to cause a new page (with corresponding `AT TOP OF PAGE` and page title processing) to be generated, even if a new page was initiated immediately before the `NEWPAGE` statement was encountered.
`WHEN LESS THAN operand1 LINES LEFT` | WHEN LESS THAN ... LINES LEFT Option: This option is used to cause a new page to be generated when there are less than `operand1` lines left on the current page (current line count compared with value for the Natural profile/session parameter `PS`).
`WITH TITLE title-definition` | WITH TITLE Option: This option can be used to specify a title which is to be written to the new page generated. The `title-definition` is specified using the same syntax as described for the `WRITE TITLE` statement, except that the `SKIP` clause is not allowed in a `NEWPAGE WITH TITLE title-definition` statement.

## Example

    ** Example 'NWPEX1': NEWPAGE
    ************************************************************************
    DEFINE DATA LOCAL
    1 EMPLOY-VIEW VIEW OF EMPLOYEES
      2 CITY
      2 NAME
      2 SALARY    (1)
      2 CURR-CODE (1)
    END-DEFINE
    *
    LIMIT 15
    READ EMPLOY-VIEW BY CITY FROM 'DENVER'
      DISPLAY CITY (IS=ON) NAME SALARY (1) CURR-CODE (1)
      AT BREAK OF CITY
        SKIP 1
        /*
        NEWPAGE WHEN LESS THAN 10 LINES LEFT
        WRITE '****************************************'
          /   'SUMMARY FOR ' OLD(CITY)
          /   '****************************************'
          /   '****************************************'
          /   'SUM OF SALARIES:' SUM(SALARY(1))
          /   'AVG OF SALARIES:' AVER(SALARY(1))
          /   '****************************************'
        NEWPAGE
        /*
      END-BREAK
    END-READ
    END

#### Output of Program NWPEX1 - Page 1:

    Page      1                                                  05-01-18  10:01:45

            CITY                 NAME           ANNUAL   CURRENCY
                                                SALARY     CODE
    -------------------- -------------------- ---------- --------

    DENVER               TANIMOTO                  33000 USD
                         MEYER                     50000 USD

    ****************************************
    SUMMARY FOR  DENVER
    ****************************************
    ****************************************
    SUM OF SALARIES:      83000
    AVG OF SALARIES:      41500
    ****************************************

#### Output of Program NWPEX1 - Page 2:

    Page      2                                                  05-01-18  10:01:45

            CITY                 NAME           ANNUAL   CURRENCY
                                                SALARY     CODE
    -------------------- -------------------- ---------- --------

    DERBY                DEAKIN                     8750 UKL
                         GARFIELD                   6750 UKL
                         MUNN                       8800 UKL
                         MUNN                       5650 UKL
                         GREBBY                     9550 UKL
                         WHITT                      8650 UKL
                         PONSONBY                   5500 UKL
                         MAGUIRE                    4150 UKL
                         HEYWOOD                    3900 UKL
                         BRYDEN                     6750 UKL
                         SMITH                     39000 UKL
                         CONQUEST                  45000 UKL
                         ACHIESON                  11300 UKL

    ****************************************
    SUMMARY FOR  DERBY
    ****************************************

#### Output of Program NWPEX1 - Page 3:

    -------------------- -------------------- ---------- --------

    DERBY                DEAKIN                     8750 UKL
                         GARFIELD                   6750 UKL
                         MUNN                       8800 UKL
                         MUNN                       5650 UKL
                         GREBBY                     9550 UKL
                         WHITT                      8650 UKL
                         PONSONBY                   5500 UKL
                         MAGUIRE                    4150 UKL
                         HEYWOOD                    3900 UKL
                         BRYDEN                     6750 UKL
                         SMITH                     39000 UKL
                         CONQUEST                  45000 UKL
                         ACHIESON                  11300 UKL

    ****************************************
    SUMMARY FOR  DERBY
    ****************************************
    ****************************************
    SUM OF SALARIES:     163750
    AVG OF SALARIES:      12596
    ****************************************

### On this page

- Function
- Syntax Description
- Example