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

 X 

✒️ABAP La performance en ABAP

ABAP La performance en ABAP

ABAP La performance en ABAP

PERFORMANCE EN ABAP

En abap existen buenas y malas pràcticas de porgramaciòn ya sea por que afectan a la performance de los programas o porque afectan a otros factores determinantes como pueden ser la rutilizaciòn del còdigo.

La performance se refiere al anàlisis del desempeño y rendimiento de los programas.

La transacciòn SE30, permite realizar en anàlisis de la performance de los programas.

Una vez dentro de la transacciòn, presionamos el botòn tips & tricks y abrimos la carpeta interfaces SQL y seleccionamos "Agregados SQL", se despliegan dos ventas con còdigo ABAP que realizan las mismas acciones.de dos formas diferentes. el objetivo es obtener el màximo valor, para evaluar la performance presionamos el botòn medir tiempo de ejecuciòn y verificamos los tiempos de ejecuciòn.

SQL 1.

DATA: MAX_MSGNR type t100-msgnr.

MAX_MSGNR = '000'.

SELECT * FROM T100 INTO T100_WA

WHERE SPRSL = 'D'

AND ARBGB = '00'

CHECK: T100_WA-MSGNR > MAX_MSGNR.

MAX_MSGNR = T100_WA-MSGNR.

ENDSELECT.

SQL 2.

DATA: MAX_MSGNR type t100-msgnr.

SELECT MAX(MSGNR) FROM T100 INTO max_msgnr

WHERE SPRL = 'D'

AND ARB = '00'.

En este caso el SQL 2, tiene un mejor rendimiento.

- Select con Select list.

SQL 1.

SELECT * FROM DD01L INTO DD01L_WA

WHERE DOMNAME LIKE 'CHAR%'

AND AS4LOCAL = 'A'.

ENDSELECT.

SQL 2.

SELECT DOMNAME FROM DD01L

INTO DD01L_WA-DOMNAME

WHERE DOMNAME LIKE 'CHAR%'

AND AS4LOCAL = 'A'.

ENDSELECT.

Verificamos que seleccionar los campos es mucho màs eficiente que seleccionar todos los campos

- Dentro de las carpeta Operaciones con arreglos (Tablas internas)

Abrimos "Select into table"

SQL 1.

DATA T006_WA TYPE T006.

CLEAR X006.

SELECT * FROM T006 INTO T006_WA.

APPEND T006_WA TO X006.

ENDSELECT.

SQL 2.

SELECT * FROM T006 INTO TABLE X006.

La sentencia select into table es altamente conveniente.

- Ahora seleccionamos "Array insert vs Single-row"

SQL 1.

SELECT * FROM T006

INTO TABLE X006.

LOOP AT X006 INTO X006_WA.

ENDLOOP.

SQL 2.

SELECT * FROM T006 INTO X006_WA.

ENDSELECT.

- Ahora seleccionamos Array-select vs Select-EndSelect

SELECT * FROM T006

INTO TABLE X006.

LOOP AT X006 INTO X006_WA.

ENDLOOP.

SQL2.

SELECT * FROM T006 INTO X006_WA.

ENDSELECT.

Siempre es preferible SELECT INTO TABLE

- Ahora abrimos la carpeta "Tablas Internas", y click en Usando àreas de trabajo explìcitas.

1.

ITAB = WA.

APPEND ITAB.

2.

APPEND WA TO ITAB.

Si bièn el tiempo es igual, no es conveniente hacer asignaciones innecesarias.
- Ahora seleccionamos "Bùsqueda lineal vs bùsqueda binaria"
1
READ TABLE ITAB INTO WA
WITH KEY K = 'X'.
2
READ TABLE ITAB INTO WA
WITH KEY K = 'X'
BINARY SEARCH.
La bùsqueda binaria es mucho màs eficiente que la bùsqued lineal

- Ahora seleccionamos acceso por clave a mùltiples registros.

1

LOOP AT ITAB INTO WA.

CHECK WA-K = 'X'.

" ...

ENDLOOP.

2
LOOP AT ITAB INTO WA WHERE K = 'X'.
" ...
ENDLOOP.
Es recomendable utilizar las condiciones en el LOOP, de modo de restringir la cantidad de iteraciones a realizar.
- Ahora seleccionamos la carpeta operaciones de arreglos. y click en Appending tables.
1.
LOOP AT ITAB1 INTO WA.
APPEND WA TO ITAB2.
ENDLOOP.
2.
APPEND LINES OF ITAB1 TO ITAB2.
Es recomendable la utilizaciòn de la sentencia APPEND LINES
- Ahora seleccionamos inserciòn de tablas.
1
I = 250.
LOOP AT ITAB1 INTO WA.
INSERT WA INTO ITAB2 INDEX I.
ADD 1 TO I.
ENDLOOP.
2
I = 250.
INSERT LINES OF ITAB1 INTO ITAB2
INDEX I.
Comprobamos que es sumamente recomendable utilizar INSERT LINES
-Ahora seleccionamos borrado de duplicados.
1
READ TABLE ITAB INDEX 1 INTO PREV_LINE.
LOOP AT ITAB FROM 2 INTO WA.
IF WA = PREV_LINE.
DELETE ITAB.
ELSE.
PREV_LINE = WA.
ENDIF.
ENDLOOP.
2
DELETE ADJACENT DUPLICATES FROM ITAB
COMPARING K.
Es ampliamente recomendable utilizar la sentencia DELETE ADJACENT DUPLICATES.
- Ahora seleccionamos copiar tablas internas.
1
REFRESH ITAB2.
LOOP AT ITAB1 INTO WA.
APPEND WA TO ITAB2.
ENDLOOP.
2
ITAB2[] = ITAB1[].
La asignaciòn interna de una tabla a otra es màs eficiente.(las tablas deben ser del mismo tipo)
- Ahora seleccionemos comparaciòn de tablas internas.
1
DESCRIBE TABLE: ITAB1 LINES L1,
ITAB2 LINES L2.
IF L1 <> L2.
TAB_DIFFERENT = 'X'.
ELSE.
TAB_DIFFERENT = SPACE.
LOOP AT ITAB1 INTO WA1.
READ TABLE ITAB2 INTO WA2 INDEX SY-TABIX.
IF WA1 <> WA2.
TAB_DIFFERENT = 'X'. EXIT.
ENDIF.
ENDLOOP.
ENDIF.
IF TAB_DIFFERENT = SPACE.
" ...
ENDIF.
2
IF ITAB1[] = ITAB2[].
" ...
ENDIF.
La comparaciòn directa entre tabas es màs eficiente
- Ahora seleccionamos ordenamiento de tablas internas
1
SORT ITAB.
2
SORT ITAB BY K.
Es màs eficiente utilizar el campo de ordenamiento.
- Ahora abrimos la carpeta tipos y seleccionamos tipados vs paràmetros no tipados
Siempre es conveniente utilizar los tipos en las declaraciones de las rutinas
- Ahora abrimos la carpeta if case y seleccionamos if vs case.

Es mejor utilizar la sentencia case con muchas opciones de decisiòn

- Ahora abrimos la carpeta conversiòn de campos y seleccionamos tipos mixtos

Es mejor trabajar con variables del mismo tipo al realizar operaciones aritmèticas

Nota.- Se puede guardar en un archivo los resultados de las pruebas. Tambièn se puede realizar el testeo de nuestro còdigo

La transacciòn se30 tambièn permite evaluar còmo se distribuye el tiempo de procesamiento de un programa, ABAP basta con ingresar el nombre del programa y presionar el botòn evaluar.y despliega los resultados en pantalla.

Los tiempos de un programa ABAP se divide en tres:

ABAP

BASE DE DATOS

SISTEMA

El principal es el tiempo de la base de datos, ya que este es el tiempo que màs consume y el que màs tiempo requiere, es recomendable que el tiempo de porcentaje de ABAP sea el màs alto posible y el de la base de datos el mìnimo.para conseguir este objetivo se debe utilizar las tècnicas de performance revisadas.


 

 

 


Sobre el autor

Publicación académica de Miguel Angel Acosta Acosta, en su ámbito de estudios para la Carrera Consultor ABAP.

SAP Expert


Miguel Angel Acosta Acosta

Profesión: Ingeniero de Sistemas - Ecuador - Legajo: TF64C

✒️Autor de: 238 Publicaciones Académicas

🎓Egresado de los módulos:

Disponibilidad Laboral: FullTime

Presentación:

Profesional de ingeniería de sistemas en computación e informática, con experiencia en la implantación y soporte de proyectos informáticos para empresas del sector industrial y financiero.

Certificación Académica de Miguel Acosta

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