Hola pues viendo tu consulta lo que puedes hacer es esto:
SELECTION-SCREEN: BEGIN OF BLOCK bq1 WITH FRAME TITLE text-010.
PARAMETERS: p_rbtn1 RADIOBUTTON GROUP rg1 DEFAULT 'X' USER-COMMAND r,
p_rbtn2 RADIOBUTTON GROUP rg1.
SELECTION-SCREEN: END OF BLOCK bq1.
SELECTION-SCREEN: BEGIN OF BLOCK bq2 WITH FRAME TITLE text-020.
*"Aqui al campo que mostraremos o ocultaremos le colocas un valor al MODIF ID para poder identifcar cuando le hagamos un loop a la pantalla.
PARAMETERS: p_field TYPE ' ' MODIF ID PA1.
SELECTION-SCREEN: END OF BLOCK bq2.
AT SELECTION-SCREEN OUTPUT.
*"Luego antes de mostrar la pantalla veremos que radio button esta activo.
IF p_rbtn1 EQ 'X'.
LOOP AT SCREEN.
* "Luego recoremos la pantalla para buscar que el campo que necesitamos que se muestre.
IF screen-group1 EQ 'PA1'.
* "Son necesarios estos datos para que el objeto se active.
screen-invisible = '0'.
screen-active = '1'.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ENDIF.
IF p_rbtn2 EQ 'X'.
LOOP AT SCREEN.
IF screen-group1 EQ 'PA1'.
* "Y estos hacen que se desactive y que no se muestre.
screen-invisible = '1'.
screen-active = '0'.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ENDIF.
Y el MODIFY SCREEN es muy importante ya que sin el no se veran reflejados los cambios.
Espero haberte ayudado
|