For All Entries

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • jorgeABAP29
    Member
    • oct
    • 33

    #1

    For All Entries

    Hola!, les hago una pregunta:

    Como funciona la clausula FOR ALL ENTRIES en un select?, significa que para todas las entradas de la tabla que esta a continuacion de la clausula, seran tenidas en cuenta cuando se realize la consulta. Me gustaria tener en claro esto.

    Espero por sus respuestas, gracias.
  • DavidXD_XD
    Moderator
    • ago
    • 1255

    #2
    El FOR ALL ENTRIES es practicamente la concatenacion de la siguiente sentencia

    LOOP AT ...
    SELECT ...
    ENDLOOP.

    Pero con un algoritmo especial, se procesa cada SELECT con la condicion general y un OR de 5 en 5, si quieres darte cuenta, realiza un programa de prueba y activa el TRACE antes de ejecutarlo y veras la sentencia nativa d dicha consulta ...
    David Carballido Córdova

    Comentario

    • jorgeABAP29
      Member
      • oct
      • 33

      #3
      primero muchas gracias por la respuesta, segundo el for all entries trabaja como un loop dentro del select principal, es decir se procesa la condicion where del select principal y se van tomando de a 5 registros de la tabla que sigue a la clausula for all entries y se realizan las comparaciones indicadas a continuacion de la clausula where. ok?

      gracias

      Comentario

      • MADF
        Junior Member
        • oct
        • 12

        #4
        For all entries

        Por cuestiones de performance debes asegurarte que cuando haces un for all entries tu tabla contenga registros ya que si esta vacia extraeras una gran cantidad de informacion o en algunos casos toda la tabla de la extraccion.

        Comentario

        • agv1976
          Member
          • jun
          • 66

          #5
          For all entries

          El for all entries es muy util sobre todo para el rendimiento, tu cargas una tabla interna,

          Por ej: Select * into table it_bseg FROM bsed
          where belnr <= 100000.

          select * FROM bseg for all entries IN it_bseg
          where belnr EQ it_bseg-belnr.

          El for all entries solo procesara los registros cargados en tu tabla interna, con lo que el rendimiento es mucho mejor.

          Comentario

          Trabajando...