LECTURA DE LA MSEG apr Inf (muy lenta)

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • zavarmi
    Senior Member
    • ene
    • 221

    #1

    LECTURA DE LA MSEG apr Inf (muy lenta)

    Hola a todos,

    alguien que em ayude..Estoy accesando la tabla MSEG para traer Informacion (de material al notificcar), me traigo el cod Material, cantidad Notificada en KG, cantida Notificada en MTS,No. de Lote.
    Pero el proceso es muy lento. De que otra forma puedo obtener estos datos de una manera más rápida.
    el SQL es:
    * Seleccionas datos para material ( entrada)
    SELECT * FROM MSEG WHERE MATNR EQ p_codigo AND
    material
    LGORT EQ p_almace AND
    WERKS EQ p_centro AND
    CHARG EQ p_lote AND
    BWART EQ p_tmov AND
    MJAHR EQ p_ano.
  • DavidXD_XD
    Moderator
    • ago
    • 1255

    #2
    Hola te recomiendo colocarlo de el siguiente orden

    Código:
    SELECT * FROM MSEG
      WHERE mjahr EQ p_ano
        AND matnr EQ p_codigo
        AND lgort EQ p_almace
        AND charg EQ p_lote
        AND bwart EQ p_tmov.
    Trata de no usar ENDSELECT, usa FOR ALL ENTRIES, y la otro consejo seria en caso extremo usar indices, dentro de la MSEG hay un indice estandar que se parece mucho a los campos con lo q estas consultando es el indice 'M', espero te ayude
    David Carballido Córdova

    Comentario

    • bisonye
      Senior Member
      • ago
      • 635

      #3
      Yo no utilizaría el select * si no que obtendría los campos que necesito y los guardaría en una tabla interna para eliminar el select enselect .

      Saludos
      http://sapymas.blogspot.com/

      Comentario

      • 123porcristina
        Junior Member
        • jul
        • 14

        #4
        consulta a tabla mseg demasiado lenta

        buenas tardes,

        tengo esta consulta y no se como podria optimizarla ... me podrian ayudar?


        SELECT mblnr mjahr zeile matnr charg menge meins bwart INTO TABLE it_mseg
        FROM mseg
        FOR ALL ENTRIES IN it_lqua_aux
        WHERE matnr = it_lqua_aux-matnr AND werks IN so_werks AND
        lgort EQ it_lqua_aux-lgort AND bwart IN ('101', '102' ).

        Comentario

        • pancho6102
          Senior Member
          • jun
          • 238

          #5
          Puedes hacer varias pruebas con diferente codigo y probando los tiempo de consulta apoyandote del siguiente link:


          si es mejor usar un for all entries u otra opcionen el select.

          saludos!
          Francisco Ramirez.
          consultor SAP ABAP Netweaver
          Queretaro, Mexico.

          Comentario

          Trabajando...