🚀PROMO #PLANCARRERA2024 - 🔥Bonificaciones, Precios Congelados y Cuotas

 X 

✒️ABAP La performance en ABAP

ABAP La performance en ABAP

ABAP La performance en ABAP

La performance en ABAP

  • En ABAP existe lo que en programación se denominan buenas y malas prácticas, Ya sea porque afectan al rendimiento o a la performance de los programas o porque afectan a otros factores que son determinantes como ser de reutilización y el mantenimiento del código.
  • Cuando hablamos de performance nos estamos refiriendo al análisis de desempeño y el rendimiento del programa abap.
  • Dentro de abad podemos decir que la performance de un programa tiene que ver con tres aspectos fundamentales que son los siguientes:
  • El tiempo de procesamiento de la lógica abab existente en el programa
  • El tiempo de procesamiento de los accesos a las tablas de la base de datos
  • El tiempo de procesamiento de sistema SAP
  • El que debemos tener en cuenta en primer lugar cuando evaluamos de performance es el tiempo de procesamiento de los accesos a las tablas de la base de datos, Ya que este es el recurso que más consume Y por consiguiente es el que más tiempo requiere
  • El segundo más importante es el tiempo de procesamiento de la lógica bab existente en el programa, es decir una vez que recuperemos los datos de las tablas de la base de datos, debemos procesarlos mediante una lógica determinada y producir una acción en el sistema o una salida por pantalla o ambas
  • Nos vemos indirectamente afectados por el tiempo de procesamiento de sistema SAP
  • Enabab Contamos con una herramienta muy útil que nos permite evaluar Cómo se distribuye el tiempo de procesamiento de un programa. Nos referimos al análisis de tiempo de ejecución correspondiente de transacción estándar 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 a las nubes
  • 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 bien claro que prácticas son desaconsejadas cuáles son recomendadas, de modo de poder apuntar a realizar programas de alta calidad, que funcionen perfectamente en el ambiente de productivo, donde las tablas de la base de datos contienen millones de registros y cada microsegundo cuenta

Las buenas y las malas prácticas en el acceso a la base de datos

  • Evitar el Select* en muchos casos los programadores abab utilizan serie* ya que les resulta más rápido esto que escribir cada uno de los campos que se desean recuperar de la tabla de base de datos nunca debes utilizar ese de asterisco siempre especificar dos Campos que deseamos recuperar
  • Evitar el SELECT ENDSELECT cuando seleccionamos registros de una tabla base de datos en SAP, tenemos la posibilidad de ejecutar la sentencia SELECT ENDSELECT que a diferencia de la sentencia Select realiza un bucle que Inicia con Select y finaliza con ENDSELECT y dentro del bucle se puede realizar el procesamiento de registro recuperado la tabla base de datos
  • La performance de la sentencia SELECT INTO TABLE es ampliamente superior (se recomienda mejor utilizar esta sentencia)
  • Evitar el SELECT Sin WHERE: un Select Sin condiciones coma es decir sin la cláusula Where, devuelve todos los registros de la tabla base de datos. En general Esto indica que se ha producido un error de programación, es decir nos olvidamos de escribir el WHERE, aunque también en casos muy específicos podría ser necesario ejecutar el Select Sin condiciones
  • Debemos evitar también incluir condiciones por el negativo es decir condiciones con ne ya que desde el punto de vista de rendimiento son mucho más costosas a nivel base de datos
  • En conclusión evitar utilizar el Select Sin especificar condiciones mediante WHERE
  • Evitar el SELECT dentro de un LOOP: eso luz la solución a esta problemática consiste en recuperar en causas internas, antes del LOOP-ENDLOOP todos los registros que vamos a necesitar de las tablas base de datos Y luego dentro del loop acceder a los mismos en memoria a través de la sentencia READ TABLE
  • Evitar utilizar las sentencias INSERT, UPDATE, MODIFY y DELETE dentro de un Loop.
  • 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 base de datos relacionadas. Evitar utilizar el realizar SELECT más SELECT con FOR ALL ENTRIES.

Las buenas y las malas prácticas en la lógica de procesamiento abap

  • READ TABLE BINARY SEARCH. Mediante la sentencia READ TABLE, el sistema internamente para encontrar el registro que deseamos leer, tiene que leer secuencialmente todos los registros de la tabla interna.
  • Para una tabla con mayores registros la busqueda secuencial puede ocasionan un slow performance. La alternativa consiste en ejecutar una lectura binaria en vez de una lectura secuencial.
  • Para poder ejecutar una lectura binaria tenemos dos condiciones;
  • La tabla interna debe estar ordenada en forma ascendente Es decir de menor a mayor por el campo Campos por lo que deseamos Buscar.
  • Debemos agregar la cláusula binary Search al final de la sentencia read table
  • Siempre que ejecutemos la sentencia read Table debemos optimizarla para poder implementar la búsqueda binaria y de esta forma reducir ampliamente los tiempos de procesamiento de la lógica
  • Evitar realizar un LOOP ENDLOOP dentro de otro LOOP-ENDLOOP. Esta lógica puede reemplazarse usando condiciones en el primer LOOP.ENDLOOP y ejecutando un READ TABLE con BINARY SEARCH.
  • LOOP CHECK vs LOOP WHERE. Ejecutar LOOP- ENDLOOP especificando las condiciones dentro del WHERE para filtrar los registros a procesar.
  • Olvidarnos WHEN OTHERS en la sentencia CASE: escribir siempre la alternativa WHEN OTHERS dentro de un CASE-END CASE.
  • INSERT de una tabla interna en otra tabla interna. Usar la sentencia INSERT LINES OF para insertar el contenido de una tabla interna a otra en una posición determinada
  • El borrado de registros duplicados de una tabla interna: Usar la sentencia DELETE ADJACENT DUPLICATES para borrar registros duplicados de tablas interna
  • Copiar tablas internas: Usar asignación tabla_ interna_1[]= tabla_interna_2[] para copiar el contenido de una tabla interna es una excelente práctica
  • Comparación de tablas internas: La utilización de la sentencia IF tabla_interna_1[]= tabla_ interna_2[] para comparar si el contenido de dos tablas internas son iguales.
  • Tx SE30.

 

 

 


Sobre el autor

Publicación académica de Alejandra Daniela Naranjo Belmonte, en su ámbito de estudios para la Carrera Consultor ABAP.

SAP Senior

Alejandra Daniela Naranjo Belmonte

Profesión: Analista/desarrollador de Software - Mexico - Legajo: ON48V

✒️Autor de: 63 Publicaciones Académicas

🎓Egresado del módulo:

Certificación Académica de Alejandra Naranjo

✒️+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!