MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   Ayuda en Report (foro/showthread.php?t=7822)

cams493 19/09/07 20:26:52

Ayuda en Report
 
Buenas Tardes, actualmente estoy haciendo un Report el cual tengo que hacer una lectura muy grande de datos, osea muchos registros en mi tabla interna, quisiera saber si habra alguna funcion que pueda optimizar el tiempo que tarda el reporte, aproximadamente tarda 1 hora

josellamazares 20/09/07 07:01:05

mmm dime cómo lo estás haciendo ahora y te echaré una mano.

Por ejemplo: si haces
pues se optimiza con un SELECT FOR ALL ENTRIES + un READ o LOOP

los SELECT ... ENDSELECT tampoco se recomiendan

Si puedes, pásame el código y te digo como optimizarlo.

Un saludo.

chemahuercano 20/09/07 07:49:29

La verdad es que es dificil intentar ayudarte, sin conocer el flujo del programa.

Hace poco hice un interfaz de carga de datos para una tabla de diccionario desde un excel, y simplemente construi una tabla interna y un insert de tabla.
Tardaba un segundo en meter 700 registros, pero claro si en tu caso tienes campos calculados, deberías de crear las tablas internas necesarias para que las busquedas se hagan siempre mediante read tables.

En resumen es preferible hacer un Select inmenso a la base de datos y luego un loop con todos los read tables que necesites, a hacer un select detro de un loop.

Si logras reducir los accesos a las tablas de diccionario a lo mínimo, tu report se puede optimizar poco más.

Espero que te sirva.
Saludos.

cams493 21/09/07 21:28:19

Para explicar mejor la situacion es que yo tengo 2 grandes bloques de codigo, que hacen practicamente lo mismo. En la primera se recorre una tabla interna de aprox. 10000 registros y alli hago mis calculos, no acceso a BD dentro del LOOP, ese primer recorrido de los 10000 registros lo hace rapido.

El segundo recorro otra tabla interna, pero esta tiene aprox 100000 registros, al igual no acceso a BD dentro del LOOP, solo hago ciertos calculos, el detalle esta en que lo recorre pero tarda. Nose si se deba a que debo liberar memoria pero no consigo que hacer.

ballan 24/09/07 13:09:52

Ayudaria mucho que nos dijeras exactamente que es lo que tienes que hacer pero asi a bote pronto por lo que cuentas te diria que:

Las tablas HASH y SORTED pueden serte muy utiles para manejar volumenes muy grandes de datos ya que puedes hacer read table por clave y son rapidisimos

Si el problema es el numero de registros prueba a partir tu tabla X en 'n' trozos mas pequeños y luego fusionar los resultados


Husos Horarios son GMT. La hora en este momento es 07:55:24.

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