Radio Buton Seçimine Göre Ekran Ayarları

Radyo buton seçimine göre seçim ekranındaki parametrelerin değişmesi istenebilir.

Radio buton grubuna user-command eklenmelidir. Böylece tıklama yapıldığında AT-SELECTION-SCREEN ve SELECTION-SCREEN-OUTPUT içerisine düşer.

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERSp_rb1 RADIOBUTTON GROUP g1 DEFAULT `X` USER-COMMAND uc1.
SELECT-OPTIONSs_matnr FOR s720-matnr MODIF ID m1.
PARAMETERSp_rb2 RADIOBUTTON GROUP g1.
SELECT-OPTIONSs_grup  FOR s720-matkl MODIF ID m2.
SELECTION-SCREEN END OF BLOCK b1.

AT SELECTION-SCREEN OUTPUT.
  PERFORM f_selection_screen_output.

AT SELECTION-SCREEN.
  PERFORM f_at_selection_screen.

*&---------------------------------------------------------------------*
*&      Form  F_SELECTION_SCREEN_OUTPUT
*&---------------------------------------------------------------------*
FORM f_selection_screen_output.
  LOOP AT SCREEN.
    IF p_rb1 `X`.
      IF screen-group1 `M1`.
        screen-active 1.
      ELSEIF screen-group1 `M2`.
        screen-active 0.
      ENDIF.

    ELSEIF p_rb2 `X`.
      IF screen-group1 `M1`.
        screen-active 0.
      ELSEIF screen-group1 `M2`.
        screen-active 1.
      ENDIF.
    ENDIF.
    MODIFY SCREEN.
  ENDLOOP.

ENDFORM.                    " F_SELECTION_SCREEN_OUTPUT


*&---------------------------------------------------------------------*
*&      Form  F_AT_SELECTION_SCREEN
*&---------------------------------------------------------------------*
FORM f_at_selection_screen.

  IF p_rb1 EQ `X`.
    CLEAR s_grup.
    REFRESH s_grup[].

  ELSEIF p_rb2 EQ `X`.
    CLEAR s_matnr.
    REFRESH s_matnr[].
  ENDIF.

ENDFORM.                    " F_AT_SELECTION_SCREEN