PDA

Ver la Versión Completa : LECTURA DE LA MSEG apr Inf (muy lenta)


zavarmi
05/06/08, 22:54:41
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
05/06/08, 23:03:55
Hola te recomiendo colocarlo de el siguiente orden

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 :D

bisonye
06/06/08, 10:34:47
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

123porcristina
25/10/11, 18:46:05
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' ).

pancho6102
25/10/11, 21:56:38
Puedes hacer varias pruebas con diferente codigo y probando los tiempo de consulta apoyandote del siguiente link:
http://www.mundosap.com/foro/showthread.php?t=26554&highlight=ejemplos+rendimiento

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

saludos!