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 29/10/10, 19:47:17
AJAA AJAA is offline
Junior Member
 
Fecha de Ingreso: nov 2007
Localización: Venezuela
Mensajes: 12
Tabla Interna Con 200000 Registros

Buenas tardes,

Estoy haciendo un loop a una tabla interna con 200000 registros y el mismo se me tarda como hora y media.

Antes de hacer ese loop hago otro a una tabla interna que tiene mas o menos la misma cantidad de registro y este se tarda solo 4 minutos.

He probado liberando las tablas que ya no uso con REFRESH y FREE.

He comentado todo lo que hago dentro del Loop y solo lo dejo correr pero nada todo sigue igual.

Existe alguna forma de paginar una tabla interna, es decir, leer los primero 10.000.

Que se les ocurre?.
__________________
Consultor Técnico B1/ABAP
Responder Con Cita
  #2  
Viejo 29/10/10, 19:59:17
Avatar de mysmb2
mysmb2 mysmb2 is offline
Senior Member
 
Fecha de Ingreso: ene 2007
Localización: Cordoba
Mensajes: 406
Hola podes probar paquetizarlo usando dos tablas internas una tiene todo los valores(i_tabla_full) y otra con el volumen de registros a procesar(i_tabla_tmp).

Espero se entienda



saludos.
__________________
Sebastián Chiavia
Responder Con Cita
  #3  
Viejo 29/10/10, 20:29:02
Tu amo Tu amo is offline
Member
 
Fecha de Ingreso: oct 2010
Mensajes: 40
A mi me suena a otra cosa, un loop de esa cantidad, del tamaño que sea, por si solo no deberia tardar tanto

Digamos que te creo. Estas haciendo un loop a una work area?
Que pasa si lo haces con un assigning a un field-symbol

en vez de esto

Cambialo a

Lo segundo evita la copia y en teoria deberia ser mas rapido. Pero a menos que la cantidad de informacion por linea sea descomunal incluso lo primero deberia ser rapido
Responder Con Cita
  #4  
Viejo 29/10/10, 20:52:40
AJAA AJAA is offline
Junior Member
 
Fecha de Ingreso: nov 2007
Localización: Venezuela
Mensajes: 12
Estoy trabajando con FIELD-SYMBOLS.

Este es el código en cuestión.


__________________
Consultor Técnico B1/ABAP
Responder Con Cita
  #5  
Viejo 29/10/10, 22:14:19
Tu amo Tu amo is offline
Member
 
Fecha de Ingreso: oct 2010
Mensajes: 40
Ahi esta tu problema
Probablemente es el read adentro del loop.
Mal hecho eso puede ser peligroso. Me acuerdo mucho de un programa parecido (un loop de millones leyendo una tabla de miles) que tardaba como 5-6 horas y ya arreglado corria como 3-5 minutos.

De dos.
1. Ordenas it_new y lees con binary search
2. Vuelves it_new una tabla hash.

La opcion 2 seria la mas eficiente si it_new tiene muchos registros, pero tambien puede ser la mas laboriosa de implementar.
Tu decides, en todo caso cualquiera de las dos debe darte una buena mejora
Responder Con Cita
  #6  
Viejo 31/10/10, 06:06:41
charly_ap
 
Mensajes: n/a
Soy muy nuevo en el tema pero por conceptos que vi podrias ingresar
UP TO 10000 ROWS
dentro del loop, .

saludos.
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 15:32:56.


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