Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Optimizacion Abap
Optimizacion Abap
COM
En esta seccin pretender ser una ayuda de como optimizar el cdigo de los programa ABAP/4. Primero har
una introduccin de como se han de disear los programas y seguidamente que instrucciones y como
utilizarlas (esto parte es bsica para conseguir un programa optimizado). Para ver todos los "Tips & Tricks"
tenemos que ir a la transaccin SE30.
Lneas ha seguir para conseguir un buen programa
LENTO
RPIDO
Siempre que se pueda hay que poner las condiciones en los clasula WHERE. Otro que penaliza el rendimiento es utilizar los
operador OR, NOT e IN. Lo que mejora el rendimiento es el operador EQUAL o "=".
SELECT *
SELECT SINGLE *
La diferencia es que el SELECT SINGLE *. requiere una comunicacin la base de datos y el SELECT * requiere dos
comunicaciones con la base de datos.
Cualquier funcin que pongamos en la clusula SELECT (SUM, MIN, ETC...) es ms rpido que la mismas funciones puesto
dentro del SELECT.
Es siempre ms rpido tratar los datos directamente en un SELECT que almacenar los datos en una tabla interna y despus tratar
dichos datos.
Si se accede muy a menudo a diversas tablas es ms recomendable hacer una vista de dichas tablas que es ms rpido.
Con la opcin ALL ENTRIES se consigue que las entradas que nos interesen del primer SELECT se busque en el segundo, por lo
tanto el segundo SELECT solo se ejecutara una vez.
LOOP AT <INT-TAB>
INSERT INTO <TABLE> VALUES <INT-TAB>
ENDLOOP
Es ms rpido insertar directamente los contenidos de una tabla a otra que utilizar un loop para ellos.
Usando el operador CA
El utilizar los operadores CO, CA, CS conseguimos que la CPU trabaje menos.
Es ms rpido utilizar instrucciones del sistema que funciones del sistema, e aqu un ejemplo:
STRING_CONCATENATE... ---> CONCATENATE
STRING_SPLIT... ---> SPLIT
STRING_LENGTH... ---> strlen()
STRING_CENTER... ---> WRITE..TO. ..CENTERED
STRING_MOVE_RIGHT ---> WRITE...TO...RIGHT-JUSTIFIED
Es ms rpido utilizar la sentencia CONCATENATE que programar un tratamiento de un string realizado por nosotros.
Instruccin SPLIT
Utilizar el SPLIT es ms rpido que programar un tratamiento de un string realizado por nosotros.
Es ms rpido borrar espacios en blanco con la derecha con SHIFT...LEFT DELETING LEADING... que utilizar la instruccin
CONDENSE
Siempre es ms rpido utilizar funciones del sistema que programar para hacer un determinado tratamiento de un string.