🚀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 la performance de los programas o porque afectan a otros factores que son determinantes como ser la reutilizaciòn y el mantenimiento del còdigo.

En esta ocasiòn nos vamos a concentrar en la performance de los programas.

Cuando hablamos de performance nos estamos 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 del sistema SAP.

De estos 3 tiempos, el que debemos tener en cuenta en primer lugar, cuando evaluamos la performance, es el tiempo de procesamiento de los accesos a las tablas de la base de datos, ya que este es el que màs recursos consume y por consiguiente, es el que màs tiempo requiere. 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ò mucho.

Luego sigue en importancia el tiempo de procesamiento de la lògica ABAP existente en el programa.

Por ùltimo el tiempo de procesamiento del sistema SAP.

El Anàlisis de tiempo de ejecuciòn correspondiente a la transacciòn estàndar SE30 nos permite evaluar como se distribuye el tiempo de procesamiento de un programa.

Conclusiones:

✔ 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 seràn muy grandes.

✔ 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 y cuales 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.

Buenas y malas pràcticas en el acceso a la base de datos

Vamos a analizar a continuaciòn las buenas y malas pràcticas en el acceso a la base de datos. Dentro de este aspecto podrìamos mencionar muchas pràcticas habituales de los programadores ABAP.

✔ Evitar el SELECT*: cuando realizamos un SELECT no tenemos que utilizar el * si no vamos a necesitar recuperar todos los campos de la tabla. Nunca usar el SELECT*, siempre especificar los campos que deseamos recuperar.

✔ Evitar el SELECT ENDSELECT: en su lugar usar SELECT INTO TABLE, es màs eficiente.

✔ Evitar el SELECT sin WHERE

✔ Evitar el SELECT dentro de un LOOP

✔ Evitar utilizar las sentencias INSERT, UPDATE, MODIFY, y DELETE dentro de un LOOP

✔ SELECT màs SELECT vs JOIN

Las buenas y malas pràcticas en la lògica de procesamiento ABAP

1 READ TABLE BINARY SEARCH

Siempre que ejecutemos la sentencia READ TABLE debemos optimizarla para poder implementar la bùsqueda binaria y de esta forma reducir los tiempos de procesamiento de la lògica SAP. La alternativa òptima consiste en ejecutar una lectura binaria en lugar de una lectura secuencial. Para poder hacerlo:

✔ La tabla interna debe estar ordenada en forma ascendente por los campos que deseamos buscar

✔ Debemos agregar la clàusula BINARY SEARCH al final de la sentencia READ TABLE:

2 Evitar realizar un LOOP ENDLOOP dentro de otro LOOP ENDLOOP: Esta lògica puede reemplazarse tal como describimos utilizando condiciones en el primer LOOP-ENDLOOP y ejecutando un READ TABLE con BINARY SEARCH.

3 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. Hay que ejecutar LOOP-ENDLOOP especificando las condiciones dentro del WHERE para filtrar los registros a procesar.

4 Olvidarnos WHEN OTHERS en la sentencia CASE: hay que escribir siempre la alternativa WHEN OTHERS dentro de un CASE-ENDCASE.

5 APPEND de una tabla interna en otra tabla interna: Es una muy mala pràctica de programaciòn agregar el contenido de una tabla interna a otra; hay que utilizar siempre la sentencia APPEND LINES OF para agregar el contenido de una tabla interna a otra.

6 INSERT de una tabla interna en otra tabla interna: es una muy mala pràctica de programaciòn insertar el contenido de una tabla interna a otra recorriendo la tabla interna 1 e insertando registro por registro en una posiciòn determinada de la tabla interna 2.

Hay que usar siempre la sentencia INSERT LINES OF para insertar el contenido de una tabla interna a otra en una posiciòn determinada.

7 Borrado de registros duplicados de una tabla interna: hay dos alternativas ;

✔`la primera de ellas consiste en realizar la comparaciòn de forma manual, recorriendo cada uno de los registros de la tabla interna y preguntando en cada uno de ellos si el registro es igual al anterior.

✔ la otra consiste en utilizar la sentencia DELETE ADJACENT DUPLICATES, que borra todos los registros duplicados de una tabla interna, comparando los campos que especificamos luego de COMPARING.

La sentencia DELETE ADJACENT DUPLICATES para borrar registros duplicados de tablas internas es una buena pràctica de programaciòn.

8 Copiar tablas internas: para copiar el contenido de una tabla interna a otra tenemos dos alternativas.

✔ Se borra 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.

✔ Usamos la asignaciòn tabla_interna_1â–¯ = tabla_interna_2â–¯, la cual en sola lìnea pisa el contenido existente en la tabla 1 con el contenido de la tabla interna 2. Esta alternativa es mucho màs veloz y por lo tanto, es una mejor pràctica de programaciòn.


 

 

 


Sobre el autor

Publicación académica de Ariel Martucci, en su ámbito de estudios para la Carrera Consultor ABAP.

SAP Senior

Ariel Martucci

Profesión: Contador Publico - Argentina - Legajo: PJ45S

✒️Autor de: 78 Publicaciones Académicas

🎓Egresado de los módulos:

Disponibilidad Laboral: FullTime

Presentación:

Un contador público de mediana edad con ganas de seguir aprendiendo carreras nuevas. estudiante avanzado de inglés, preparando mi first certificate, y al mismo tiempo involucrándome en programación.

Certificación Académica de Ariel Martucci

✒️+Comunidad Académica CVOSOFT

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

SAP Master

PERFORMANCE EN PROGRAMACION ABAP El performance de un programa es el analisis del desempeño y rendimiento de un programa, para esto se va a trabajar con una herramiento de SAP estandar que es sumamente util para el analisis de la performance, esta es la transacción SE30. El objetivo del performance es poder realizar programas de alta calidad, que funcionen perfectamente en el ambiente productivo, que es donde las tablas de las bases de datos contienen millones de registros y cada micro segundo cuenta. Los tiempos de procesamiento de ABAP se dividen en tres: La base de datos, Abap y el sistema, de estos 3 item debemos tomar en cuenta en cuanto a la performance es la base de datos ya que este es el que mas recursos consumen y...

Acceder a esta publicación

Creado y Compartido por: Jesus Enrique Ramos Bello / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP Senior

En ABAP existen las buenas y malas practicas porque afectan a la performance de los programas o a la reutilización del código. Performance de los programas Performance: Analisís del desempeño y el rendimiento del programa. - Usaremos la transax. SE30 - presionamos el boton Tips & Tricks - Analizaremos las diferentes prácticas de la programación ABAP - En 2 paneles se compararán fragmentos de código. Los tiempos de procesamiento de un programa ABAP se dividen en 3: ABAP, BD y Sistema. De estos tres items el que debemos tener en cuenta principalmente cuando evaluamos la performance es el tiempo de la BD ya que este es el que mas recursos consumen y por consiguiente es el que mas...

Acceder a esta publicación

Creado y Compartido por: Jesus German Cavazos Elizondo

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

SAP Senior

Performance en abap presionamos el boton trips & tricks y podremos ver carpetas que contienen codigos donde prodremos comparar el performance de ambos codigos. a si podremos saber cuales son las mejores practicas de codigicacion.

Acceder a esta publicación

Creado y Compartido por: Luis Eugenio Leyva Orozco

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

SAP Senior

Performance en ABAP En ABAP existen buenas y malas practicas sea por que afectan a los Performance de los programas o por que afectan a otros factores determinantes como es la utilización de código. Performance de los programas - se trata del análisis del desempeño y rendimiento del programa. Utilizamos la transacción SE30 para ver las Performance. Una vez dentro pulsamos el botón Tips & Tricks. Abrimos la carpeta SQL Interface y seleccionamos Select aggregates. Vamos a ver dos códigos distintos que dan el mismo resultado. Para evaluar la performance pulsamos el botón Medir tiempo ejecución. Hacemos lo mismo con Select with select list. Aquí podemos ver que especificando...

Acceder a esta publicación

Creado y Compartido por: Ana Schiau

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

SAP Senior

VIDEO - PERFORMANCE EN ABAP Performance en ABAP El objetivo de esta lección es 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 BD contienen millones de registros y cada micro segundo cuenta. Los tiempos de procesamiento de un programa ABAP se divide entre ABAP, la BD y el Sistema, de estos tres items el q debemos tener en cuenta principalmente cdo evaluamos la performance es el tiempo de la BD ya q esté es el q más recurso consume y por consiguiente es el q más tiempo requiere, cdo más alto sea el porcentaje del procesamiento de...

Acceder a esta publicación

Creado y Compartido por: Mayra Maria Pino Rodriguez

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

SAP Master

Cuando Hablamos de performance nos referimos al desempeño del programa, para poder analizar la performance podemos utilizar la transacción SE30 por el botón TIPS & TRICKS donde nos orienta con cuales de las sentencia que son aconsejables utilzar. Los tiempos de procesamiento de un programa ABAP se dividen en tres: ABAP ,la base de datos y el sistema, de los tres el que mas consume recursos es el de la base de datos y es con el que tenemos tener mas cuidado.

Acceder a esta publicación

Creado y Compartido por: William Alejandro Lemus

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

SAP Senior

Performance en ABAP Para verificar el performance ingresamos a la TX SE30, Aqui presionamos Tips & Tricks en la cual nos recomiendan buenas practicas, nos daran los puntos en el cual podemos programar en ABAP de diferentes manera, y ver su performance, y podemos ver el el tipo de ejecucion. Tiempos de procesamiento se dividen en 3: ABAP: Debe ser lo más ALTO posible BBDD: Debe ser lo más BAJO posible. A tener en cuenta para la performance ya que es lo que más tpo requiere. SISTEMA:

Acceder a esta publicación

Creado y Compartido por: Ruben Dario Martucci / Disponibilidad Laboral: FullTime

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

SAP Senior

lección 8/9: Video - Performance en ABAP Accedemos a la transacción SE30 clicamos en el botón tips & tricks acáveremos carpetas que contienen archivos con código de consultas en SQL que podremos comparar la performance de ambos códigos (el resultado nos indicara en microsegundos), por sentido comun sabremos que el que tarda menos tiempo en ejecutarse sera el de mayor performance, de tal manera podremos saber cuál es la mejor práctica para desarrollar.

Acceder a esta publicación

Creado y Compartido por: Ruben Santiago Cuenca Balanza / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP Expert


PERFORMANCE EN ABAP – LECCION 7-8 PERFORMANCE, cuando hablamos de performance nos referimos al análisis de desempeño de un programa o transacción, para medir la performance de un programa o transacción realizaremos pruebas de rendimiento NOTA, los tiempos de procesamientos de un programa ABAP, se dividen entre ABAP, la base de dato y el sistema, de estos tres ítems el que debemos tener en cuenta principalmente cuando evaluamos la performance, es el tiempo de la base de dato ya que es el que más recursos consume y por consiguiente es el que más tiempo requiere, cuanto más alto sea el porcentaje del procesamiento de la base de dato en comparación a los otros dos porcentajes,...

Acceder a esta publicación

Creado y Compartido por: Cristian Darwin Arteaga Diaz / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP Expert


Performance en ABAP Se refiere al rendimiento de cualquier programa ABAP y en está lección nos explican a evaluarlo mediante la transacción SE30-siendo ésta una transacción antigua, ahora reemplazada por la transacción SAT que tiene más funcionalidades-además existen otras herramientas para poder evaluar la performance ABAP como el code inspector, ST05, ST12. La idea para mejorar la performance de nuestros programas ABAP es reducir el número de accesos a la base de datos.

Acceder a esta publicación

Creado y Compartido por: José Luis Zevallos Mamani

 


 

👌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!