WRITE
|
[(rep)] [TRAILER
LEFT [JUSTIFIED ]]
[UNDERLINED ]
|
||||||||
[(statement-parameters )] | |||||||||
nX
|
'text' [(attributes)] | ||||||||
nT |
'c'(n) [(attributes)] | ||||||||
x/y
|
['='] operand1 [(parameters)] | ||||||||
[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
Das Statement WRITE TRAILER
dient dazu, am Ende einer
Ausgabeseite eine Fußzeile auszugeben.
Siehe auch die folgenden Abschnitte im Leitfaden zur Programmierung:
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.
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.
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.
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:
(rep) |
Report-Spezifikation:
Erzeugt ein Programm mehrere Reports, kann mit der
Notation
Es kann ein Wert von 0 bis 31 oder ein logischer Name, der mit
einem Wenn 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. |
---|---|
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 Eine unterstrichene Fußzeile erhalten Sie durch Angabe des
Schlüsselwortes Bevor die Zeile zentriert wird, führt Natural erst alle
Leerstellen- und Tabulatoranweisungen aus. Bei einer Tabulator-Notation von
|
|
statement-parameters |
Parameter-Definition auf
Statement-Ebene:
Unmittelbar nach dem Wenn Sie mehrere Parameter angeben, müssen Sie sie durch ein oder mehrere Leerzeichen voneinander trennen. Eine einzelne Parameterangabe darf sich nicht über zwei Sourcecode-Zeilen erstrecken. Anmerkung: Informationen zur Benutzung der Parameter siehe
Liste der
Parameter in der
|
nX |
Format-Notation und
Abstandselemente:
Siehe Format-Notation und Abstandselemente (weiter unten). |
'text' |
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. |
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
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 Sourcecode-Zeilen erstrecken. Informationen zur Benutzung der Parameter; siehe
Liste der
Parameter (beim |
SKIP operand2 LINES |
Einfügen von Leerzeilen nach der
Fußzeile:
Mit der Anmerkung: |
nX |
Spaltenabstand:
Mit dieser Notation fügen Sie n Leerzeichen zwischen den Spalten ein. |
---|---|
nT |
Setzen der Tabulatoren:
Die Notation 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
Eine Spalte, die in derselben Ausgabezeile bereits belegt ist, darf nicht angegeben werden. |
'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
|
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) |
attributes gibt die für die Text-Anzeige zu benutzenden Ausgabe-Attribute an. Es gibt die folgenden Attribute:
|
||||
AD-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.
** 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 -------------------------------------------------------------------------------