EJECT

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


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.

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