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.
PARAMETERS: p_rb1 RADIOBUTTON GROUP g1 DEFAULT `X` USER-COMMAND uc1.
SELECT-OPTIONS: s_matnr FOR s720-matnr MODIF ID m1.
PARAMETERS: p_rb2 RADIOBUTTON GROUP g1.
SELECT-OPTIONS: s_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