Zeile durch Doppelklick markieren

In einer Liste kann man die ausgewählte Zeile relativ einfach markieren und so dem Anwender deutlich machen, welche Zeile er ausgewählt hat.

Mit einem Trick kann man die aktuell ausgewählte Zeile einfärben.

Programm

REPORT zzmark.

DATA:
  cline   LIKE sy-lilli,
  cinhalt LIKE sy-lisel,

  tabelle TYPE tabname.

START-OF-SELECTION.

*– Liste erzeugen: Tabellen, die mit RSS beginnen
  SELECT tabname FROM dd02l INTO tabelle WHERE tabname LIKE ‚RSS%‘.
    WRITE: / tabelle.
  ENDSELECT.


AT LINE-SELECTION.

  IF cinhalt <> space.
** Letzte markierte Zeile löschen
    sy-lisel = cinhalt.
    MODIFY LINE cline LINE FORMAT COLOR OFF.
  ENDIF.

*– Cursorposition ermitteln
  GET CURSOR LINE cline.
*– Zeile unterm Cursor lesen
  READ CURRENT LINE.
*– Zeileninhalt für weitere Verarbeitung merken
  cinhalt = sy-lisel.
*– Nachricht ausgeben: „Tabelle & ausgewählt“
  MESSAGE s000(38) WITH ‚Sie haben die Tabelle‘ cinhalt ‚ausgewählt‘.
*– Zeile ändern
  MODIFY LINE cline LINE FORMAT COLOR col_negative.

Und so sieht’s aus


Die erzeugte Liste


Die Liste nach dem Doppelklick auf eine Zeile

Enno Wulff
follow me