!--a11y-->

一覧をページ単位でスクロールする ( ページ長に応じて縦にスクロールする) ために、SCROLL 命令にはいくつかのオプションが用意されています。
特定のページへのスクロールを行うには、SCROLL 命令の TO オプションを使用します。
SCROLL LIST TO FIRST PAGE | LAST PAGE | PAGE <pag>
[INDEX <idx>] [LINE <lin>].
INDEX オプションがない場合、この命令では現在の一覧を、最初のページ、最後のページ、または <pag> の番号を持つページにスクロールします。INDEX オプションを指定すると、一覧レベル<idx> で一覧をスクロールします。一覧レベルの追加情報については、インタラクティブ一覧を参照してください。
LINE オプションを指定すると、実際の一覧の <lin> 行からスクロールする先のページが表示されます。この場合ページヘッダの行数は計算に入りません。
特定のページ数をスクロールするには、SCROLL 命令の以下のオプションを使用します。
SCROLL LIST FORWARD | BACKWARD <n> PAGES [INDEX <idx>].
INDEX オプションを指定しない場合、この命令では、<n> ページ分だけ前後にスクロールします。INDEX オプションは、特定の一覧レベルを上記のように指定します。

REPORT demo_list_scroll_2
NO STANDARD PAGE HEADING
LINE-SIZE
40 LINE-COUNT 8(2).
DATA: pag TYPE i VALUE
15,
lin TYPE i VALUE 4.
TOP-OF-PAGE.
WRITE: 'Top of Page', sy-pagno.
ULINE.
END-OF-PAGE.
ULINE.
WRITE: 'End of Page', sy-pagno.
START-OF-SELECTION.
DO 100 TIMES.
DO 4 TIMES.
WRITE / sy-index.
ENDDO.
ENDDO.
SCROLL LIST TO PAGE pag LINE lin.
このプログラムは、1 ページ 8 行の 100 ページから成る一覧を生成します。各ページで、4 行がページヘッダとページフッタのために使用されます。SCROLL 命令により、プログラムは以下のように出力されます。

一覧は 15 ページ目から表示されます。LINE オプションによって、実際の一覧の最初の 3 行はページヘッダの下からスクロールされます。