✒️ABAP La performance en ABAP
ABAP La performance en ABAP
Performance en ABAP
- En ABAP existe lo que en programación significa Buenas y malas prácticas
- Estas afectan a la performance u otros factores determinantes (ejm. reuso de código)
Performance de Programas
- Análisis del desempeño y rendimiento de un programa.
- Uso de Trx SE30 (útil para análisis de performance)
-> Botón Trips & Tricks => Diferentes prácticas de programación ABAP con las que se trabajaron a través del
módulo de estudios, determinar cuales son buenas y se deben seguir usando y cuales no.
- Interface SQL >> Select Agregates (Agregados del Select)
- MAX => Buscar máximo valor de una tabla.
- Especificar campos a seleccionar es mucho mas eficientes que realizar SELECT * donde se selecciona todos
los campos que en muchos casos puede ser innecesarios.
- SELECT ENDSELECT y APPEND tablaInterna Vs. SELECT INTO TABLE Tabla interna. Este último es mucho
más eficiente desde el punto de vista de la performance (7 veces más eficiente).
- LOOP AT TAB INTO tab_wa INSERT INTO tabla values TAB_wa ENDLOOP Vs.
INSERT tabla FROM TABLE TAB. Es recomendable este último, aunque no hay diferencia de segundos (las 2
dan 0 segundos !!!)
- Tablas Internas (Internal tables)
-> usando estructuras internas (explicit work areas) ASIGNACION y APPEND VS APPEND wa TO tabla.
Tiempo es = 0 en los 2. Es recomendable la segunda para no realizar asignaciones innecesarias.
- Búsqueda lineal vs Búsqueda Binaria. Esta última es 20 veces más eficiente que búsqueda lineal.
Busqueda lineal lee cada registro de tabla interna de forma secuencial hasta encontrar registro buscado.
Busqueda binaria divide en 2 espectro de búsqueda hasta encontrar registro buscado.
- LOOP sin WHERE vs LOOP con WHERE. Esta última es recomendable para restringir lo más posible
la cantidad de operaciones a realizar
- Operaciones de array
-> APPEND Tabla. LOOP tabla interna y se hace APPEND a otra Vs APPEND LINES OF tabla interna
a otra. Ampliamente recomendable la segunda.
-> Inserción de tabla. LOOP AND INSERT de tabla interna a otra Vs.
INSERT LINES OF tablainterna INTO TablaInterna2 INDEX I (I previamente declarado => indice). se
recomienda usar la segunda sentencia.
-> Borrado de duplicados. READ TABLE INDEX Y LOOP para buscar registro por índice duplicado Vs.
DELETE ADJACENT DUPLICATES FROM tablaInterna COMPARING K. Ampliamente recomendable el
uso de la segunda opción para minimizar el número de sentencias a utilizar.
-> Copiado de tablas internas. Primero verificar que las tablas sean del mismo tipo.
LOOP AT tablaInterna APPEND to TablaInterna2 vs. Asignación Directa tablaInterna[ ]=tablaInterna2[ ].
Es recomendable el uso de la segunda opción ya que demora 0 micseg vs la primera, 38micseg.
-> Comparación de tablas internas. Recorrer y leer tablas internas vs. tabla1[ ] = tabla2[ ]. La segunda es
más eficiente en cuestiones de performance.
-> Ordenamiento de tablas internas. Ordenar tabla sin especificar campo de ordenamiento vs ordenar tabla
especificando campo de ordenamiento. Recomendable usar campo de ordenamiento usando
sentencia SORT.
-> Tipos. parámetros con tipos vs parámetros sin tipos. Es conveniente declarar tipos de parámetros
en las declaraciones de subrutinas.
-> IF Vs. CASE. Levemente más performance uso de CASE cuando son muchas opciones. (1 mic)
-> Conversión de campos. Tipos mixtos. Multiplicar variables de tipos distintos vs multiplicar variables
del mismo tipo. Conveniente por performance para operaciones aritméticas trabajar con variables
del mismo tipo.
- Grabar archivos de test ejecutados.
- Testear código desarrollado (escribiendo código en pantalla >> botón medición de tiempo)
- Evaluar cómo se distribuye tiempo de procesamiento de un programa ABAP.
-> ingresar nombre de programa
-> Ejecutar
-> Evaluar
-> Ver resultados en pantalla.
Consideraciones
Tiempos de procesamiento de ABAP
- Se dividen ABAP, Base de Datos, Sistema.
- A tener en cuenta principalmente al evaluar performance, tiempo de Base de Datos, ya que este es el que más
recursos consume y por consiguiente que más tiempo requiere. Si es más alto % procesamiento de BD en comparación
a otros 2, tiempos de duración de programa subiran. Lo ideal: % procesamiento ABAP mas alto, % procesamiento BD
mas bajo. Usar todas las técnicas de optimizacion de performance vistas.
 
 
 
Favorito:
Está publicación ha sido agregada a sus favoritos por: Octavio Davila Durazo
Sobre el autor
Publicación académica de Darwin Enrique Terraza Berdugo, en su ámbito de estudios para la Carrera Consultor ABAP.
Darwin Enrique Terraza Berdugo
Colombia - Legajo: MM57E
✒️Autor de: 60 Publicaciones Académicas
🎓Egresado de los módulos:
- Carrera Consultor ABAP Nivel Inicial
- Carrera Consultor Basis NetWeaver Nivel Avanzado
- Carrera Consultor Basis NetWeaver Nivel Inicial
Disponibilidad Laboral: PartTime
Certificación Académica de Darwin Terraza