Tips & tricks de performance en programación ABAP
Buen día amigos.
Es un hecho que existe más de una forma de hacer las mismas cosas cuando estamos haciendo programación en ABAP, por lo que a menudo nos toca decidir cuál es la mejor alternativa. Posteriormente, cuando hacemos ajustes al performance del desarrollo, por ejemplo mediante la transacción SE30/ST12, encontramos sentencias ABAP que generan costos elevados en tiempo de ejecución y nuevamente nos preguntamos cual alternativa tenemos para reemplazar estas sentencias por otras más eficientes.
Bueno, dentro de la misma transacción SE30 existe una opción que nos puede ayudar a resolver estas dudas y es la que se encuentra en el botón Tips & tricks.
En ella se encuentra una lista de técnicas y sentencias ABAP usadas comúnmente acompañadas de alternativas más eficientes, de modo que conocerlas y entenderlas nos puede ser bastante útil a la hora de analizar los resultados que nos genera la transacción SE30 y hacer los ajustes de performance necesarios.
Para hacer más fácil su consulta se encuentran clasificadas en los siguientes grupos:
Grupo |
Descripción |
SQL Interface |
Compara dos técnicas de acceso a la base de datos explicando cuál de las dos es más eficiente. |
Context |
Obsoleto. Solo aplica para algunas versiones |
Internal Tables |
Explica que técnica de acceso a tablas internas genera mejor desempeño (performance) comparando varias alternativas como binary search, key read, acceso individual vs acceso masivo, etc. |
Typing |
Explica por qué resulta más eficiente especificar el tipo de datos en los parámetros y field-symbols. |
IF, Case |
Explica por qué es más eficiente utilizar la sentencia CASE que varias sentencias IF, While en lugar de DO, etc |
Field Conversion |
Explica por qué se debe usar el tipo de datos adecuado y evitar hacer conversiones de tipo de datos innecesarias. |
Character / String Manipulation |
Explica por qué usar el tipo STRING en lugar de carácter resulta mejor en términos de performance |
ABAP Objects |
Compara alternativas en las técnicas Perform, call Function Module, Call Method y explica por qué es más eficiente usar una u otra. |
Es posible que ya conozcamos varias de estas técnicas, pero considero que vale la pena darles una revisada especialmente cuando necesitemos mejorar el performance de nuestros desarrollos.
Muchas gracias por su atención y espero que les sea de utilidad.
Dairo,
Buen aporte, gracias por compartir.
Saludos,
Carlos López
Muchas gracias Carlos. Espero que te sirva.
Abz.
Dairo