✒️ABAP / La performance en ABAP Por David Brito Melado
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
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.
Continúe aprendiendo sobre el tema "La performance en ABAP" de la mano de nuestros alumnos.
SAP Master
La Performance en ABAP Se analizan las prácticas de programación que afectan el desempeño y rendimiento en ABAP, priorizando la performance. Los tres aspectos fundamentales son: tiempo de procesamiento de la lógica ABAP, de los accesos a la base de datos y del sistema SAP. El acceso a la base de datos suele ser el principal factor de impacto en recursos y tiempo, aunque con SAP HANA este impacto ha disminuido. Se recomienda utilizar la transacción SE30 para medir los tiempos de procesamiento y detectar cuellos de botella. Lo ideal es que el mayor porcentaje de tiempo se invierta en la lógica ABAP y el menor en los accesos a base de datos. Buenas y malas prácticas de acceso...
*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***
SAP Senior
¿Qué afecta la performance? 1. Accesos a base de datos (el más crítico). 2. Lógica ABAP (bucles, condiciones, tablas internas). 3. Tiempo del sistema (carga del servidor). Herramienta de análisis: · Transacción SE30 (Análisis de tiempo de ejecución). Buenas Prácticas - Base de Datos: Mala Práctica Buena Práctica Razón SELECT * SELECT campo1 campo2 Evita traer datos innecesarios SELECT ... ENDSELECT SELECT ... INTO TABLE 8x más rápido SELECT sin WHERE Siempre usar WHERE Evita full table scan SELECT dentro de LOOP SELECT FOR ALL ENTRIES Reduce accesos a DB INSERT/UPDATE en LOOP INSERT/UPDATE ... FROM TABLE 1 acceso vs N accesos...
*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***
SAP Master
Introducción: La performance en ABAP se centra en tres pilares: tiempo de acceso a BD, lógica ABAP y carga del sistema. ¡Domina las buenas prácticas para evitar cuellos de botella en programas críticos! Diagnóstico: Transacción SE30 Herramienta clave: Analiza distribución de tiempos: Base de datos (Mayor impacto) Lógica ABAP Sistema SAP Objetivo ideal: Minimizar tiempo de BD (< 30%) Maximizar eficiencia en lógica ABAP Malas Prácticas en Acceso a BD SELECT * Problema: Recupera campos innecesarios. Solución:...
*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***
SAP Expert
La performance en ABAP dentro del ecosistema SAP es un tema fundamental para garantizar la eficiencia, escalabilidad y estabilidad de los sistemas empresariales. ABAP (Advanced Business Application Programming) es el lenguaje de programación principal del sistema SAP ERP, utilizado para desarrollar aplicaciones de negocio críticas que deben procesar grandes volúmenes de datos con alta confiabilidad. La performance en este contexto hace referencia al tiempo de ejecución, consumo de recursos y optimización de procesos dentro del entorno SAP. Este resumen aborda en 1000 palabras exactas los principios, prácticas y consideraciones clave para mejorar la performance en programación ABAP. La performance...
Ingeniero en informática especializado en soporte erp y consultoría sap (scm sd, tax-sd, mm, pp), con habilidades en análisis, trabajo en equipo, comunicación efectiva y enfoque a resultados.
*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***
SAP Expert
La performance en ABAP 1 La performance en ABAP Se refiere al rendimiento y la eficiencia con la que se ejecuta el código. Es un aspecto fundamental, ya que un mal desempeño puede afectar no solo la ejecución de un programa, sino el funcionamiento general del sistema SAP. Existen tres aspectos clave que determinan la performance de un programa ABAP: Tiempo de procesamiento de la lógica ABAP: Se refiere al tiempo que toma ejecutar las instrucciones y procesos internos del programa. Tiempo de acceso a la base de datos: Es el tiempo necesario para consultar, insertar, modificar o eliminar datos en las tablas del sistema. Este es el factor que más influye en el rendimiento,...
*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***
SAP Senior
Performace en ABAP en abap existe buenas y malas practicas, por que afectan rendimiento o performance (analisis de desempeño y rendimiento) de programas o otros factores tiene que ver con 3 aspectos base: *el tiempo de proceso de la logica *tiempo de proceso de accesos a tablas de database *tiempo de proceso de sistema SAP el tiempo de procesamiento a las tablas es el que mas consume recursos la transaccion SE30 Analisis de tiempo de ejecucion permite evaluar la distribucion del tiempo en un programa: en la pantalla principal se pone nombre del prog a evaluar buenas y malas practicas en accesos a la base de datos evitar usar SELECT * es mejor especificar los campos evitar SELECT ENDSELECT es mejor usar INTO TABLE evitar SELECT...
Me capacito para desempeñar el rol de un consultor abap, además soy sql developer jr, como ambos lenguajes (sql y abap) se relacionan, hace que mi perfil sea más completo y se complemente.
*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***
SAP Expert
Dentro de la programación en ABAP podemos identificar cuáles son las buenas y las malas prácticas de programación, desde el punto de vista de la performance de nuestros desarrollos. Es sumamente importante tener bien claro que prácticas son desaconsejadas y cuales si son recomendadas, de modo de poder apuntar a realizar programas de alta calidad, que funcionen perfectamente en el ambiente productivo, donde las tablas de la base de datos contienen millones de registros y cada micro segundo cuenta. ABAP nos proporciona una herramienta muy útil e interesante para el análisis de la performance que es la transacción estándar ST05 Tips and Tricks. Allí veremos que los tiempos de...
Profesional con experiencia en el ámbito del desarrollo de software, con conocimientos sólidos en diversos lenguajes de programación (para la creación de apps desktop / web / android / ios).
*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***
SAP Master
LA PERFORMANCE EN ABAP: en ABAP existen lo que en programación se denomina buenas y malas prácticas, ya sea porque afectan al rendimiento o la performance de los programas o porque afectan a otros factores que son determinados como ser la reutilización y el mantenimiento de código. Cuando hablemos de performance nos estaremos refiriendo al análisis del desempeño y el rendimiento del programa ABAP. Dentro de ABAP podemos decir que la performance de un programa tiene que ver con 3 aspectos fundamentales que son los siguientes: - El tiempo de procesamiento de la lógica ABAP existente en el programa. - El tiempo de procesamiento de los accesos a las tablas de la base de datos. - El tiempo de procesamiento...
Creado y Compartido por:Jean Carlos Lopez / Disponibilidad Laboral: FullTime
*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***
SAP Expert
Performance in ABAP Performance refers to the analysis of the execution and efficiency of ABAP programs. In this analysis, there are three fundamental aspects: The processing time of the program logic. The processing time of accesses to database tables. The processing time of the ABAP system. Of these three times, the most resource-consuming one is the processing time of accesses to database tables, followed by the processing of logic, and finally the processing of the ABAP system. For this analysis, we have the transaction SE30, which evaluates how the execution and processing time of the program are distributed. To do this, upon entry, the name of the program is indicated, and the Evaluate button is pressed. This will show us...
Ingeniero de sistemas y computación con 8 años de experiencia el desarrollo frontend & backend (react/node) y en cloud (aws), actualmente desarrollando habilidades en sap btp, ui5, abap y fiori.
*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***
SAP Senior
Performance en ABAP El performances refiere a el análisis del desempeño y el rendimiento del programa ABAP. En este análisis existe los siguiente 3 aspectos fundamentales: * El tiempo de procesamiento de la lógica del programa. * El tiempo de procesamiento de los accesos a las tablas de las bases de datos. * El tiempo del procesamiento del sistema ABAP. De estos 3 tiempos, el que más recursos consume es el tiempo de procesamiento de los accesos a las tablas de bases de datos, luego esta el procesamiento de la lógica y finalmente el procesamiento del sistema ABAP. Para este análisis contamos con la transacción SE30 que evaluar cómo se distribuye el tiempo de ejecución y procesamiento...
👌Genial!, estos fueron los últimos artículos sobre más de 99.000 publicaciones académicas abiertas, libres y gratuitas compartidas con la comunidad, para acceder a ellas le dejamos el enlace a CVOPEN ACADEMY.