NEWPAGE

#### Search Results

Search

# NEWPAGE

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

Dieses Dokument behandelt folgende Themen:

- Funktion NEWPAGE

- Syntax-Beschreibung NEWPAGE

- Beispiel für NEWPAGE-Statement

Eine Erläuterung der in dem Syntax-Diagramm verwendeten Symbole entnehmen Sie dem Abschnitt Syntax-Symbole.

Verwandte 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`

Gehört zur Funktionsgruppe: Erstellen von Ausgabe-Reports

## Funktion NEWPAGE

Das Statement `NEWPAGE` dient dazu, einen Seitenvorschub auszulösen und eine neue Seite zu beginnen. `NEWPAGE` bewirkt außerdem, dass etwaige `AT END OF PAGE`- und `WRITE TRAILER`-Statements ausgeführt werden. Ist eine Seitenüberschrift-Verarbeitung aber nicht ausdrücklich definiert (`WRITE TITLE`, `WRITE NOTITLE` oder `DISPLAY NOTITLE`), erhält jede neue Seite eine Standardüberschrift mit Datum, Uhrzeit und laufender Seitennummer.

Anmerkungen:

1. Der Seitenvorschub wird dann nicht vorgenommen, wenn das `NEWPAGE`-Statement ausgeführt wird, sondern nur, wenn ein anschließendes, eine Ausgabe erzeugendes Statement ausgeführt wird.
2. Wird kein `NEWPAGE`-Statement verwendet, so wird der Seitenvorschub automatisch in Abhängigkeit von der mit dem Profil-/Session-Parameter `PS` definierten Seitenlänge gesteuert.

## Syntax-Beschreibung NEWPAGE

Operanden-Definitionstabelle:

Operand | Mögliche Struktur | Mögliche Formate | Referenzierung erlaubt | Dynam. Definition
--- | --- | --- | --- | ---
operand1 | C | S |  |  |  |  | N | P | I |  |  |  |  |  |  |  |  | ja | nein

Syntax-Element-Beschreibung:

Syntax-Element | Beschreibung
--- | ---
`(rep)` | Report-Spezifikation: Mit der Notation `(rep)` kann ein bestimmter anderer Report angegeben werden, auf den sich das Statement `NEWPAGE` beziehen soll. Es kann ein Wert von 0 bis 31 oder ein logischer Name, der mit einem `DEFINE PRINTER`-Statement zugewiesen wurde, angegeben werden. Falls mit `(rep)` nichts anderes angegeben wird, bezieht sich das `NEWPAGE`-Statement auf den ersten Report (Report 0). Informationen darüber, wie Sie das Format eines mit Natural erstellten Ausgabe-Reports steuern, siehe Steuerung der Ausgabe von Daten im Leitfaden zur Programmierung.
`EVEN IF TOP OF PAGE` | Mit dieser Option bewirken Sie, dass das `NEWPAGE`-Statement einen Seitenvorschub (mit entsprechender `AT TOP OF PAGE`- und Seitenüberschrift-Verarbeitung) auslöst, auch wenn unmittelbar vorher bereits ein Seitenvorschub erfolgt ist.
`WHEN LESS THAN operand1 LINES LEFT` | Mit dieser Option bewirken Sie, dass das `NEWPAGE`-Statement ausgeführt wird, wenn auf der aktuellen Seite weniger als operand1 Zeilen übrig sind. Der interne Zeilenzähler orientiert sich hierbei am Wert des Profil-/Session-Parameters `PS`.
`WITH TITLE title-definition` | Diese Option können Sie verwenden, um auf der generierten neuen Seite eine Überschrift auszugeben. Für die title-definition gilt dieselbe Syntax wie für das Statement `WRITE TITLE`, außer dass die `SKIP`-Klausel in einem `NEWPAGE WITH TITLE title-definition`-Statement nicht erlaubt ist.

## Beispiel für NEWPAGE-Statement

    ** 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

Ausgabe des Programms `NWPEX1` - Seite 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
    ****************************************

Ausgabe des Programms `NWPEX1` - Seite 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
    ****************************************

Ausgabe des Programms `NWPEX1` - Seite 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

- Funktion NEWPAGE
- Syntax-Beschreibung NEWPAGE
- Beispiel für NEWPAGE-Statement