✒️ABAP La performance en ABAP
ABAP La performance en ABAP
La performance en ABAP
- Buenas y malas prácticas
- Performance = análisis del desempeño y rendimiento del programa ABAP
- Dentro de SAP podemos decir que la performance de un programa tiene que ver con 3 aspectos fundamentales:
- Tiempo de procesamiento de la lógica
- Tiempo de procesamiento de los accesos a las tablas de la base de datos
- Tiempo de procesamiento del sistema SAP
- El tiempo de procesamiento de los accesos a las tablas de la base de datos es el que debemos tener en cuenta en primer lugar
- En segundo lugar el tiempo de procesamiento de la lógica ABAP existente en el programa
- Por último, el tiempo de procesamiento del sistema SAP
- A partir del lanzamiento de la base de datos en memoria SAP HANA, la relevancia del tiempo de procesamiento de la base de datos disminuyó considerablemente
- En ABAP contamos con un herramienta muy útil, el Análisis de tiempo de ejecución a través de la SE30
- Cuanto más alto sea el porcentaje de procesamiento de la base de datos en comparación a los otros dos porcentajes entonces los tiempos del programa se irán de madre
- La situación ideal es que el porcentaje de procesamiento de la lógica ABAP sea lo más alto posible y el porcentaje de procesamiento de la base de datos sea lo más bajo posible
- Para lograr este objetivo es importante tener claro qué prácticas son desaconsejadas y cuáles son recomendadas.
2. Las buenas y las malas prácticas en el acceso a la base de datos
- Evitar SELECT * ya que es una muy mala práctica de programación. Siempre especificar los campos a recuperar
- Evitar SELECT END SELECT. ya que es una muy mala práctica. Está ampliamente desaconsejada. Hay que usar SELECT INTO TABLE.
- Evitar SELECT sin WHERE. Debemos especificar las condiciones más favorables de los campos claves. Evitar también condiciones NE (Not Equal) porque penalizan mucho
- Evitar el SELECT dentro de un LOOP. En todos los casos puede reemplazarse por un SELECT FOR ALL ENTRIES
- Evitar las sentencias INSERT, UPDATE, MODIFY y DELETE. La misma lógica que la anterior
- SELECT más SELECT vs JOIN. Es una buena práctica de programación utilizar JOINs al momento de tener que seleccionar datos de tablas de datos relacionales
Herramientas evitar malas prácticas
- SCI Inspector de código
- SLIN
Las buenas y malas prácticas en la lógica de procesamiento ABAP
- READ TABLE BINARY SEARCH. Para poder ejecutar la búsqueda binaria tenemos dos condiciones
- La tabla interna debe estar ordenada en forma ascendente por el campo o campos por los que deseamos buscar
- Debemos agregar la cláusula BINARY SEARCH al final de la sentencia READ TABLE
- Evitar realizar un LOOP ENDLOOP dentro de otro LOOP ENDLOOP. En todos los casos la lógica puede reemplazarse por un LOOP ENDLOOP y ejecutando un READ TABLE con BINARY SEARCH
- LOOP CHECK vs LOOP WHERE. Es una mala práctica de programación filtrar los registros a procesar dentro de un LOOP ENDLOOP mediante las sentencias CHECK o IF - ENDIF
- Olvidarnos WHEN OTHERS en la sentencia CASE. Es una mala práctica de programación olvidárselo. Puede producir un dump.
- APPEND de una tabla interna en otra tabla interna. Siempre utilizar la sentencia APPEND LINES OF para agregar el contenido de una tabla interna a otra.
- INSERT de una tabla interna en otra tabla interna. Siempre utilizar la sentencia INSERT LINES OF para insertar el contenido de una tabla interna en una posición determinada
- El borrado de registros duplicados de una tabla interna. Dos alternativas
- Comparativa de forma manual, la más costosa
- Usando la sentencia DELETE ADJACENT DUPLICATES con COMPARING, la mejor
- Copiar tablas internas. Dos alternativas
- Borrar el contenido de la tabla interna 2, luego recorrer la tabla interna 1 y agregar cada registro de la tabla interna 1 en la tabla interna 2. La más costosa
- Utilizar la asignación tabla_interna_1[] = tabla_interna_2[]. La mejor opción
- Comparación de tablas internas. Dos alternativas
- Realizar
 
 
 
Sobre el autor
Publicación académica de David Brito Melado, en su ámbito de estudios para la Carrera Consultor ABAP.
David Brito Melado
Profesión: Ingeniero Informático - España - Legajo: UC35Q
✒️Autor de: 94 Publicaciones Académicas
🎓Egresado de los módulos:
Presentación:
Como profesional en informática y tras cumplir casi la mayoría de edad en entornos sap como consultor funcional de varios módulos quiero llegar a dominar la programación en abap.
Certificación Académica de David Brito