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 19/09/07, 20:26:52
cams493 cams493 is offline
Junior Member
 
Fecha de Ingreso: sep 2006
Localización: Caracas - Venezuela
Mensajes: 17
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
Responder Con Cita
  #2  
Viejo 20/09/07, 07:01:05
josellamazares josellamazares is offline
Member
 
Fecha de Ingreso: jun 2006
Mensajes: 34
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.
Responder Con Cita
  #3  
Viejo 20/09/07, 07:49:29
chemahuercano chemahuercano is offline
Junior Member
 
Fecha de Ingreso: ene 2007
Mensajes: 2
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.
Responder Con Cita
  #4  
Viejo 21/09/07, 21:28:19
cams493 cams493 is offline
Junior Member
 
Fecha de Ingreso: sep 2006
Localización: Caracas - Venezuela
Mensajes: 17
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.
Responder Con Cita
  #5  
Viejo 24/09/07, 13:09:52
ballan ballan is offline
Senior Member
 
Fecha de Ingreso: oct 2006
Mensajes: 671
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
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 14:22:49.


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