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

 X 

✒️El análisis y la optimización con SAP HANA

El análisis y la optimización con SAP HANA

El análisis y la optimización con SAP HANA

1 Introducción al análisis y optimización con SAP HANA

Opciones con las que contamos:

  • Realizar traces de SQL a través de la transacción ST05.
  • El análisis de tiempo de ejecución de ABAP mediante la tx SAT: evolución de la tx: SE30, la sección "Tips and tricks" nos permite comparar la performance de diferentes sentencias ABAP.
  • La verificación ampliada de código a través de la transacción SLIN: Verifica estaticamente el código y detecta entre otras cuestiones muy valiosas, el código existente que no se utiliza.
  • Chequear el código generado a través del inspector de código de SAP con la transacción SCI: Podemos realizar comprobaciones de performance, seguridad, sintaxis, uso de convenciones de nombre, programación robusta, etc.
  • El ABAP Test Cockpit correspondiente a la transacción ATC: Presenta los mismos chequeos que la tx SCI, sumado a chequeos de calidad de nuestras aplicaciones sean mas eficientes y completas.
  • La utilizacipón de los registros estadísticos mediante la transacción STAD: Nos proporcionan una visión general simple de los tiempos de la base de datos.
  • EL análisis de transacciones individuales a través de la tx ST12: herramienta que combina STAD, SAT y ST05.
  • El análisis de errores en tiempo de ejecución mediante la transacción ST22: información para solucionar el problema que originó el dump.
  • El Monitor SQL a través de la transacción SQLM: Supervisa el sistema de producción y proporciona datos de optimización del rendimiento
  • El SQL Performance Tunnin WorkList Tool mediante la tx SWLT: Podemos combinar el Monitor de SQL con los resultados de análisis del código.

2 Análisis del código ABAP

El inspector de código (Tx SCI) nos puede ayudar a identificar partes del programa que tienen potencial de mejora para SAP HANA

Al ejecutarlo recibiremos lista de mensajes con prioridad

SAP no permite escanear el código estándar

Cosas que debemos saber:

  • Variante de verificacion: Define las reglas que se aplicarán, las comprobaciones que se realizarán y su configuración.
  • Object set(Conjunto de objetos): Objetos de desarrollo que se incluirán.
  • Inspección en inspector de código: Que comprobaciones deben aplicarse a qué objetos de desarrollo.
  • Elementos globales están disponibles para todos los usuarios.
  • Elementos locales están asociados directamente a un ID de usuario.
  • SAP proporciona una varialnte global con el nombre "DEFAULT"-

2.1 Verificaciones relevantes al Migrar a SAP HANA

Durante la migración a SAP HANA, la principal prioridad es asegurarnos que no se experimente ningún contratiempo funcional, incluido las cancelaciones de programas dumps y los cambios no deseados en el comportamiento de una apliación.

  • Native SQL y hints de base de datos: Tendremos que verificar la compatibilidad, en caso de haberlo usado.
  • Comportamiento del SORT: En tablas columnares debemos especificar ORDER BY para recibir datos ordenados o posteriormente ordenar en ABAP usando un SORT.
  • Adios a las tablas cluster y pool: Ahora serán tablas transparentes, dicha conversión es automática. SAP recomienda especificar ordenamiento.
  • En el inspector habrá disponible un check, para ayudarnos a encontrar programas con SELECTs sin ORDEN BY.

2.2 Verificaciones relevantes al Optimizar para SAP HANA

Uso inseguro de

FOR ALL ENTRIES

Por mejor performance utilizamos FOR ALL ENTRIES o JOIN en lugar de SELECT anidado.

Pero debemos verificar que la tabla interna no se encuentré vacia o nos traerá todos los registros de la tabla.

Buscar las sentencias

FOR ALL ENTRIES

para transformarlas en joins

Comunmente los join ofrencen ventajas sobre la cláusula FOR ALL ENTRIES.

Podemos realizar una comprobación de las cláusulas FOR ALL ENTRIES de modo de convertirlas en joins.

Declaraciones

SELECT

que omiten el Buffer de tabla

El buffer al crear una tabala todavía juega un papel importante cuando se usa SAP HANA.

No debemos omitir este buffer si se ha activado el buffer para una tabla.

Debemos realizar una comprobación en laas instrucciones SELECT que ignoran el buffer.

Instrucciones problemáticas

SELECT *

Debemos evitar leer columnas que no necesitamos

Hay una verificación disponible para encontrar sentencias SELECT que seleccionan demasiados campos.

Solo con el código de retorno SY-SUBRC de la instrucción SELECT es suficiente para verificar.

Buscando SELECTs en LOOPs en subrutinas

El gran número de accesos sucesivos causan problemas de rendimiento, caso que se dá en accesos que se ejecutan en LOOPs.

Hay una serie de controles que pueden encontrar esos LOOPs.

EXIT/CHECK en

SELECT-ENDSELCT

Si utilizamos la sentencia EXIT para salir de un SELECT-ENDSELECT, es posible que se lean registros inecesariamente.

Debemos usar la sentencia CHECK inmediatamente luego de la instrucción SELECT, esas dos expresiones se puden convertir en una condicón WHERE adecuada.


 

 

 

Agradecimiento:

Ha agradecido este aporte: Jesús Quiñonez López


Sobre el autor

Publicación académica de Martín Ramssés Gómez Rodríguez, en su ámbito de estudios para el Máster ABAP for HANA.

SAP SemiSenior

Martín Ramssés Gómez Rodríguez

Profesión: Desarrollador Software - Mexico - Legajo: QS57M

✒️Autor de: 10 Publicaciones Académicas

🎓Egresado del módulo:

Disponibilidad Laboral: FullTime

Presentación:

Desarollarme profesionalmente para seguir apoyando a la sociedad, de manera ética y con valores

Certificación Académica de Martín Gómez