Anfang des Inhaltsbereichs

Absolute Positionsangaben Dokument im Navigationsbaum lokalisieren

Nach absoluten Positionsangaben erfolgt die nächste Ausgabe in fest vorgegebenen Spalten und Zeilen.

Horizontale Positionsangaben

Sie haben zwei Möglichkeiten, die horizontale Ausgabeposition anzugeben:

Den Zusatz AT der Anweisungen WRITE und ULINE (siehe WRITE-Ausgabedaten auf der Liste positionieren) und die Anweisung POSITION. Die Anweisung POSITION hat folgende Syntax:

Syntax

POSITION <col>.

Diese Anweisung setzt die horizontale Ausgabeposition und das Systemfeld SY-COLNO auf <col>. Liegt <col> außerhalb der Seite, werden die nachfolgenden Ausgabeanweisungen ignoriert.

Das System schreibt eine auf POSITION folgende, bzw. mit AT aufbereitete WRITE-Ausgabe an die angegebene Stelle, unabhängig davon, ob genügend Platz vorhanden ist oder nicht. Der Teil der Ausgabe, der nicht mehr auf die Zeile passt, wird abgeschnitten. Weitere WRITE-Ausgaben finden dann in der nächsten Zeile statt.

Vertikale Positionsangaben

So geben Sie die vertikale Ausgabeposition an:

Syntax

SKIP TO LINE <n>.

Diese Anweisung setzt die vertikale Ausgabeposition und das Systemfeld SY-LINNO auf <lin>. Liegt <lin> nicht zwischen 1 und der Seitenlänge, wird die Anweisung ignoriert.

Hinweis

Bei der Angabe von LINE zählen der Seitenkopf und Seitenfuß mit. Achten Sie darauf, nicht unbeabsichtigt Kopf- oder Fußzeilen zu überschreiben.

Ausgabe unter Seitenkopf positionieren

Mit der Anweisung BACK können Sie die Ausgabe auf die ersten Zeile nach dem geesamten Seitenkopf positionieren:

Syntax

BACK.

Steht diese Anweisung nicht hinter einer RESERVE-Anweisung, so erfolgt die nächste Ausgabe unter dem Seitenkopf. SY-COLNO wird auf 1 und SY-LINNO entsprechend der Länge des Seitenkopfs gesetzt. In Verbindung mit RESERVE gilt eine andere Regel (siehe Relative Positionsangaben).

Wird die Anweisung BACK zum Zeitpunkt TOP-OF-PAGE durchgeführt, wird die Ausgabeposition nicht unter den gesamten Seitenkopf, sondern unter den Standardseitenkopf positioniert, so daß nachfolgende Ausgaben den unter TOP-OF-PAGE selbstdefinierten Seitenkopf überschreiben.

Beispiel für absolute Positionsangaben

Beispiel

REPORT demo_list_position NO STANDARD PAGE HEADING LINE-SIZE 60.

DATA: x(3) TYPE c, y(3) TYPE c.

x = sy-colno. y = sy-linno.

TOP-OF-PAGE.

  WRITE: 'Position of Header: ', x, y.
  ULINE.

START-OF-SELECTION.

  SKIP TO LINE 10.
  POSITION 20.
  x = sy-colno. y = sy-linno.
  WRITE: '* <- Position', x, y.

  SKIP TO LINE 12.
  ULINE AT 20(20).

  BACK.
  x = sy-colno. y = sy-linno.
  WRITE: 'Position after BACK:', x, y.

Dieses Programm erzeugt folgende Listenseite:

Diese Grafik wird im zugehörigen Text erklärt

Die Anfangswerte von SY-COLNO und SY-LINNO werden den Feldern X und Y zugewiesen. Beachten Sie, daß diese Zuweisung eigentlich zum Zeitpunkt START-OF-SELECTION stattfindet (siehe Verarbeitungsblöcke definieren). Die anfängliche Ausgabeposition ist die der ersten Kopfzeile und wird dort auch ausgegeben. Über SKIP TO LINE und POSITION wird ein Stern '*' in Spalte 20, Zeile 10 plaziert. Ein Unterstrich wird über SKIP TO LINE und AT positioniert. Schließlich wird die Ausgabeposition mit BACK auf Spalte 1, Zeile 3 unter den zweizeiligen Seitenkopf gesetzt.

Ende des Inhaltsbereichs