Consulta

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • Javier Medina
    Junior Member
    • mar
    • 1

    #1

    Consulta

    Buen día... Mi consulta sería si tengo en un radio button 3 opciones y dependiente de esta que me cambie la misma pantalla como sería el código?

    Gracias por la colaboración brindada
  • jtristan
    Senior Member
    • oct
    • 240

    #2
    ¿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.

    Comentario

    • XJerickX
      Junior Member
      • oct
      • 29

      #3
      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

      Comentario

      Trabajando...