MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   demora al cargar datos (foro/showthread.php?t=31766)

marva300 15/08/09 04:14:47

demora al cargar datos
 
Hola a todos estoy empezando en la programacion Abap y tengo un problema me han pedido optimizar el siguiente reporte puesto que en QAS y PRD demora demasiado en mostrarse el problema esta en un select que se le hace a MSEG para obtener los movimientos.


FORM busca_fechas_mkpf USING e_salida TYPE t_salida
CHANGING s_salida TYPE t_salida.

DATA: wl_fecha1 TYPE mkpf-budat.
DATA: wl_fecha2 TYPE mkpf-budat.
DATA: wl_flag TYPE c.

CLEAR: it_reg. REFRESH: it_reg.

SELECT * INTO CORRESPONDING FIELDS OF TABLE it_reg FROM mseg
WHERE mjahr = e_salida-mjahr
AND werks EQ e_salida-werks
AND lgort EQ e_salida-lgort
AND charg EQ e_salida-charg
AND matnr EQ e_salida-matnr
AND bwart EQ e_salida-bwart.

CLEAR: wl_fecha1, wl_fecha1, wl_flag.

LOOP AT it_reg INTO w_reg.
SELECT SINGLE budat INTO wl_fecha1 FROM mkpf WHERE mblnr EQ w_reg-mblnr.
w_reg-budat = wl_fecha1.
MODIFY it_reg FROM w_reg.
IF wl_fecha2 IS INITIAL.
wl_fecha2 = wl_fecha1.
ELSE.
IF wl_fecha2 NE wl_fecha1.
wl_flag = 'X'.
EXIT.
ENDIF.
ENDIF.

ENDLOOP.

IF wl_flag EQ 'X'.
s_salida-e_fecha = 'X'.
ENDIF.


ENDFORM.



este perform esta dentro de este loop

LOOP AT it_salida INTO w_salida.
PERFORM busca_fechas_mkpf USING w_salida CHANGING w_salida.
MODIFY it_salida FROM w_salida.
ENDLOOP.

en QAS It_salida me da casi 500 registros y cuando se hace el select a la mseg se obtiene de 10 a 20 registros y es alli cuando demora mas o menos 20 segundos osea tardaria 500 registros x 20 segundos es demasiado tiempo de ejecucion que recomiendan hacer para optimizar ese select


gracias de antemano

DavidXD_XD 15/08/09 14:10:02

Hola Marva, lo primero que haria es quitar ese LOOP y tratar de realizar el SELECT a la MSEG con un FOR ALL ENTRIES, como dentro de la consulta participan el material, centro y lote, no habria problemas, xq dentro de la MSEG ya existe un indice por esos campos ....


Y tbm si se desea optimizar ese SELECT se puede realizar un JOIN con la MKPF y MSEG ya que ambas tablas son cabecera y detalle de los mismos documentos, espero te pueda ayudar :D


Husos Horarios son GMT. La hora en este momento es 21:53:23.

www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web