✒️ABAP / La performance en ABAP Por Miguel Acosta Acosta

Selector Alummnos / Empresas

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.


 

Escanear / Compartir

 

 


Sobre el autor

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

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


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...

Acceder a esta publicación

Creado y Compartido por: Juan Ignacio Romero

*** 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...

Acceder a esta publicación

Creado y Compartido por: Mara Fadua Romero Hernandez

*** 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:...

Acceder a esta publicación

Creado y Compartido por: Oscar Aravena Muller / Disponibilidad Laboral: FullTime

*** 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...

Acceder a esta publicación

Creado y Compartido por: David Ibarra / Disponibilidad Laboral: FullTime + Carta Presentación

*** 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,...

Acceder a esta publicación

Creado y Compartido por: Geovanny Martínez Campoverde

*** 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...

Acceder a esta publicación

Creado y Compartido por: Luciano Martinez / Disponibilidad Laboral: FullTime + Carta Presentación

*** 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...

Acceder a esta publicación

Creado y Compartido por: Jose Medina / Disponibilidad Laboral: FullTime + Carta Presentación

*** 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...

Acceder a esta publicación

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...

Acceder a esta publicación

Creado y Compartido por: Jaime Eduardo Gomez Arango / Disponibilidad Laboral: FullTime + Carta Presentación

*** 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...

Acceder a esta publicación

Creado y Compartido por: Linda Carolina Zambrano León

 


 

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

🔎Buscador de Publicaciones:

 


 

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