Zeile merken bei neuem Listaufbau

Bei folgendem Report wird bei einer Zeilenauswahl die Liste neu ausgegeben. Hierbei wird die Verzweigungsliste auf „0“ gesetzt, damit nach dem Neuaufbau nicht durch die vorherige Liste navigiert werden muß. Wurde geblättert, so bleibt die Liste nach Neuaufbau exakt so stehen, wie vorher.

Dieses Vorgehen funktioniert jedoch nur, wenn keine Listseiten ausgegeben werden sollen (Durch Anweisung REPORT … LINE-COUNT 65)!!

Report ZEILE01.
DATA: aktuelle_zeile like sy-staro.

PERFORM ausgabe.


AT LINE-SELECTION.
  sy-lsind = 0.
  aktuelle_zeile = sy-staro.
  …
  PERFORM ausgabe.

FORM ausgabe.

  LOOP AT itab.
    WRITE: / itab-feld1,
             itab-feld2,
             ….
  ENDLOOP.

  SCROLL LIST TO FIRST PAGE LINE aktuelle_zeile INDEX 1.

ENDFORM.

Info

Wenn Sie es ganz genau haben möchten, können Sie sich auch noch merken, in welchem Feld und an welcher Feldposition (Offset) der Cursor gerade stand und diesen dann wieder dorthin setzen.

AT LINE-SELECTION.
  GET CURSOR FIELD cursor_feld LINE cursor_zeile OFFSET cursor_offset.

[…]

SCROLL LIST …
SET CURSOR FIELD  cursor_feld
           LINE   cursor_zeile 
           OFFSET cursor_offset.

image_pdfimage_print