Dieser Abschnitt 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 oder 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 ****************************************************************