[ABAP] Checkboxen, Selektionsbildschirm Oberflächenelemente An- und Ausschalten

PARAMETERS show_all AS CHECKBOX DEFAULT 'X' USER-COMMAND show. " Checkbox namens 'show_all' welche das USRCMD 'SHOW' sendet

SELECTION-SCREEN BEGIN OF BLOCK select2 WITH FRAME.
PARAMETERS: p1 TYPE c LENGTH 10 MODIF ID grp1, " Eingabefelder zu Gruppe 'grp1' zusammenfassen
            p2 TYPE c LENGTH 10 MODIF ID grp1,
            p3 TYPE c LENGTH 10 MODIF ID grp1.
SELECTION-SCREEN END OF BLOCK select2.

AT SELECTION-SCREEN.
  IF sy-ucomm = 'SHOW'                  " Kommandoflag 'flag' der Checkbox abfangen
    MESSAGE 'Switch.' TYPE 'I'.
  ENDIF.

AT SELECTION-SCREEN OUTPUT.
  LOOP AT SCREEN INTO DATA(screen_wa).  " SCREEN-Elemente durchgehen
    IF screen_wa-group1 = 'GRP1'.       " wenn Element in Gruppe 'grp1'
      IF show_all = 'X'.                " wenn Groupbox-Haken gesetzt
        screen_wa-active = '1'.         " Gruppenelement aktivieren (visible == true)
                                        " nicht unbedingt nötig, da screen_wa-active hier immer automatisch auf '1' gesetzt wird
      ELSE.
        screen_wa-active = '0'.         " Gruppenelement aktivieren (visible == false)
      ENDIF.

      MODIFY SCREEN FROM screen_wa.     " Änderung übernehmen
    ENDIF.
  ENDLOOP.