Radio Button en reporte tipo 1

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • jalopez
    Junior Member
    • ago
    • 15

    #1

    Radio Button en reporte tipo 1

    Actualmente estoy creando un reporte tipo 1 que maneja unos radio button y unas cajas de texto para el ingreso de información.
    Cuando me seleccionen un radio button debe deshablitar unas cajas de texto y habilitar otros... Como realizar esto sin que el usuario de enter en el programa.
    Con reporte de dialogos se puede hacer facilmente... pero en este tipo de reporte como se hace para generar el evento del click sin el ENTER.

    Gracias por la ayuda que puedan brindar.
  • LouieBoy
    Member
    • ago
    • 86

    #2
    Buenas,
    En la declaracion del primer radio buton del grupo le añadir user-command xxx. entonces cuando se pulse algun radio button de ese grupo se disparar el user command correspondiente, asi puedes evitar meterle al enter.

    Saludos,

    LouieBoy

    Comentario

    • DavidXD_XD
      Moderator
      • ago
      • 1255

      #3
      Hola te paso un ejemplo para que te guies mejor

      *----------------------------------------------------------------------*
      * INCLUDE ZPPFR_BLOQUEO_SEL *
      *----------------------------------------------------------------------*
      *----------------------------------------------------------------------*
      * Pantallas de Selección
      *----------------------------------------------------------------------*

      SELECTION-SCREEN BEGIN OF BLOCK b01 WITH FRAME TITLE text-b01.
      PARAMETERS: p_direc RADIOBUTTON GROUP rb02
      DEFAULT 'X' USER-COMMAND UC1,
      p_visua RADIOBUTTON GROUP rb02.
      SELECTION-SCREEN END OF BLOCK b01.

      SELECTION-SCREEN BEGIN OF BLOCK b02 WITH FRAME TITLE text-b02.
      SELECTION-SCREEN BEGIN OF BLOCK b03 WITH FRAME TITLE text-b03.
      SELECT-OPTIONS: s_usnam FOR ztpp_fr_blq-usnam NO INTERVALS,
      s_datum FOR sy-datum.
      SELECTION-SCREEN END OF BLOCK b03.
      SELECTION-SCREEN BEGIN OF BLOCK b04 WITH FRAME TITLE text-b04.
      PARAMETERS: p_bloq RADIOBUTTON GROUP rb01 DEFAULT 'X' MODIF ID rpt,
      p_libe RADIOBUTTON GROUP rb01 MODIF ID rpt.
      SELECTION-SCREEN END OF BLOCK b04.
      SELECTION-SCREEN END OF BLOCK b02.

      *----------------------------------------------------------------------*
      * Evento AT SELECTION-SCREEN
      *----------------------------------------------------------------------*

      AT SELECTION-SCREEN OUTPUT.
      IF p_direc = 'X'.
      LOOP AT SCREEN.
      IF screen-group1 = 'RPT'.
      screen-active = '0'.
      MODIFY screen.
      ENDIF.
      ENDLOOP.
      ELSEIF p_visua = 'X'.
      LOOP AT SCREEN.
      IF screen-group1 = 'RPT'.
      screen-active = '1'.
      MODIFY screen.
      ENDIF.
      ENDLOOP.
      ENDIF.

      Espero te sirva
      David Carballido Córdova

      Comentario

      • LouieBoy
        Member
        • ago
        • 86

        #4
        Eso misma mente...

        Saludos,

        LouieBoy

        Comentario

        • vickxo
          Senior Member
          • nov
          • 118

          #5
          Prueba este codigo

          Aunque aclaro, no es mio...

          REPORT zvdll_pruebas .
          DATA: lolo LIKE a306-kschl.
          SELECTION-SCREEN BEGIN OF BLOCK 0001 WITH FRAME TITLE text-001.
          SELECT-OPTIONS so_kschl FOR lolo.
          SELECTION-SCREEN END OF BLOCK 0001.

          SELECTION-SCREEN: BEGIN OF BLOCK bloq1 WITH FRAME TITLE text-001.
          PARAMETERS: inicio RADIOBUTTON GROUP g1 USER-COMMAND ent,
          clte_mat RADIOBUTTON GROUP g1,
          prmonmat RADIOBUTTON GROUP g1,
          material RADIOBUTTON GROUP g1.
          *PARAMETERS: p_file(128) TYPE C default ' ' MODIF ID g2. "parametro con
          *la ruta completa del fichero
          PARAMETERS: p_vkorg TYPE a306-vkorg MODIF ID g2, " Org. Ventas TYPE C
          *default ' ',
          p_vtweg TYPE a306-vtweg MODIF ID g2, " CANAL DE DISTRIBUCION
          p_kunnr TYPE a305-kunnr MODIF ID g2, " CLIENTE
          p_pltyp TYPE a306-pltyp MODIF ID g2, " LISTA DE PRECIOS
          p_waerk TYPE a306-waerk MODIF ID g2. " MONEDA

          SELECTION-SCREEN: END OF BLOCK bloq1.

          INITIALIZATION.
          LOOP AT SCREEN.
          IF screen-name = 'P_VKORG' OR screen-name =
          '%_P_VKORG_%_APP_%-TEXT' OR screen-name = 'P_VTWEG' OR screen-name =
          '%_P_VTWEG_%_APP_%-TEXT' OR screen-name = 'P_KUNNR' OR screen-name =
          '%_P_KUNNR_%_APP_%-TEXT' OR screen-name = 'P_PLTYP' OR screen-name =
          '%_P_PLTYP_%_APP_%-TEXT' OR screen-name = 'P_WAERK' OR screen-name =
          '%_P_WAERK_%_APP_%-TEXT'.
          screen-invisible = 0.
          screen-input = 0.
          ENDIF.
          * Se actualizan las modificaciones en la tabla SCREEN
          MODIFY SCREEN.
          ENDLOOP.

          AT SELECTION-SCREEN OUTPUT.
          LOOP AT SCREEN.
          IF clte_mat = 'X'.
          IF screen-name = 'P_PLTYP' OR screen-name =
          '%_P_PLTYP_%_APP_%-TEXT' OR screen-name = 'P_WAERK'
          OR screen-name ='%_P_WAERK_%_APP_%-TEXT' .
          screen-invisible = 0.
          screen-input = 0.
          ENDIF.
          ELSE.
          IF prmonmat = 'X'.
          IF screen-name = 'P_KUNNR'
          OR screen-name ='%_P_KUNNR_%_APP_%-TEXT'

          .
          screen-invisible = 0.
          screen-input = 0.
          ENDIF.

          ELSE.
          IF screen-name ='P_PLTYP' OR screen-name =
          '%_P_PLTYP_%_APP_%-TEXT' OR
          screen-name ='P_WAERK' OR screen-name =
          '%_P_WAERK_%_APP_%-TEXT' OR screen-name = 'P_KUNNR'
          OR screen-name ='%_P_KUNNR_%_APP_%-TEXT'
          .
          screen-invisible = 0.
          screen-input = 0.
          ENDIF.
          ENDIF.
          ENDIF.
          * Se actualizan las modificaciones en la tabla SCREEN
          MODIFY SCREEN.
          ENDLOOP.
          el tema esta en hacer la pregunta correcta...

          Comentario

          • jalopez
            Junior Member
            • ago
            • 15

            #6
            Muchas gracias amigos por su colaboración... he probado ambos codigos y funciona, sin embargo para parametros de tipo:
            SELECT-OPTIONS p_muni FOR gvr_municipio NO INTERVALS.
            no me deja deshabilitar el campo... que podria hacer para solucionar esto???

            Comentario

            • LouieBoy
              Member
              • ago
              • 86

              #7
              Buenas, para los select options debes ocultar el low, el high y luego el texto, ponle un break point a loop at screen y mira los nombres de todo lo que guarde relacion con el SO que quieras ocultar, generalmente van todos seguidos.
              acuerdate de poner primero el input a 0 y luego el invisible a 1.

              Saludos,

              LouieBoy

              Comentario

              Trabajando...