TABLECONTROL funcion busqueda

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • malaga01
    Member
    • feb
    • 93

    #1

    TABLECONTROL funcion busqueda

    Hola:

    Me he creado un table control, pero ahora tengo qe añadirle la función de búsuqeda. He activado el botón de búsqueda del menú superior, pero no consigo la forma de añadirle el código adecuado. Necesito que salte el popup de búsqueda, introducier un valor y que lo busque en la columna que previamente he seleccionado.

    ¿Sabeis alguna manera de hacerlo? He probado varias cosas pero no me acaba de funcionar.

    ¿Alguna idea?

    Muchas gracias.
  • BigInJapan
    Junior Member
    • jun
    • 3

    #2
    Para mi que vas a tener que montar tu el "tinglado" de la pantalla.
    • Monta una dynpro que se llame cuando pulsas el botón de "Buscar". Ventana de diálogo modal es la mejor opción.
    • En esa pantalla mínimo coloca un parámetro de entrada (que será donde pongan la cadena a buscar).
    • Aparte coloca dos botones, aceptar y cancelar (en la dialogo modal creo que solo los tienes que darles un okcode, pero te lo digo de memoria). Al pulsar aceptar realiza la búsqueda en la tabla que contiene los datos del table control. Esta búsqueda puedes implementarla a posteriori con mejoras (que busque en una sola columna, que busque a partir de un registro, sólo en los que aparecen en pantalla...).
    • Por último tendrás que posicionar el cursor del table control en la línea donde has encontrado la coincidencia.


    Es tedioso pero de esta manera puedes custominar tu la búsqueda.

    Una opción que hace que la cosa sea más fina es montar una función que llame a la pantalla y que realice la búsqueda en los datos que le pases y te devuelva la coincidencia, asi podrás usarla en más sitios.

    Saludos.

    Comentario

    • malaga01
      Member
      • feb
      • 93

      #3
      Muchas gracias.

      Voy a probar como me comentas. He estado probando la función ALV_POPUP_TO_SEARCH pero no acaba de funcionar correctamente.

      Un saludo

      Comentario

      • BigInJapan
        Junior Member
        • jun
        • 3

        #4
        Originalmente publicado por malaga01
        Muchas gracias.

        Voy a probar como me comentas. He estado probando la función ALV_POPUP_TO_SEARCH pero no acaba de funcionar correctamente.

        Un saludo
        Esa función que comentas se usa en:
        • CL_ALV_TREE_BASE
        • CL_GUI_ALV_GRID


        En ambas se usa en métodos de búsqueda en el ALV. No creo que te sirva de mucho. Desconozco si existe otra que simule la pantalla de búsqueda que aparece por ejemplo en el editor de la SE38.

        Saludos.

        Comentario

        • Mauricio Hidalgo
          Senior Member
          • may
          • 481

          #5
          Te dejo un par de rutinas que alguna vez use para implementar un buscador en un table control.

          tab_datos : es el table control.
          ti_datos : es la table de datos subyacente al table control.

          Hay unas variables globales que están definidas así.

          data l_ultima_busqueda(30) type c.
          data ultima_coincidencia type sy-tabix.


          Espero te sirva.
          Archivos Adjuntos

          Comentario

          • malaga01
            Member
            • feb
            • 93

            #6
            Muchas gracias por la información.

            Con esto me apaño.

            Un saludo.

            Comentario

            Trabajando...