Sie können die Ausgabe einer WRITE-Anweisung auf der Liste positionieren, indem Sie dem Feldnamen eine Formatangabe voranstellen:
Syntax
WRITE AT [/][<pos>][(<len>)] <f>.
wobei
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.