WRITE TRAILER

WRITE [(rep)] TRAILER [LEFT [JUSTIFIED]]   [UNDERLINED]  
  [(statement-parameters )]  
          

nX

 

 
  nT 'text' [(attributes)]
  x/y 'c'(n) [(attributes)]
  T*field-name ['='] operand1 [(parameters)]
  P*field-name  
  /
  [SKIP operand2 [LINES]]    

Dieses Dokument behandelt folgende Themen:

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

Verwandte Statements: AT END OF PAGE | AT TOP OF PAGE | CLOSE PRINTER | DEFINE PRINTER | DISPLAY | EJECT | FORMAT | NEWPAGE | PRINT | SKIP | SUSPEND IDENTICAL SUPPRESS | WRITE | WRITE TITLE

Gehört zur Funktionsgruppe: Erstellen von Ausgabe-Reports


Funktion

Das Statement WRITE TRAILER dient dazu, am Ende einer Ausgabeseite eine Fußzeile auszugeben.

Siehe auch die folgenden Abschnitte im Leitfaden zur Programmierung:

Verarbeitung

Dieses Statement ist nicht-prozedural (das heißt, seine Ausführung hängt von einem Ereignis ab, nicht davon, wo im Programm es steht).

Das Statement wird immer dann ausgeführt, wenn eine “End-of-Page”- oder “End-of-Data”- Bedingung auftritt, oder wenn aufgrund eines SKIP- oder NEWPAGE-Statements ein Seitenvorschub erfolgt. Es wird nicht ausgeführt, wenn ein Seitenvorschub aufgrund eines EJECT-Statements erfolgt.

Ob eine End-of-Page-Bedingung gegeben ist, wird erst überprüft, nachdem ein DISPLAY- oder WRITE-Statement vollständig ausgeführt ist; ist die logische Seitenlänge nicht richtig gesetzt, kann es vorkommen, dass die DISPLAY-/WRITE-Ausgabe bereits das Ende einer physischen Ausgabeseite überschritten hat, bevor auf der logischen Seite eine End-of-Page-Bedingung auftritt.

Wenn ein Report durch Statements in verschiedenen Objekten erzeugt wird, wird das WRITE TRAILER-Statement nur ausgeführt, wenn es in demselben Objekt steht wie das Statement, das die End-of-Page-Bedingung auslöst.

Logische Seitenlänge

Um sicherzustellen, dass eine mit WRITE TRAILER definierte Fußzeile noch auf eine ausgegebene physische Seite passt, sollte die Länge der vom Programm erzeugten logischen Seite (mittels des Session-Parameters PS) entsprechend kleiner als die physische Seitenlänge gesetzt werden.

Einschränkungen

  • WRITE TRAILER darf höchstens einmal pro Ausgabe-Report verwendet werden.

  • WRITE TRAILER darf nicht an eine logische Bedingung geknüpft sein.

  • WRITE TRAILER darf nicht in einer Subroutine stehen.

Syntax-Beschreibung

Operanden-Definitionstabelle:

Operand Mögliche Struktur Mögliche Formate Referenzierung erlaubt Dynam. Definition
operand1   S A G N A U N P I F B D T L   G O ja nein
operand2 C S           N P I   B             ja nein

Syntax-Element-Beschreibung:

Syntax-Element Beschreibung
(rep)
Report-Spezifikation:

Erzeugt ein Programm mehrere Reports, kann mit der Notation (rep) ein bestimmter anderer Report angegeben werden, auf den sich das Statement WRITE TRAILER beziehen soll.

Es kann ein Wert von 0 bis 31 oder ein logischer Name, der mit einem DEFINE PRINTER-Statement zugewiesen wurde, angegeben werden.

Wenn (rep) nicht angegeben wird, bezieht sich das Statement WRITE TRAILER auf den ersten Report (Report 0).

Informationen, wie Sie das Format eines mit Natural erstellten Ausgabe-Reports steuern, finden Sie im Abschnitt Steuerung der Ausgabe von Daten im Leitfaden zur Programmierung.

LEFT JUSTIFIED
UNDERLINED

Fußzeilenausrichtung und Unterstreichung:

Normalerweise werden Fußzeilen zentriert und ohne Unterstreichung ausgegeben.

Eine linksbündige Ausrichtung der Fußzeile erreichen Sie durch die Angabe des Schlüsselwortes LEFT JUSTIFIED.

Eine unterstrichene Fußzeile erhalten Sie durch Angabe des Schlüsselwortes UNDERLINED; als Unterstreichungszeichen wird das mit dem Parameter UC (auf Session-Ebene oder in einem FORMAT-Statement) definierte Zeichen verwendet. Die Unterstreichung erstreckt sich über die ganze Zeile unter der Fußzeile (entsprechend der mit dem Parameter LS definierten Zeilenlänge).

Bevor die Zeile zentriert wird, führt Natural erst alle Leerstellen- und Tabulatoranweisungen aus. Bei einer Tabulator-Notation von 10T, zum Beispiel, rückt der Text bei anschließender Zentrierung in eine Position 5 Stellen rechts von der Mitte.

statement-parameters
Parameter-Definition auf Statement-Ebene:

Unmittelbar nach dem WRITE TRAILER-Statement können Sie in Klammern einzelne Session-Parameter setzen. Diese Parameterwerte haben dann für das betreffende Statement Gültigkeit vor auf übergeordneter Ebene mittels GLOBALS-Kommando, SET GLOBALS- (nur im Reporting Mode) oder FORMAT-Statement gesetzten Parameterwerten.

Wenn Sie mehrere Parameter angeben, müssen Sie sie durch ein oder mehrere Leerzeichen voneinander trennen. Eine einzelne Parameterangabe darf sich nicht über zwei Quellcode-Zeilen erstrecken.

Anmerkung:
Die hier gültigen Parameter-Einstellungen werden nur bei Variablenfelderberücksichtigt, haben und keine Auswirkung auf Textkonstanten. Wenn Sie Feldattribute für eine Textkonstante setzen möchten, müssen sie explizit für dieses Element gesetzt werden; siehe Parameter-Definition auf Element-Ebene.

Informationen zur Benutzung der Parameter siehe Liste der Parameter in der WRITE-Statement-Dokumentation.

nX
nT
x/y
T*field-name
P*field-name
/

Format-Notation und Abstandselemente:

Siehe Format-Notation und Abstandselemente (weiter unten).

'text'
'c'(n)
attributes

Text/Attribut-Zuweisung:

Siehe Text/Attribut-Zuweisungen (weiter unten).

operand1
Fußzeilen-Informationen:

Als operand1 können Sie ein oder mehrere Feld/er angeben, die in der Fußzeile ausgegeben werden sollen.

Arrays mit Bereichen, die es ermöglichen, die Anzahl der Ausprägungen zur Ausführungszeit zu variieren, können nicht angegeben werden.

parameters
Parameter-Definition auf Element-Ebene:

Ein einzelner oder mehrere in Anführungszeichen stehende Parameter können auf Element-Ebene unmittelbar hinter operand1 angegeben werden. Jeder auf diese Art angegebene Parameter überschreibt den entsprechenden, vorher auf Statement-Ebene oder in einem GLOBALS-Kommando, SET GLOBALS- (nur im Reporting Mode) oder FORMAT-Statement angegebenen Parameter.

Wenn mehr als ein Parameter angegeben wird, müssen ein oder mehr Leerzeichen zwischen jedem Eintrag stehen. Eine einzelne Parameterangabe darf sich nicht über zwei Quellcode-Zeilen erstrecken.

Informationen zur Benutzung der Parameter; siehe Liste der Parameter (beim WRITE-Statement).

SKIP operand2 LINES
Einfügen von Leerzeilen nach der Fußzeile:

Mit der SKIP-Klausel können Sie nach der Fußzeile Leerzeilen einfügen. Mit operand2 geben Sie an, wieviele Leerzeilen auf die Fußzeile folgen sollen; dies kann entweder eine numerische Konstante oder der Inhalt einer numerischen Variablen sein.

Anmerkung:
SKIP nach WRITE TRAILER wird immer als SKIP-Klausel des WRITE TRAILER-Statements interpretiert, und nicht als eigenständiges Statement. Falls Sie ein eigenständiges SKIP-Statement nach einem WRITE TRAILER-Statement wünschen, trennen Sie die beiden Statements durch ein Semikolon (;) voneinander.

Format-Notation und Abstandselemente

Syntax-Element Beschreibung
nX
Spaltenabstand:

Mit dieser Notation fügen Sie n Leerzeichen zwischen den Spalten ein.

n darf nicht 0 sein.

nT
Setzen der Tabulatoren:

Die Notation nT bewirkt die Positionierung (Tabulierung) an die Druck-Position n.

Eine Spalte, die in derselben Ausgabezeile bereits belegt ist, darf nicht angegeben werden.

x/y
x/y-Positionierung:

Mit dieser Notation erreichen Sie, dass ein Feld x Zeilen unter der Ausgabe des letzten Statements, und zwar ab Spalte y ausgegeben wird. y darf nicht 0 sein.

Eine Spalte, die in derselben Ausgabezeile bereits belegt ist, darf nicht angegeben werden.

Text/Attribut-Zuweisungen

Syntax-Element Beschreibung
'text' 
Text-Zuweisung:

Es wird die in Apostrophen stehende Zeichenkette angezeigt.

'c'(n)
Zeichen-Wiederholung:

Das in Apostrophen stehende Zeichen (character)wird unmittelbar vor dem Feldwert n mal angezeigt.

attributes
Felddarstellung und Farbattribute:

Es ist möglich, verschiedene Attribute für die Text/Feldanzeige zuzuweisen. Diese Attribute und die Syntax, die benutzt werden kann, sind im Abschnitt Ausgabeattribute weiter unten beschrieben.

Beispiele:

WRITE TRAILER 'TEXT' (BGR)
WRITE TRAILER 'TEXT' (B)
WRITE TRAILER 'TEXT' (BBLC)
T*field-name
Feldbezogene Positionierung:

Die Notation T* bewirkt die Positionierung an eine bestimmte Druckposition eines Feldes, das in einem vorangegangenen DISPLAY-Statement benutzt wurde. Eine Rückwärtspositionierung ist nicht zulässig.

P*field-name
Feld- und Zeilenbezogene Positionierung:

Die Notation P* bewirkt die Positionierung an eine spezifische Druckposition und Zeile eines Feldes, das in einem vorangegangenen DISPLAY-Statement benutzt wurde. Sie wird am häufigsten in Verbindung mit dem vertikalen Druckmodus verwendet. Eine Rückwärtspositionierung ist nicht zulässig.

/
Zeilenvorschub - Schrägstrich-Notation:

Ein Schrägstrich (/) bewirkt bei Platzierung zwischen Feldern oder Textelementen eine Positionierung an den Anfang der nächsten Druckzeile.

Ausgabeattribute

attributes gibt die für die Text-Anzeige zu benutzenden Ausgabe-Attribute an. Es gibt die folgenden Attribute:

AD=AD-value
BX=BX-value
CD=CD-value
PM=PM-value

AD-value
CD-value

Die möglichen Parameterwerte sind in der Parameter-Referenz aufgeführt.

Anmerkung:
Der Compiler akzeptiert tatsächlich mehr als einen Attributwert für ein Ausgabefeld. Zum Beispiel können Sie Folgendes angeben: AD=BDI. In solch einem Fall gilt allerdings nur der letzte Wert. Im hier gezeigten Beispiel erhält nur der Wert I Gültigkeit, und das Ausgabefeld wird intensiviert (hell hervorgehoben) angezeigt.

Beispiel

** Example 'WTLEX1': WRITE (with TRAILER option)                        
************************************************************************
DEFINE DATA LOCAL                                                       
1 EMPL-VIEW VIEW OF EMPLOYEES                                           
  2 NAME                                                                
  2 FIRST-NAME                                                          
  2 CITY                                                                
  2 JOB-TITLE                                                           
END-DEFINE                                                              
*                                                                       
FORMAT PS=15                                                            
WRITE TITLE LEFT JUSTIFIED UNDERLINED                                   
      *TIME 3X 'PEOPLE LIVING IN BARCELONA'                             
      14X 'PAGE:' *PAGE-NUMBER                                          
SKIP 1                                                                  
*                                                                       
WRITE TRAILER LEFT JUSTIFIED UNDERLINED                                 
      / 'CITY OF BARCELONA REGISTER'                                  
*                                                                       
LIMIT 10                              
FIND EMPL-VIEW WITH CITY = 'BARCELONA'
  DISPLAY NAME FIRST-NAME 3X JOB-TITLE
END-FIND                              
END                                  

Ausgabe des Programms WTLEX1 - Seite 1:

09:36:09.5   PEOPLE LIVING IN BARCELONA              PAGE:      1              
-------------------------------------------------------------------------------
                                                                               
        NAME              FIRST-NAME                 CURRENT                   
                                                    POSITION                   
-------------------- --------------------   -------------------------          
                                                                               
DEL CASTILLO         ANGEL                  EJECUTIVO DE VENTAS                
GARCIA               M. DE LAS MERCEDES     SECRETARIA                         
GARCIA               ENDIKA                 DIRECTOR TECNICO                   
MARTIN               ASUNCION               SECRETARIA                         
MARTINEZ             TERESA                 SECRETARIA                         
YNCLAN               FELIPE                 ADMINISTRADOR                      
FERNANDEZ            ELOY                   OFICINISTA                         
TORRES               ANTONI                 OBRERA                             
                                                                               
CITY OF BARCELONA REGISTER                                                     
-------------------------------------------------------------------------------

Ausgabe des Programms WTLEX1 - Seite 2:

09:37:26.0   PEOPLE LIVING IN BARCELONA              PAGE:      2              
-------------------------------------------------------------------------------
                                                                               
        NAME              FIRST-NAME                 CURRENT                   
                                                    POSITION                   
-------------------- --------------------   -------------------------          
                                                                               
RODRIGUEZ            VICTORIA               SECRETARIA                         
GARCIA               GERARDO                INGENIERO DE PRODUCCION            
                                                                               
CITY OF BARCELONA REGISTER                                                     
-------------------------------------------------------------------------------