Selektionskennzeichen in Liste

Aus SAP-Wiki
Wechseln zu: Navigation, Suche

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).

ALV Selektionskennzeichen2.jpg

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.

ALV Selektionskennzeichen3.jpg