MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 15/08/09, 04:14:47
marva300 marva300 is offline
Junior Member
 
Fecha de Ingreso: jun 2009
Mensajes: 6
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
Responder Con Cita
  #2  
Viejo 15/08/09, 14:10:02
Avatar de DavidXD_XD
DavidXD_XD DavidXD_XD is offline
Moderator
 
Fecha de Ingreso: ago 2006
Localización: Lima - Perú
Mensajes: 1,251
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
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 06:01:42.


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