✒️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.
- Ahora seleccionamos acceso por clave a mùltiples registros.
1
LOOP AT ITAB INTO WA.
CHECK WA-K = 'X'.
" ...
ENDLOOP.
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.
Miguel Angel Acosta Acosta
Profesión: Ingeniero de Sistemas - Ecuador - Legajo: TF64C
✒️Autor de: 238 Publicaciones Académicas
🎓Egresado de los módulos:
- Carrera Consultor en SAP SD Nivel Avanzado
- Carrera Consultor en SAP SD Nivel Inicial
- Máster ABAP for HANA
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial
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