leer TABLA INTERNA

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • romario2
    Senior Member
    • abr
    • 233

    #1

    leer TABLA INTERNA

    Hola foro,

    quiero leer una tabla interna a partir de un parámetro y obtener un registro.

    Cual es la sentencia más óptima?


    un saludo a los compañeros abaperos!
  • martin89
    Member
    • may
    • 53

    #2
    Buenas,
    Con un read table podes obtener un registro de una tabla interna (cosa que no quiere decir que sea único). Deberías filtrar por los campos claves para que no haya problemas y asegurarte que sea único. Sino deberías hacer un loop where, pero de esta manera podes tener más de uno.

    Saludos!

    Comentario

    • mysmb2
      Senior Member
      • ene
      • 406

      #3
      la forma más optima de leer una tabla es con un READ tabla WITH KEY campo1 = parametro BINARY SEARCH. teniendo en cuenta que se debe ordenar la tabla antes del READ de la siguiente manera
      SORT tabla BY campo1.
      Sebastián Chiavia
      http://www.programacionabap.com.ar

      Comentario

      • hrosas
        Member
        • jun
        • 31

        #4
        Originalmente publicado por mysmb2
        la forma más optima de leer una tabla es con un READ tabla WITH KEY campo1 = parametro BINARY SEARCH. teniendo en cuenta que se debe ordenar la tabla antes del READ de la siguiente manera
        SORT tabla BY campo1.

        ahi difiero un poco aunque si es el read table para una tabla interna se usa with table key ( cuando declaras tu tipo tabla declarale ahi los campos llave) con eso haras mucho mas eficaz tu busqueda

        o si conoces el indice (pocas veces se conoce realmente) es: with index = X

        Comentario

        • romario2
          Senior Member
          • abr
          • 233

          #5
          thanks

          Hola compañeros,

          gracias por los consejos.
          Entonces con el read table leo la tabla y luego tengo que insertarlo en un parametro, supongo.

          Me podeis decir las 2 linias de código. La f1 de mi SAP está desabilitada.


          Merci
          y feliz navidad!

          Comentario

          • VLozano
            Senior Member
            • nov
            • 124

            #6
            Lo idea les tener una variable del mismo tipo que las líneas de la tabla interna. Algo como lo que se genera con el maldito WITH HEADER LINE.
            Código:
            DATA: it_tabla TYPE TABLE OF tabla,
                  wa_tabla TYPE tabla.
            
            SELECT * "mejor una lista
              INTO TABLE it_tabla
              FROM tabla
              WHERE condiciones.
            IF sy-subrc <> 0.
            * Algo pasa con tabla
            ENDIF.
            
            ...
            
            READ TABLE it_tabla INTO wa_tabla
                                WITH KEY campo1 = var1 campo2 = var2.
            IF sy-subrc <> 0.
            * Algo pasa con tabla
            ENDIF.
            "Porque algunos sabemos que somos parte del problema"
            - Pequeña guía para escribir mensajes en foros técnicos -

            Comentario

            • romario2
              Senior Member
              • abr
              • 233

              #7
              merci

              Vlozano muchas gracias, creo que ya empiezo a controlar los read tables.

              Saludos abaperos y feliz navidad

              Comentario

              Trabajando...