EJECT

#### Search Results

Search

# EJECT

Dieses Dokument behandelt folgende Themen:

- Funktion

- Syntax-Beschreibung

- Verarbeitung

- Beispiel

Verwandte Statements: `CLOSE PRINTER` | `DEFINE PRINTER` | `DISPLAY` | `FORMAT` | `NEWPAGE` | `PRINT` | `SKIP` | `SUSPEND IDENTICAL SUPPRESS` | `WRITE` | `WRITE TITLE` | `WRITE TRAILER`

Gehört zur Funktionsgruppe: Erstellen von Ausgabe-Reports

## Funktion

Das `EJECT`-Statement kann dazu verwendet werden, einen Seitenvorschub auszulösen.

Vgl. auch Natural Profil- und Session-Parameter `EJ` in der Parameter-Referenz.

## Syntax-Beschreibung

Zwei verschiedene Strukturen sind für dieses Statement möglich.

- EJECT - Syntax 1

- EJECT - Syntax 2

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

### EJECT - Syntax 1

`EJECT` |  | `ON` |  | [(rep)]
`OFF`

Syntax-Element-Beschreibung:

Syntax-Element | Beschreibung
--- | ---
`EJECT ON/OFF (rep)` | Mit Report-Spezifikation − Online- und Batch-Verarbeitung:
EJECT OFF (rep) | Bewirkt, dass für den angegebenen Report kein Seitenvorschub (außer einem mit Syntax 2 des `EJECT`-Statements angegebenen) ausgeführt wird.
EJECT ON (rep) | Bewirkt, dass Seitenvorschübe für den angegebenen Report ausgeführt werden.
`EJECT ON/OFF` | Ohne Report-Spezifikation — nur Batch-Verarbeitung: `EJECT ON/OFF` — ohne `(rep)`-Notation — kann im Batch-Betrieb dazu verwendet werden, den Seitenvorschub zwischen den bei der Ausführung eines Programms erzeugten Ausgabelisten zu steuern.
EJECT ON | Bewirkt, dass Natural jeweils zwischen der Sourceprogramm- Auflistung, dem Ausgabe-Report und der Meldung `EXECUTION COMPLETED` einen Seitenvorschub ausführt. Dies ist die Voreinstellung.
EJECT OFF | Bewirkt, dass keiner der oben genannten Seitenvorschübe ausgeführt wird. `EJECT OFF` gilt solange, bis es durch ein nachfolgendes `EJECT ON`-Statement wieder zurückgenommen wird.
`(rep)` | Report-Spezifikation: Mit der Notation `(rep)` kann ein bestimmter anderer Report angegeben werden, auf den sich das Statement 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 nichts anderes angegeben wird, bezieht sich das `EJECT`-Statement auf den ersten Report (Report 0). Informationen darüber, wie Sie das Format eines mit Natural erstellten Ausgabe-Reports steuern können, siehe Steuerung der Ausgabe von Daten im Leitfaden zur Programmierung.

### EJECT - Syntax 2

Diese Form des `EJECT`-Statements kann dazu verwendet werden, einen Seitenvorschub auszulösen, ohne dass eine End-of-Page- oder Top-of-Page-Verarbeitung durchgeführt oder auf der neuen Seite eine Titel- oder Kopfzeile generiert wird.

`EJECT` | [( rep )] |  |  | `IF` |  | `LESS` [`THAN`] operand1 [`LINES`] [`LEFT`] |
`WHEN`

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 `EJECT`-Statement 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 nichts anderes angegeben wird, bezieht sich das `EJECT`-Statement auf den ersten ausgegebenen Report (Report 0). Informationen darüber, wie Sie das Format eines mit Natural erstellten Ausgabe- Reports steuern können, siehe Steuerung der Ausgabe von Daten im Leitfaden zur Programmierung.
`IF LESS THAN operand1 LINES LEFT` | Ein Seitenvorschub wird nur ausgeführt, wenn die aktuelle Zeile für die Seite größer als die Seitenlänge minus operand1 ist. operand1 kann als numerische Konstante oder als Variable angegeben werden.

## Verarbeitung

Die Ausführung eines `EJECT`-Statements löst keine Ausführung der mit `AT TOP OF PAGE`, `AT END OF PAGE`, `WRITE TITLE` or `WRITE TRAILER` verknüpften Statements aus. Ebensowenig beeinflusst es die Auswertung von Systemfunktionen in einem `DISPLAY`-Statement mit `GIVE SYSTEM FUNCTIONS`-Klausel.

Das Statement `EJECT` bewirkt lediglich, dass eine neue physische Ausgabeseite begonnen wird. Es bewirkt außerdem, dass der Wert der Natural-Systemvariablen `*LINE-COUNT` wieder auf `1` gesetzt wird, hat aber keinen Einfluss auf die Natural-Systemvariable `*PAGE-NUMBER`.

## Beispiel

    ** Example 'EJTEX1': EJECT
    ************************************************************************
    DEFINE DATA LOCAL
    1 EMPLOY-VIEW VIEW OF EMPLOYEES
      2 CITY
      2 NAME
      2 JOB-TITLE
    END-DEFINE
    *
    FORMAT PS=15
    LIMIT 9
    READ EMPLOY-VIEW BY CITY
      /*
      AT START OF DATA
        EJECT
        WRITE /// 20T '%' (29) /
                  20T '%%'                          47T '%%' /
                  20T '%%' 3X 'REPORT OF EMPLOYEES' 47T '%%' /
                  20T '%%' 3X '  SORTED BY CITY   ' 47T '%%' /
                  20T '%%'                          47T '%%' /
                  20T '%' (29) /
        EJECT
      END-START
      EJECT WHEN LESS THAN 3 LINES LEFT
      /*
      WRITE '*' (64)
      DISPLAY NOTITLE NOHDR CITY NAME JOB-TITLE 5X *LINE-COUNT
      WRITE '*' (64)
    END-READ
    END

Ausgabe des Programms `EJTEX1`:

                         %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
                         %%                         %%
                         %%   REPORT OF EMPLOYEES   %%
                         %%     SORTED BY CITY      %%
                         %%                         %%
                         %%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Nach dem Drücken von EINGABE:

    ****************************************************************
    AIKEN                SENKO                PROGRAMMER                         2
    ****************************************************************
    ****************************************************************
    AIX EN OTHE          GODEFROY             COMPTABLE                          5
    ****************************************************************
    ****************************************************************
    AJACCIO              CANALE               CONSULTANT                         8
    ****************************************************************
    ****************************************************************
    ALBERTSLUND          PLOUG                KONTORASSISTENT                   11
    ****************************************************************
    ****************************************************************
    ALBUQUERQUE          HAMMOND              SECRETARY                         14
    ****************************************************************

Nach dem Drücken von EINGABE:

    ****************************************************************
    ALBUQUERQUE          ROLLING              MANAGER                            2
    ****************************************************************
    ****************************************************************
    ALBUQUERQUE          FREEMAN              MANAGER                            5
    ****************************************************************
    ****************************************************************
    ALBUQUERQUE          LINCOLN              ANALYST                            8
    ****************************************************************
    ****************************************************************
    ALFRETON             GOLDBERG             JUNIOR                            11
    ****************************************************************

### On this page

- Funktion
- Syntax-Beschreibung
- Verarbeitung
- Beispiel