Selektionskennzeichen in Liste
Siehe Kategorie: ALV.
Oftmals wird die Anforderung bestehen, dass bestimmte Datensätze von der ALV-Liste zu selektieren sind. Das ist sehr einfach zu realisieren.
Typisierung & Data SELKZ-Feld
In der internen Tabelle wird ein Feld definiert vom Typ SELKZ, was die Ausprägung 'X' oder space haben kann. Man kann es auch mit dem Namen SELKZ bezeichnen.
TYPES: BEGIN OF ty_itab, .. "andere Felder selkz TYPE selkz, "Selektionskennzeichen END OF ty_itab. DATA: gt_itab TYPE STANDARD TABLE OF ty_itab.
Feld SELKZ in der Layout-Struktur bekannt machen
Damit der ALV-Report weiß, dass das Feld SELKZ für das Selektionskennzeichen benötigt wird, wird es in der Struktur LAYOUT bekannt gemacht.
DATA: ls_layout TYPE lvc_s_layo. ls_layout-box_fname = 'SELKZ'.
Aufruf der ALV-Liste
Der Funktionsbaustein 'REUSE_ALV_GRID_DISPLAY_LVC' wird wie üblich aufgerufen, inkl. der Struktur LS_LAYOUT.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC' EXPORTING i_callback_program = l_repid is_layout_lvc = ls_layout " Layout ALV it_fieldcat_lvc = lt_fcat " Fields in List it_events = lt_events TABLES t_outtab = p_it_itab EXCEPTIONS program_error = 1 OTHERS = 2.
Anzeige in der ALV-Liste
Nun erscheint in der ALV-Liste ein Selektionsmarker. Hier können ein oder mehr Datensätze selektiert werden. Im Beispiel wurden zwei Datensätze markiert (strg-Taste gedrückt halten bei Markierung).
Verarbeitung SELKZ in interner Tabelle
Wird eine Zeile markiert und die Tabelle im User-Command aufgerufen, ist in der entsprechenden Zeile bei SELKZ = 'X' und das Programm kann entsprechend darauf reagieren.