If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.
¿Lo que necesitas, es que dentro de la misma pantalla, según lo que se seleccione en los radio aparezcan o desaparezcan otros controles?
Si es así, necesitarías por ejemplo, tener un botón, que aunque no haga nada, hará que se vuelva a cargar el PBO y ahí ya puedes comprobar el valor del radio y trabajar con el loop at screen.
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.
Comentario