Este es un ejemplo de una pantalla de Seleción Dinámica.
Simplemente hay que pinchar en los RADIOBUTTON y ver que pasa.
*&---------------------------------------------------------------------*
*& Report ZPANTALLA_DINAMICA
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT zpantalla_dinamica.
TABLES: trdir.
SELECTION-SCREEN BEGIN OF BLOCK uno WITH FRAME TITLE text-001.
PARAMETERS: r_opt01 RADIOBUTTON GROUP rad1,
r_opt02 RADIOBUTTON GROUP rad1,
r_opt03 RADIOBUTTON GROUP rad1,
r_opt04 RADIOBUTTON GROUP rad1.
SELECTION-SCREEN SKIP.
PARAMETERS: p_opt01 RADIOBUTTON GROUP rad2 USER-COMMAND aaa,
p_opt02 RADIOBUTTON GROUP rad2,
p_opt03 RADIOBUTTON GROUP rad2,
p_opt04 RADIOBUTTON GROUP rad2.
SELECTION-SCREEN END OF BLOCK uno.
SELECTION-SCREEN BEGIN OF BLOCK dos WITH FRAME TITLE text-002.
SELECT-OPTIONS: s_opt1 FOR trdir-cnam,
s_opt22 FOR trdir-cnam,
s_opt333 FOR trdir-cnam,
s_opt444 FOR trdir-cnam.
SELECTION-SCREEN END OF BLOCK dos.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
*---- Opción 1
IF r_opt01 = 'X'.
IF screen-name CS 'S_OPT1'.
screen-invisible = '0'.
screen-input = '1'.
ELSEIF screen-name CS 'S_OPT22' OR
screen-name CS 'S_OPT333' OR
screen-name CS 'S_OPT444' .
screen-invisible = '1'.
screen-input = '0'.
ENDIF.
*---- Opción 2
ELSEIF p_opt02 = 'X'.
IF screen-name CS 'S_OPT22'.
screen-invisible = '0'.
screen-input = '1'.
ELSEIF screen-name CS 'S_OPT1' OR
screen-name CS 'S_OPT333' OR
screen-name CS 'S_OPT444' .
screen-invisible = '1'.
screen-input = '0'.
ENDIF.
*---- Opción 3
ELSEIF p_opt03 = 'X'.
IF screen-name CS 'S_OPT333'.
screen-invisible = '0'.
screen-input = '1'.
ELSEIF screen-name CS 'S_OPT1' OR
screen-name CS 'S_OPT22' OR
screen-name CS 'S_OPT444' .
screen-invisible = '1'.
screen-input = '0'.
ENDIF.
*---- Opción 4
ELSEIF p_opt04 = 'X'.
IF screen-name CS 'S_OPT444'.
screen-invisible = '0'.
screen-input = '1'.
ELSEIF screen-name CS 'S_OPT1' OR
screen-name CS 'S_OPT22' OR
screen-name CS 'S_OPT333' .
screen-invisible = '1'.
screen-input = '0'.
ENDIF.
ENDIF.
MODIFY SCREEN.
ENDLOOP.