PROMO JULIO en CVOSOFT United States Of America: 💎Calidad, 🔥Bonificaciones, 🥶Precios Congelados y MÁS!

 X 

✒️ABAP La performance en ABAP

ABAP La performance en ABAP

ABAP La performance en ABAP

Lección: Video - Performance en ABAP

Búsqueda lineal: que lee cada registro de la tabla interna en forma secuencia hasta encontrar el que cumple con la condición

Búsqueda binaria: que divide en dos el espectro de búsqueda hasta encontrar el registro buscado

Veamos performance de ambas abap

el resultado indica que la búsqueda binaria en 20 veces más eficiente que la búsqueda lineal.

seleccionamos ahora acceso por clave a múltiples registros, aquí se presentan dos alternativas; a la izda vemos un loop y con una condición dentro del mismo y a la dcha vemos un loop que tiene incorporado la condición utilizando la cláusula where.

Veamos performance de abap

El resultado indica que es ampliamente recomendable incorporar dentro de los loops las condiciones de búsqueda de modo de restringir lo más posible la cantidad de interacciones a realizar.

Ahora abrimos la carpeta operaciones de Array y seleccionamos la opción appendeo de tabla, vemos dos códigos, en el de la izda se loopea una tabla interna y se appendea otra, en el dcha se realiza ambos pasos en uno solo utilizando la sentencia append lines of

Veamos performance de abap

Comprobamos que es ampliamente recomendable la sentencia append lines of, ahora seleccionamos la opción inserción de tablas. En el código de la izda se recorre una tabla interna y se inserta cada registro de esta en otra tabla interna, en cambio a la dcha se realiza ambos pasos en uno solo utilizando la sentencia insert lines of.

Veamos performance de ambas opciones

Comprobamos que es recomendable la sentencia insert lines of, ahora seleccionamos borrado de duplicados, aquí se presentan dos códigos, la principal diferencia es que en el de la izda se emplea una combinación de sentencias para borrar los duplicados en la tabla interna, en cambio en el de la dcha solamente se utiliza la sentencia delete adjacent duplicates,

Veamos performance de ambos

Comprobamos que es ampliamente recomendable utilizar la sentencia delete adjacent duplicates para borrar registros duplicados de una tabla interna. Seleccionamos ahora copias tablas internas, aquí se presentan dos opciones, en la izda se loopea una tabla interna y se appendea cada registro en otra tabla interna, en cambio en la derecha se realiza una asignación directa del contenido de la tabla 1 a la tabla 2, para ello ambas tablas deben ser iguales

Veamos la performance de ambas

La asignación directa del contenido de una tabla interna a otra, el mismo tipo es ampliamente recomendable, seleccionemos ahora comparación de tablas internas, en el código de la izda se recorre ine en la tabla interna para establecer si son iguales o no, en cambio en la derecha se emplea la comparación directa

Veamos performance de ambas

comprobamos que la comparación directa es totalmente superior en cuestiones de performance. Seleccionamos ahora ordenamiento de tablas internas, aquí vamos a comparar la diferencia que existe entre ordenar una tabla interna sin especificar el cambio y especificando el campo de ordenamiento.

Veamos performance de ambas sentencias

verificamos que es recomendable especificar el campo de ordenamiento de una tabla interna al ejecutar la sentencia sort. ahora abrimos la carpeta tipos (typing) y seleccionamos parametros con tipo vs parametros sin tipo, en la declaración de la subrutina up1 de la izda que no se especifican los tipos de los parámetros en cambio en la declaración de la subrutina up2 de la dcha si se especifican los tipos de los parámetros

Veamos la performance de ambas

Comprobamos que siempre es conveniente especificar los tipos en las declaraciones de las subrutinas. ahora abrimos la carpeta if,case y seleccionamos if vs case vamos a verificar si hay más performance de especificar condiciones con if o mediante case.

Comprobamos que es levente más conformance la sentencia case para condiciones con muchas opciones. ahora abrimos la carpeta conversión de campos y seleccionamos tipos mixtos, aquí se presentan dos códigos, a la izda vamos a multiplicar dos variables de distinto tipo cuyo resultado almacenaremos en una variable de un tipo distinto a las otras dos, en cambio a la derecha utilizamos tres variables de un mismo tipo

Veamos que es más eficiente en cuestión de performance

Resulta más conveniente trabajar con variables del mismo tipo al realizar operaciones aritméticas, algo importante de esta transacción es que nos permite grabar en archivo los códigos desde que ejecutamos, también nos permite testear el código que nosostros mismo desarrollamos, simplemente escribiendo dicho código en la pantalla y presionando el botón de medición de tiempo

Por último la transacción nos permite evaluar como se distribuye el tiempo de procesamiento de un programa abap, para ello basta con ingresar el nombre del programa, ejecutarlo y presionar el botón evaluar para finalmente ver los resultados en pantalla.

----------------------

En abap existe lo que se denomina buenas y malas prácticas, nos vamos a centrar en la performance de los programas, cuando hablamos de performance nos referimos al análisis del desempeño y rendimiento del programa para ello vamos a trabajar con una transacción estandar de SAP que es útil para el análisis del performance que es la SE30 ,una vez dentro presionamos el botón tips & tricks aquí vamos a ir analizando las diferentes prácticas de programación ABAP, de modo poder determinar cuales son buenas y debemos continuar utilizando y cuales no son recomendables y debemos dejar de utilizar.

Empezamos abriendo la carpeta interface SQL, allí clickeamos agregados del select , aquí vemos dos códigos abap que realizan lo mismo de dos formas diferentes, el objetivo es obtener el máximo valor, el de la izda utiliza la sentencia select la sentencia select endselect totalmente desaconsejada desde el punto de vista de la performance y el de la dcha utiliza la sentencia select max.

Para evaluar la performance de ambos códigos presionamos el botón mediante el tiempo de ejecución y verificamos lo que mencionamos anteriormente mientras que con el código select endselect el sistema tarda 2000 y pico microsegundos utilizando el select max solo tarda 177 microsegundos por lo tanto cuando tengamos que buscar el máximo valor en una tabla siempre utilizaremos el botón de la dcha es decir el select max.

Ahora clickeamos selección con lista de selección, aquí vemos dos códigos abap, si bien ambos utilizan la sentencia select endselect la cual está totalmente desaconsejada, el de la izda realiza un select* , mientras que el de la dcha especifica los campos a seleccionar, para evaluar su performance presionamos el botón medir tiempo de ejecución. verificamos que especificar los campos a seleccionar es mucho más eficiente que realizar un select* donde seleccionamos todos los campos que en muchos casos puede ser innecesarios.

Ahora abrimos la carpeta operaciones de ray tablas internas, aquí seleccionamos select into table, vemos dos códigos abap, en el de la izda select endselect totalmente desaconsejado y por cada vuelta un apend a una tabla interna, en el de la derecha ejecutamos la sentencia select into table, la cual insertará directamente los registros seleccionados en la tabla interna.

Veamos la performance de ambas

Comprobamos que la utilización de select into table es altamente conveniente ya que es prácticamente 7 veces más eficiente desde el punto de vista de la performance. Ahora clickeamos array insert vs single-row insert de un solo registro. vemos dos códigos , a la izda, recorremos la tabla interna tabi por cada registro realizamos un insert, a la dcha evitamos recorrer la tabla interna ejecutando la sentencia insert from table.

Veamos la performance de ambas opciones

si bien el rtdo arrojado para ambas es cero microsegundos, la opción de la derecha es ampliamente recomendable. Ajhora seleccionamos array select vs select enselect , aquí vemos dos opciones, a la izda realizamos un select into table y luego recorremos la tabla interna con un loop , a la derecha ejecutamos select enselect desaconsejado por su mala performance.

Veamos la performance de ambas sentencias

Comprobamos que no es conveniente la utilización del select enselect , siempre es preferible el select into table . Ahora abrimos la carpeta tablas internas , allí clickeamos (using explicit work areas) usando estructuras explícitas y vemos dos códigos, en el de la izda se realiza una asignación y luego un append y en el de la dcha, hacemos los dos pasos en uno solo,

Veamos la performance de ambos

Si bien el resultado es el mismo , es ampliamente recomendable evitar realizar asignaciones innecesarias , ahora seleccionamos búsqueda lineas vs búsqueda binaria


 

 

 


Sobre el autor

Publicación académica de Aida Cortina Fernandez, en su ámbito de estudios para la Carrera Consultor ABAP.

SAP Senior

Aida Cortina Fernandez

Profesión: Consultor Junior - España - Legajo: MK87X

✒️Autor de: 74 Publicaciones Académicas

🎓Cursando Actualmente: Consultor ABAP Nivel Avanzado

🎓Egresado del módulo:

Certificación Académica de Aida Cortina

✒️+Comunidad Académica CVOSOFT

Continúe aprendiendo sobre el tema "La performance en ABAP" de la mano de nuestros alumnos.

SAP Senior

Performance ABAP. Performance: Nos referimos al análisis del desempeño de un programa o transacción. Buenas o malas practicas en el performance o utilización de otro código. Transacción estándar: SE30 para el performance dar clic en el botón Tips & Tricks. Verificar todas las carpetas para verificar el performan, seleccionamos un código y ahí damos clic en el botón Medir tiempo ejec. Permite grabar en archivo los códigos que se ejecutan. Permite testear el código que se escribe. Evaluar como se distribuye en tiempo de procesamiento de un programa ABAP. Ingresar el nombre del programa, ejecutar y presionar el botón evaluar.

Acceder a esta publicación

Creado y Compartido por: Rafael Razo

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

PERFORMANCE Cuando hablamos de Performance nos referimos al analisis del desempeño de un programa o transaccion. 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...

Acceder a esta publicación

Creado y Compartido por: David Camacho Espinoza

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

Performance en ABAP

Acceder a esta publicación

Creado y Compartido por: Luis Manuel Olivier Melo

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

PERFOMANCE. La transacción SE30 es util para el analisis y el performance de un programa, utilizando el botón trips & tricks. Aqui vamos analizando las diferentes practicas de programación ABAP que utilizamos. Para medir el performance hacemos clic en el botón medir tiempo ejec y verificamos el tiempo de ejecución.

Acceder a esta publicación

Creado y Compartido por: Maria Ysabel Colina De Magdaleno

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

Al igual que en otros lenguajes de programación el performance cumple un rol importante en la calidad de nuestro codigo pero hay que tomar en cuenta que mientras mas facil es para el programador desarrollar una solucion de menor performance sera.

Acceder a esta publicación

Creado y Compartido por: Faharid Manjarrez

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

Performance en ABAP Performance de los programas. se refiere al análisis del desempeño y rendimiento los programas para ello trabajaremos con la transacción SE30 presionamos el botón TIPS and TRICKS (F6) para determinar las practicas que son buenas y cuales no son recomendables y debemos dejar de utilizarla. Los tiempos de procesamiento entre un programa ABAP se divide entre ABAP, la base de datos y el sistema. El principal para evaluar la performance es el tiempo de la base de datos ya que es el que más recurso consume y más tiempo requiere, mientras más alto sea el porcentaje de procesamiento de la base de datos en comparación de los otros dos porcentajes, los tiempos de duración...

Acceder a esta publicación

Creado y Compartido por: Jeferson José Peña Curvelo

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

Performance de los programas: es el analisis del desempeño y rendimiento del programa, para ello vamos a trabajar con una transaccion estander se sap que es sumamente util para el analisis de la performance TX:SE30

Acceder a esta publicación

Creado y Compartido por: Cristian Merlo

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

Los tiempos de procesamiento de un programa ABAP se dividen entre ABAP , la base de datos y el sistema, el que demos de tomar en cuenta principalmente es el tiempo de la base datos, ya que este es el que mas recursos consume y por consiguiente mas tiempo requiere, cuando mas alto sea el porcentaje del procesamiento de la base de datos en comparacion a los otros dos procentajes los tiempos de duracion del programa se iran por las nubes,lo ideal es que el procentaje de procesamiento ABAP sea lo mas alto posible y el procesamiento de la base de datos sea el mas bajo posible, para lograr esto utilizaremos todas las tecnicas de optimizacion de performance.

Acceder a esta publicación

Creado y Compartido por: Marco Antonio Vazquez Gonzalez

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

La transacción que se usa para analizar la performance de los programas abap es la SE30 En esta transacción se usa la opción : Tips & Tricks

Acceder a esta publicación

Creado y Compartido por: Juan Carlos Ayala Chira

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

*****************Performance en ABAP [ 8º de 8 ] La Performance es un elemento en Sistemas que tiene mucha importancia y a veces no nos damos cuenta que, con pequeños cambios en la forma de programar, podemos lograr que mejore muchísimo, aunque estemos hablando de tiempos en microsegundos. Para poder verificar la Performance de un Programa, se puede entrar a la Trx SE30 y ejecutarlo, obteniendo un análisis de los tiempos insumidos. Una forma más detallada es viendo con distintas alternativas de codificación, como cambian los tiempos consumidos. 1) Buscar Valor Máximo. Recomendable SELECT MAX. 2) SELECT con especificación de campos a recuperar. 3) SELECT INTO TABLE. 4) INSERT FROM TABLE....

Acceder a esta publicación

Creado y Compartido por: Jose Angel Valles Bustos

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 79.000 publicaciones académicas abiertas, libres y gratuitas compartidas con la comunidad, para acceder a ellas le dejamos el enlace a CVOPEN ACADEMY.

Buscador de Publicaciones:

 


 

No sea Juan... Solo podrá llegar alto si realiza su formación con los mejores!