Sie können den horizontalen Bereich einer Seite einschränken, der entweder durch den Benutzer oder programmgesteuert geblättert werden kann. Die beiden fogenden Möglichkeiten können auch kombiniert werden.
Zeilen vom horizontalen Blättern ausnehmen
Um eine Zeile, z.B. eine Titelzeile oder eine Kommentarzeile, vom horizontalen Blättern auszunehmen, müssen Sie den Zeilenvorschub für diese Zeile wie folgt erzeugen:
Syntax
NEW-LINE NO-SCROLLING.
Die nächste auf diese Anweisung folgende Zeile ist nicht horizontal verschiebbar. Sie bleibt aber vertikal verschiebbar.
Mit der folgenden Anweisung heben Sie obige Anweisung wieder auf:
Syntax
NEW-LINE SCROLLING.
Diese Anweisung ist nur dann sinnvoll, wenn nach NEW-LINE NO-SCROLLING keine Zeile ausgegeben wurde.
REPORT sapmztst NO STANDARD PAGE HEADING
LINE-COUNT 3 LINE-SIZE 140.
START-OF-SELECTION.
DO 3 TIMES.
WRITE: / 'SY-INDEX:'.
DO 10 TIMES.
WRITE sy-index.
ENDDO.
ENDDO.
NEW-LINE NO-SCROLLING.
ULINE AT 20(20).
NEW-LINE NO-SCROLLING.
WRITE AT 20 '| **** Fixed! **** |'.
NEW-LINE NO-SCROLLING.
ULINE AT 20(20).
DO 3 TIMES.
WRITE: / 'SY-INDEX:'.
DO 10 TIMES.
WRITE sy-index.
ENDDO.
ENDDO.
Dieses Programm erzeugt drei Seiten von jeweils drei Zeilen ohne Seitenkopf und Seitenfuß. Die drei Zeilen der zweiten Seite sind durch NEW-LINE NO-SCROLLING unverschiebbar. Nach dem Programmstart sieht die Ausgabe folgendermaßen aus:
Blättert der Benutzer nach rechts, sieht die Ausgabe z.B. so aus:
Die Zeilen der ersten und dritten Seite scrollen an den unverschiebbaren Zeilen vorbei.
Linke Grenze für horizontales Blättern
Sie können die linke Grenze des horizontal verschiebbaren Bereichs durch folgende Anweisung festlegen:
Syntax
SET LEFT SCROLL-BOUNDARY [COLUMN <col>].
Ohne die COLUMN-Option wird die aktuelle Schreibposition, mit der COLUMN-Option wird die Position <col> als linke Begrenzung des verschiebbaren Bereichs der aktuellen Seite gesetzt. Damit kann nur der Teil rechts von diesem Breich horizontal geblättert werden.
Obige Anweisung gilt für die gesamte aktuelle Seite, aber auch nur für diese. Sie muß für jede Seite neu ausgeführt werden, ansonsten wird der Standardwert (linker Listenrand) gesetzt.
Um für alle Seiten den gleichen verschiebbaren Bereich zu setzen, können Sie die Anweisung z.B. beim Ereignis TOP-OF-PAGE ausführen.
REPORT sapmztst NO STANDARD PAGE HEADING
LINE-COUNT 3 LINE-SIZE 140.
START-OF-SELECTION.
DO 3 TIMES.
WRITE: /10 'SY-INDEX:'.
DO 10 TIMES.
WRITE sy-index.
ENDDO.
ENDDO.
SET LEFT SCROLL-BOUNDARY COLUMN 20.
DO 3 TIMES.
WRITE: / 'SY-INDEX:'.
DO 10 TIMES.
WRITE sy-index.
ENDDO.
ENDDO.
SET LEFT SCROLL-BOUNDARY COLUMN 10.
Dieses Programm erzeugt zwei Seiten von jeweils drei Zeilen ohne Seitenkopf und Seitenfuß. Die erste SET-Anweisung wirkt auf die erste Seite, da der automatische Seitenvorschub erst mit der ersten WRITE-Anweisung der zweiten DO-Schleife erfolgt. Die zweite SET-Anweisung gilt für die zweite Seite. Nach dem Programmstart sieht die Ausgabe folgendermaßen aus:
Blättert der Benutzer nun nach rechts, sieht die Ausgabe z.B. so aus:
Die verschiebbaren Bereiche scrollen für die erste und die zweite Seite an unterschiedlichen Stellen unter die unverschiebbaren Bereiche am linken Rand.