#1
|
|||
|
|||
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 |
#2
|
||||
|
||||
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
__________________
David Carballido Córdova |
Herramientas | Buscar en Tema |
Desplegado | |
|
|