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
|