Dieses Dokument behandelt folgende Themen:
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
Das EJECT-Statement kann dazu verwendet werden, einen
Seitenvorschub auszulösen.
Vgl. auch Natural Profil- und Session-Parameter
EJ in der
Parameter-Referenz.
Zwei verschiedene Strukturen sind für dieses Statement möglich.
Eine Erläuterung der in dem Syntax-Diagramm verwendeten Symbole entnehmen Sie dem Abschnitt Syntax-Symbole.
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 |
Bewirkt, dass Natural jeweils zwischen der Sourceprogramm-
Auflistung, dem Ausgabe-Report und der Meldung |
|
| EJECT OFF |
Bewirkt, dass keiner der oben genannten Seitenvorschübe ausgeführt
wird. |
|
(rep) |
Report-Spezifikation:
Mit der Notation
|
|
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 Es kann ein Wert von 0 bis 31 oder ein logischer Name, der mit
einem Falls nichts anderes angegeben wird, bezieht sich das
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. |
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.
** 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 ****************************************************************