Anfang des InhaltsbereichsSeitenlänge einzelner Seiten Dokument im Navigationsbaum lokalisieren

Sie können die Seitenlänge einzelner Seiten mit der Anweisung NEW-PAGE wie folgt festlegen:

Syntax

NEW-PAGE LINE-COUNT <length>.

Diese Anweisung legt die Seitenlänge der folgenden Seiten zu <length> fest. <length> kann eine Variable sein. Setzen Sie <length> gleich null, wird die Standardseitenlänge verwendet (siehe Aufbau der Standardliste). Der Seitenkopf gehört zur Seite und nimmt einen Teil der Länge ein.

Achtung

Sie können mit der Anweisung NEW-PAGE nicht den Seitenfuß anlegen oder ändern. Ein eventuell in der REPORT-Anweisung angelegter Seitenfuß (siehe Seitenlänge festlegen) bleibt auch nach der Anweisung NEW-PAGE erhalten.

Für die eigentliche Liste stehen also <length> minus Länge des Seitenkopfs minus Länge des Seitenfußes zur Verfügung.

Hinweis

Beachten Sie bitte beim Gebrauch des Zusatzes LINE-COUNT in der Anweisung NEW-PAGE auch die Hinweise unter Seitenlänge festlegen.

Durch das Einsetzen von SY-ROWS für <length>, können Sie die Länge der Seiten an die Fensterlänge anpassen. Das Systemfeld SY-ROWS enthält die Anzahl der Zeilen des aktuellen Fensters.

Beispiel

REPORT demo_list_new_page_line_c_1 LINE-SIZE 40 LINE-COUNT 0(1).

END-OF-PAGE.

  ULINE.

START-OF-SELECTION.

  NEW-PAGE LINE-COUNT 5.
  DO 4 TIMES.
    WRITE / sy-index.
  ENDDO.

  WRITE: / 'Next Loop:'.

  NEW-PAGE LINE-COUNT 6.
  DO 6 TIMES.
    WRITE / sy-index.
  ENDDO.

Dieses Programm erzeugt fünf Seiten verschiedener Längen. Die Listenüberschrift wurde als 'Standard Page Header' in den Textelementen definiert. In der REPORT-Anweisung wird eine Zeile jeder Seite für den Seitenfuß reserviert. Dieser ist unter END-OF-PAGE als Unterstreichungszeile definiert. Die erste Anweisung NEW-PAGE setzt die Seitenlänge auf 5, die zweite Anweisung setzt die Seitenlänge auf 6.

Diese Grafik wird im zugehörigen Text erklärt

Die erste Anweisung NEW-PAGE erzeugt keine neue Seite, da zuvor keine Ausgabe stattfindet. Der Standardseitenkopf beansprucht von jeder Seite zwei Zeilen für die Listenüberschrift. Der Seitenfuß benötigt eine Zeile. Für die erste DO-Schleife stehen also zwei Zeilen pro Seite für die WRITE-Anweisung zur Verfügung. Sämtliche Seitenumbrüche innerhalb der DO-Schleife erfolgen automatisch wenn die Listenverarbeitung den Seitenfuß erreicht und dieser wird angezeigt. Die zweite Anweisung NEW-PAGE erzeugt den Seitenvorschub von der dritten zur vierten Seite. Hierbei wird END-OF-PAGE nicht bearbeitet. In der zweiten DO-Schleife stehen drei Zeilen pro Seite für die WRITE-Anweisung zur Verfügung. Die Seitenumbrüche geschehen wieder automatisch. Der Seitenfuß wird angezeigt.

Beispiel

REPORT demo_list_new_page_line_c_2 NO STANDARD PAGE HEADING
                                   LINE-SIZE 40 LINE-COUNT 0(2).

TOP-OF-PAGE.

  WRITE: 'Top of Page', sy-pagno,
           'SY-SROWS:', sy-srows.
  ULINE.

END-OF-PAGE.

  ULINE.
  WRITE: 'End of Page', sy-pagno.

START-OF-SELECTION.

* NEW-PAGE LINE-COUNT SY-SROWS.

  DO 100 TIMES.
    WRITE / sy-index.
  ENDDO.

Dieses Programm erzeugt eine einzige Seite unbegrenzter Länge, da die Anweisung NEW-PAGE auskommentiert ist:

Diese Grafik wird im zugehörigen Text erklärt

Im aktuellen Fenster, das hier eine Länge von 12 Zeilen hat, werden soviele Zeilen dargestellt wie möglich. In obiger Abbildung sind dies die zwei selbstdefinierten Kopfzeilen und 10 Zeilen der Liste. Beim vertikalen Blättern scrollt die Liste unter den Seitenkopf. Entfernen Sie nun den Stern vor der Anweisung NEW-PAGE und behalten die aktuelle Fensterlänge bei, sieht die Ausgabe folgendermaßen aus:

Diese Grafik wird im zugehörigen Text erklärt

Die Liste wird in mehrere Seiten aufgeteilt, wobei jede Seite entsprechend SY-ROWS 12 Zeilen lang ist. Von diesen 12 Zeilen sind hier jeweils zwei für Seitenkopf und Seitenfuß reserviert. Der Benutzer kann in dieser Liste über Nächste Seite gezielt (z.B. zur Seite 11) blättern:

Diese Grafik wird im zugehörigen Text erklärt

 

 

 

Ende des Inhaltsbereichs