✒️ABAP La performance en ABAP
ABAP La performance en ABAP
VIDEO: PERFORMANCE EN ABAP
PERFORMANCE EN ABAP.
NOTA: Cuando hablamos de Performance nos referimos al análisis del desempeño de un programa o transacción.
Buenas y malas prácticas en Programación ABAP
Buenas y malas prácticas ya sea porque afectan a la performance de los Programas u otros factores como la reutilización de código.
Trataremos el tema de las Performace de los Programas: Para revisar el performance ir a la transaccion SE30. una vez ahi presionar el boton Tips & Tricks aqui se van analizando las diferentes practicas de programacion ABAP para determinar cuales son buenas y cuales no son recomendables.
Abrir la carpeta interface SQL seleccionar "Select aggregates" aqui vemos dos codigos abap que realizan lo mismo de dos formas diferentes el objetivo es obtener el maximo valor. para obtener la performance de ambos codigo presionamos el boton "Medir tiempo ejec." comparamos la diferencia en micro segundos de uno y otro.
De la misma manera se van revisando y comparando los programas que se encuentran en el arbol de la izquierda.
Esta transaccion nos permite guardar en archivos los test que ejecutamos, Tambien nos permite testear el codigo que nosotros mismos desarrollemos. Por ultimo la transaccion nos permite evaluar como se distribulle el tiempo de procesamiento de un programa ABAP, para ello basta con ingresar en nombre del programa, ejecutarlo y presionar el boton evaluar.
Algunas Comparaciones son:
Se abre la capeta interface SQL/agregados del select/ se ven dos códigos que hacen lo mismo de forma diferente, el objetivo es obtener el máximo valor.
Para evaluar la performance de ambos códigos se presiona el botón MEDIR TIEMPO DE EJECUCION. Se debe utilizar el SELECT MAX para buscar el máximo valor.
Selección con lista de selección, especificar los campos a seleccionar es más eficiente que un select *.
Carpeta Operaciones de Array (Tablas Internas) seleccionando select into table 7 veces más eficiente
Seleccionar Array Insert Vs Insert de un solo registro. Insert es recomendable.
Seleccionar Array Select vs Select Enselect, es preferible el select into table.
Carpeta Tablas Internas.
Seleccionar Usando estructuras explicitas. Si el resultado es el mismo es recomendable realizar asignaciones innecesarias.
Seleccionar Búsqueda lineal vs búsqueda binaria. La búsqueda binaria es 20 veces más eficiente que la búsqueda lineal.
Seleccionar Acceso por clave a múltiples registros. Es recomendable dentro del LOOP WHERE condiciones de búsqueda.
Carpeta Operaciones de Array.
Seleccionar Appendeo de tablas, es recomendable la utilización de la sentencia APPEND LINES OF.
Seleccionar Inserción de tablas, es recomendable la utilización de la sentencia INSERT LINES OF.
Seleccionar Borrado de duplicados, es recomendable la utilización de la sentencia DELETE ADJACENT DUPLICATES para borrar registros duplicados de una tabla interna.
Seleccionar Copiar tablas internas, es recomendable la asignación directa del contenido tabla 1 a tabla 2, del mismo tipo y ambas tablas deben ser iguales.
Seleccionar Comparación tablas internas, es recomendable la comparación directa es superior.
Seleccionar Ordenamiento de tablas internas, es recomendable especificar el campo de ordenamiento de una tabla interna al ejecutar la sentencia SORT.
Carpeta Tipos “Typing”.
Seleccionar Parámetros con tipo vs Parámetros sin tipo, es conveniente especificar los tipos en las declaraciones de subrutinas.
Carpeta If, CASE
Seleccionar If vs Case, es más performance la sentencia CASE para condiciones con muchas opciones.
Carpeta Conversión de campos
Seleccionar Tipos Mixtos, es recomendable trabajar con variables del mismo tipo ONLY ONE TYPE, que al realizar operaciones aritméticas..
La SE30 Permite grabar en archivo los códigos que se ejecutan y testear el mismo código desarrollado. Permite evaluar cómo se distribuye el tiempo de procesamiento de un programa ABAP, ingresando el nombre del programa, ejecutar y evaluar.
NOTA: Los tiempos de procesamiento de un programa ABAP se dividen entre:
ABAP
LA BASE DE DATOS
SISTEMA
El que se debe tener en cuenta principalmente cuando se evalúa la performance es el tiempo de la BD, ya que este es el que más recursos consume y el que más tiempo requiere.
Cuanto más alto sea él % del procesamiento de la BD en comparación a los otros dos porcentajes los tiempos de duración del programa se irán por las nubes.
Lo ideal es que el % de procesamiento ABAP sea lo más alto posible, y el % de procesamiento de la BD sea lo más bajo posible.
 
 
 
Sobre el autor
Publicación académica de Alexander Castellanos, en su ámbito de estudios para la Carrera Consultor ABAP.
Alexander Castellanos
Profesión: Ingeniero de Sistemas - Colombia - Legajo: JS42A
✒️Autor de: 67 Publicaciones Académicas
🎓Egresado del módulo:
Certificación Académica de Alexander Castellanos