Hier noch ein Trivialprogramm, das ich als Gedankenstütze mit mir herumführe."X": Markiert & eingababereit
" ": Nicht markiert & eingabebereit,
"-": Keine Markierungsspalte
"1": Markiert & nicht eingabebereit
"alles andere": Nicht markiert & nicht eingabebereit
Code: Alles auswählen.
REPORT.
TYPES: BEGIN OF TY_ITAB,
WERT TYPE C,
ALV_MARKER TYPE C,
END OF TY_ITAB.
TYPE-POOLS: SLIS.
DATA: IS_LAYOUT TYPE SLIS_LAYOUT_ALV,
IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
WA_FC LIKE LINE OF IT_FIELDCAT.
DATA: T_ITAB TYPE STANDARD TABLE OF TY_ITAB
WITH NON-UNIQUE DEFAULT KEY,
WA LIKE LINE OF T_ITAB.
END-OF-SELECTION.
WA-ALV_MARKER = WA-WERT = ' '." Nicht markiert
APPEND WA TO T_ITAB.
WA-ALV_MARKER = WA-WERT = 'X'." Markiert
APPEND WA TO T_ITAB.
WA-ALV_MARKER = WA-WERT = '-'. " Ohne Markierspalte
APPEND WA TO T_ITAB.
WA-ALV_MARKER = WA-WERT = '1'. " Markiert - nicht eingabebereit
APPEND WA TO T_ITAB.
WA-ALV_MARKER = WA-WERT = 'M'. " Nicht markieirt, nicht eingabebereit
APPEND WA TO T_ITAB.
IS_LAYOUT-BOX_FIELDNAME = 'ALV_MARKER'.
WA_FC-FIELDNAME = 'WERT'. APPEND WA_FC TO IT_FIELDCAT.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
IS_LAYOUT = IS_LAYOUT
IT_FIELDCAT = IT_FIELDCAT
TABLES
T_OUTTAB = T_ITAB
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.