✒️ABAP HANA / El análisis y la optimización con SAP HANA Por Ricardo Tovar Barrera

Selector Alummnos / Empresas

CVOSOFT UNITED STATES OF AMERICA | 17 años de ingeniería dedicados a formación profesional de Consultores SAP | +info

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

Para optimizar una aplicación para utilizarla con SAP HANA tenemos las siguientes herramientas que nos ayudaran a que nuestro código aproveche la potencialidad del paradigma code pushdown.

  • Transacción ST05 (SQL traces): Para poder conocer a que tablas accede un programa y poder determinar por ejemplo, si un SELECT está demorando más tiempo debido a que se está accediendo de forma no optima a la tabla.
  • Transacción SAT (Análisis de tiempo de ejecución): La sección "Tips and tricks" de esta transacción nos permite comparar el performance de diferentes sentencias ABAP.
  • Transacción SLIN (Verificación ampliada de código): Podemos realizar una verificación estática del código, por ejemplo detectar código que no se utiliza.
  • Transacción SCI (Code Inspector): Podemos realizar comprobaciones de performance, seguridad, sintaxis, uso de convenciones de nombre, programación robusta, etc.
  • Transacción ATC (ABAP Test Cockpit): Presenta los mismos chequeos que el Code Inspector, sumando una serie de mejoras que hacen que los chequeos de calidad sean más eficientes y completos.
  • Transacción STAD: Registros estadísticos que proporcionan una visión general de los tiempos de la base de datos.
  • Transacción ST12: Combina las transacciones STAD, SAT y ST05 en una sola interfaz.
  • Transacción ST22: Análisis de errores en tiempo de ejecución.

A partir de ABAP 7.4 tenemos algunas herramientas nuevas:

  • Transacción SQLM (Monitor SQL): Supervisa el sistema de producción y proporciona datos valiosos de optimización del rendimiento. El monitor SQL recopila, agrega y persiste la información en tiempo de ejecución sobre las sentencias SQL. Estos datos junto con información sobre el programa ABAP y el contexto de llamada en el que se ejecutó la declaración, se encuentran disponibles en el monitor SQL.
  • Transacción SWLT (SQL Performance Tunning WorkList Tool): Lo podemos utilizar para combinar los datos del Monitor SQL con los resultados del análisis del código y por lo tanto, hacer planes para lograr una optimización valiosa.

2. El análisis del código ABAP

El Code inspector (transacción SCI) es una herramienta que se utiliza para comprobar los objetos del repositorio. Podemos chequear objetos individuales o conjuntos de objetos para verificar el rendimiento, la seguridad, la sintaxis y el cumplimiento de las convenciones de nombres.

Podemos definir inspecciones que con la ayuda de variantes de verificación, examinen ciertos conjuntos de objetos. Como resultado de una inspección, recibimos mensajes de información, mensajes de advertencia o mensajes de error en diferentes propiedades de los objetos examinados.

  • Variante de verificación: Define las reglas que se aplicaran, las comprobaciones que se realizaran y la configuración de esas comprobaciones.

Globales: Están disponibles para todos los usuarios.

Locales: Están asociados directamente con un usuario especifico.

SAP proporciona una variante de verificación global con el nombre DEFAULT.

  • Conjunto de objetos: Define los objetos de desarrollo que se incluirán.
  • Inspección: Define una combinación de variantes de verificación y conjuntos de objetos, en otras palabras, que comprobaciones deben aplicarse a que objetos de desarrollo.

2.1. Las verificaciones relevantes al migrar a SAP HANA

  • Native SQL y hints de base de datos: En las implementaciones de SAP donde se utiliza como base de datos a Oracle es común encontrarnos con las sentencias HINTS en los SELECT para forzar la utilización de los índices de las tablas. Estas sentencias son propias del SQL Nativo de Oracle y no funcionaran más con SAP HANA. Para encontrar estas sentencias podemos utilizar las siguientes comprobaciones del Code Inspector: Uso de la interfase ADBC y Sentencias Criticas.
  • Comportamiento del SORT: En las tablas columnares si no especificamos el ORDER BY, la base de datos devolverá los registros de datos desordenados, por lo que usar esta cláusula es necesaria, o también podemos usar SORT. En la categoría Programación Robusta del Code Inspector tenemos un check para encontrar los SELECT sin ORDER BY.
  • Adiós a las tablas cluster y pool: Cuando se migra a SAP HANA, las tablas cluster y pool son convertidas a tablas transparentes.

2.2. Las verificaciones relevantes al optimizar para SAP HANA

  • Uso inseguro de FOR ALL ENTRIES: La tabla interna que se utiliza en esta sentencia nunca debe estar vacía, ya que de lo contrario todos los registros de la tabla de base de datos serán leídos.
  • Transformar las sentencias FOR ALL ENTRIES en JOINS: En muchos casos, un JOIN ofrece ventajas de rendimiento adicionales sobre el FOR ALL ENTRIES.
  • Declaraciones SELECT que omiten el Buffer de tabla: El buffer de tabla base de datos que se tilda al crear la tabla todavía juega un papel importante cuando se usa SAP HANA. Para evitar una mayor carga de la base de datos, no debemos omitir este buffer si se ha activado para una tabla. Para este fin, debemos realizar una comprobación en las instrucciones SELECT que ignoran el buffer.
  • Instrucciones problemáticas SELECT *: Debemos evitar leer las columnas de las tablas que no se necesiten.
  • SELECTs en Loops: Existe una verificación que encuentra sentencias SELECT que se ejecutan en Loops.
  • Exit/Check en Select... Endselect: Si utilizamos EXIT para salir de un Select...Endselect, es posible que una gran cantidad de registros se lean innecesariamente y esto se debe a que los datos se transfieren en bloques. En ese caso debemos usar la sentencia CHECK inmediatamente luego de la instrucción SELECT de modo de indicar que no se usa un filtro hasta que se han leído los datos.

 

Escanear / Compartir

 

 


Sobre el autor

Publicación académica de Ricardo Daniel Tovar Barrera, en su ámbito de estudios para el Master ABAP for HANA.

SAP Senior

Ricardo Daniel Tovar Barrera

Profesión: Consultor Abap - Mexico - Legajo: WC52Q

✒️Autor de: 15 Publicaciones Académicas

🎓Egresado de los módulos:

Certificación Académica de Ricardo Tovar

✒️+Comunidad Académica CVOSOFT

Continúe aprendiendo sobre el tema "El análisis y la optimización con SAP HANA" de la mano de nuestros alumnos.

SAP Master


El análisis y la optimización con SAP HANA Herramientas de análisis y optimización en ABAP para SAP HANA Se presentan las herramientas disponibles en ABAP para optimizar y analizar código existente o desarrollar desde cero de forma optimizada para SAP HANA. Es fundamental elegir el enfoque y herramientas adecuadas para maximizar el rendimiento en SAP HANA. Herramientas tradicionales mencionadas: Transacción ST05 para trazas SQL, útil para identificar acceso no óptimo a bases de datos. Transacción SAT (evolución de SE30) para análisis de tiempo de ejecución. ...

Acceder a esta publicación

Creado y Compartido por: Juan Ignacio Romero

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

SAP Expert



El análisis y la optimización con SAP HANA permiten a las organizaciones transformar grandes volúmenes de datos en información valiosa en tiempo real. Gracias a su arquitectura in-memory, elimina la necesidad de accesos lentos a disco y procesa datos de manera simultánea para análisis transaccionales y analíticos. Esto posibilita reportes instantáneos, simulaciones y proyecciones precisas que mejoran la toma de decisiones estratégicas. Con sus herramientas integradas de modelado, análisis predictivo y visualización, se optimizan procesos de negocio al identificar patrones, reducir tiempos de ejecución y detectar ineficiencias operativas. Además, SAP HANA...

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 SemiSenior

Hacer un SQL trace (traza de SQL) significa registrar y analizar las consultas SQL que se están ejecutando en el sistema SAP — especialmente desde programas ABAP — para poder: Detectar cuellos de botella de rendimiento. Ver cómo el ABAP se traduce en sentencias SQL en la base de datos. Saber qué datos se están solicitando y cómo se acceden. ¿Para qué sirve un SQL trace? ¿Para qué lo usamos? Ejemplo Optimizar performance ¿Por qué un SELECT tarda tanto? ¿Hace full table scan? Debug de acceso a BD ...

Acceder a esta publicación

Creado y Compartido por: Exequiel Eduardo Acevedo / Disponibilidad Laboral: FullTime

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

SAP Expert


Analisis y Optimizaion con SAP HANA Realizar traces de SQL a través de la trx ST05: para poder conocer a que tablas BD accede un programa de modo de poder determinar por ejemplo, si un SELECT está demorando mas tiempo de lo que deberia debido a que se está accediendo de forma no óptima a una taba BD. El análisis de tiempo de ejecución de ABAP mediante la trx SAT: esta trx es la evolucion de la famosa trx SE30 a través de la cual se realizaba el análisis en tiempo de ejecución. La seccion "Tips and Tricks" de esta transaccion permite comparar la performance de diferentes sentencias ABAP. La verificacion ampliada de codigo a través de la transaccion SLIN:...

Acceder a esta publicación

Creado y Compartido por: Jeferson Jos Pena Curvelo / Disponibilidad Laboral: FullTime

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

SAP SemiSenior

Análisis y optimización con Sap Hana 1. Introducción. Herramientas para optimizar códigos Abap existentes o crear nuevo códigos eficientes Tx ST05 : Realiza traces de SQL, determinando a que tablas accede un programa y si se está accediendo de forma óptima a la tabla Tx SAT : Realiza el análisis de tiempo de ejecución de Abap. Es la evolución de la Tx SE30 Tx SLIN : Es la verificación ampliada de código, con la cual se realiza verificación estática del código y permite detectar el código existente que no se utiliza, entre otras funcionalidades Tx SCI : Permite chequear el código generado a través del...

Acceder a esta publicación

Creado y Compartido por: Sergio Diaz

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

*Si queremos desarrollar una nueva aplicación u optimizar una aplicación existente" Qué enfoque y que herramientas utilizar para optimizar el código abap o generar código performantes?Para aprovechar la potencialidad del paradigma Code-PushDown. ST05: Para poder conocer a que tablas bases de datos accede un programa* Validar select que se demoran en el tiempo SAT: Es la evolución de la SE30 a través de la cual realizabamos análisis en tiempo de ejecución "tips and tricks nos permite comparar la performance de diferentes sentencias" SLIN: Verificación ampliada de código * para localizar código que no se utilice SCI: Inspector...

Acceder a esta publicación

Creado y Compartido por: Susana Mora

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

SAP SemiSenior

1. Introducción al análisis y optimización con SAP HANA Para cumplir con este propósito contamos con una serie de herramientas de análisis de tiempo de ejecución y error disponibles. - Realizar traces de SQL a través de la transacción ST05. Para detectar que tablas bases de datos accede un programa. - El análisis de tiempo de ejecución de ABAP mediante la transacción SAT. - La verificación ampliada de código a través de la transacción SLIN. Detectar 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. Performance, seguridad, sintaxis,...

Acceder a esta publicación

Creado y Compartido por: Oscar Iván Eugenio Trejo / Disponibilidad Laboral: PartTime

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

SAP Senior


A tener en cuenta sobre la declaración de tablas internas "en línea": Esto es un ejemplo de un SELECT de tres tablas mediante alias. La creación de la tabla en línea dará error si encuentra campos con el mismo nombre a~nombre y p~nombre (alumno y profesor). Esto no pasa si usamos el modo clásico, es decir, si utilizamos el volcado en la tabla interna previamente creada. Este es el código, el mensaje de error, y al final del código está la línea errónea y la línea que funciona comentada. De todas formas hay otra solución que permite declarar en línea sin conflictos, pero es añadiendo un alias al alias, que quedaría como...

Acceder a esta publicación

Creado y Compartido por: Fernando Morales Del Rosario / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP Senior

1. Introducción al análisis y optimización con SAP HANA Para optimizar una aplicación para utilizarla con SAP HANA tenemos las siguientes herramientas que nos ayudaran a que nuestro código aproveche la potencialidad del paradigma code pushdown. Transacción ST05 (SQL traces): Para poder conocer a que tablas accede un programa y poder determinar por ejemplo, si un SELECT está demorando más tiempo debido a que se está accediendo de forma no optima a la tabla. Transacción SAT (Análisis de tiempo de ejecución): La sección "Tips and tricks" de esta transacción nos permite comparar el performance de diferentes sentencias ABAP. Transacción...

Acceder a esta publicación

Creado y Compartido por: Ricardo Daniel Tovar Barrera

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

El análisis y la optimización con SAP HANA ............................................................................................................................................................................................. ¿Qué enfoque adoptar y que herramientas utilizar para realizar la optimización de los códigos ABAP existentes o nuevos para aprovechar al máximo la pontecialidad que presenta el modelo code pushdown? Realizar traces de SQL a través de la transacción ST05. Con esta transacción conocemos las trazas de SQL, es decir; a qué tablas de base de datos accede un programa, lo cual nos permite analizar si se está accediendo de forma no...

Acceder a esta publicación

Creado y Compartido por: Johanna Thaina Rangel Lucero / Disponibilidad Laboral: FullTime + Carta Presentació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!