Ver la Versión Completa : Optimizacion de Codigo ABAP
CRISTINO.GARCIA
25/10/12, 20:02:24
Hola a Todos
Estoy necesitando inforamcion sobre como Optimizar los codigos ABAP de los programas ya existentes los cuales estan dando problema de altos tiempos de lectura en la base de datos.
Muchas Gracias de Antemano.
Saludos
Cristino
Es muy extenso el tema pero bueno, te paso una lista de cosas a chequear.
- Eliminar y reemplazar cualquier SELECT - ENDSELECT que haya.
- Quitar Select dentro de LOOPS. Si tenes Selects dentro de loops, ponelos afuera y dentro del loop accede con READ TABLE o LOOP a la tabla interna.
- Evitar Select que tengan muchos INNER JOIN. Usar varios selects separados con FOR ALL ENTRIES.
- Tratar de ingresar por campos claves y/o índices disponibles.
- Evitar el SELECT *
- Si utilizas la BSEG, la misma es una tabla CLUSTER reemplaza la búsqueda con las tablas BSID, BSIK, BSIS, BSAS, BSAD y BSAK.
- Evitar Select a tablas que tardan mucho, tratando de encontrar otras lógicas de búsqueda.
- En el caso que tengas LOOP Anidados con muchos registros, como por ejemplo:
LOOP AT t_BKPF.
LOOP AT t_BSEG WHERE BUKRS = t_BKPF-BUKRS AND
BELNR = t_BKPF-BELNR AND
GJAHR = t_BKPF-GJAHR AND.
ENDLOOP.
ENDLOOP.
Es mucho más performante utilizar la técnica de "Cursor Paralelo". Donde primero averiguas cual es el índice y accedes por índice.
Más info:
http://www.saptechnical.com/Tutorials/ABAP/ParallelCursor.htm
Saludos
CRISTINO.GARCIA
26/10/12, 16:31:18
Muchas Gracias !!! Estare pendiente. Saludos.
Cristino
www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web