Sie können die Ausgabe einer WRITE-Anweisung auf der Liste positionieren, indem Sie dem Feldnamen eine Formatangabe voranstellen:
WRITE AT [/][pos][(len)] f.
wobei
· der Schrägstrich '/' eine neue Zeile einleitet
· pos eine Zahl oder Variable mit bis zu drei Ziffern ist, die die Position auf dem Bildschirm angibt
· len eine Zahl oder Variable mit bis zu drei Ziffern ist, die die Ausgabelänge angibt
Wenn die Formatangabe nur Direktwerte enthält (keine Variablen), kann das Schlüsselwort AT weggelassen werden.
WRITE 'Erste Zeile.'.
WRITE 'Noch erste Zeile.'
WRITE /'Zweite Zeile.'
WRITE /13 'Dritte Zeile.'
Folgende Ausgabe erscheint auf dem Bildschirm:
Erste Zeile. Noch erste
Zeile.
Zweite Zeile.
Dritte
Zeile.
Wenn Sie eine bestimmte Position pos angeben, wird das Feld immer an diese Position geschrieben, unabhängig davon, ob genug Platz vorhanden ist oder ob andere Felder überschrieben werden.
DATA: len TYPE i VALUE
10,
pos TYPE i VALUE 11,
text(10) TYPE c VALUE
'1234567890'
WRITE 'Der Text ------------ erscheint im Text.'.
WRITE AT pos(len) text.
Die Ausgabe sieht so aus:
Der Text -1234567890- erscheint im Text.
Wenn die Länge len zu kurz ist, werden übrige Stellen reduziert. Numerische Felder werden links abgeschnitten, und als Hinweis wird ein Stern (*) an der ersten Stelle gedruckt. Alle anderen Felder werden auf der rechten Seite abgeschnitten und es wird kein Hinweis ausgegeben.
DATA: number
TYPE i VALUE 1234567890,
text(10) TYPE c VALUE
'abcdefghij'.
WRITE: (5) number, /(5) text.
Die Ausgabe sieht so aus:
*7890
abcde
In der Standardeinstellung können Sie mit der Anweisung WRITE keine Leerzeilen erzeugen. Mehr über Leerzeilen und wie Sie die Standardeinstellung ändern finden Sie im Abschnitt 'Listen erstellen' unter Leerzeilen erzeugen.
WRITE: 'One',
/ ' ',
/ 'Two'.
Die Ausgabe sieht so aus:
One
Two
Das System unterdrückt Zeilen, die nichts enthalten außer Leerstellen.