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