✒️ABAP HANA / El análisis y la optimización con SAP HANA Por Brenda Castillo Domínguez

Selector Alummnos / Empresas

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

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

Unidad 2: Programación ABAP HANA Avanzada.

Lección 3: Análisis y optimización con SAP HANA.

Audio tip 1. Previo al momento de realizar la migración a SAP HANA resulta indispensable analizar qué de todo el código Z existente en el sistema SAP es realmente utilizado esto se debe a que realizar la adaptación de los programas ABAP para SAP HANA requiere un esfuerzo en horas hombre, el cual se puede ver reducido ampliamente si solo se optimizan los programas que actualmente se utilizan en el sistema productivo para analizar el uso de las transacciones y programas existentes en el ambiente productivo contamos con varias transacciones estándar del sistema que son propias de los administradores del sistema SAP o SAP BASIS es ampliamente probable que nos encontremos que muchas de las transacciones o programas Z existente en producción no se utilizan hace mas de 5 años por lo que allí abra que determinar que parámetro se toma para decir si optimizar o no una transacción o programa.

Audio tip 2: Podemos usar la opción de verificación del inspector de código ABAP buscar enunciados problemáticos para resultados de select open cursor sin order by para encontrar aquellas partes del programa para las cuales se procesa un conjunto de resultados que requiere una clasificación por ejemplo en una búsqueda binaria usando un comando ABAP y para lo cual no se puede determinar una clasificación en el programa a través de ORDER BY o SORT.

Audio tip 3: Podemos configurar variantes de verificación en la transacción SCI correspondiente al inspector de código SAP nos proporciona un rango de variantes por defecto. Una variante muy útil es la variante performance DB la cual se encuentra disponible a partir de ABAP 7.4. También podemos definir variantes de comprobación personalizadas seleccionando y configurando las comprobaciones adecuadas desde el árbol de directorios. Además podemos definir variantes de verificación específicamente para un usuario del sistema o globalmente para todos los usuarios del sistema. Esto es muy útil cuando trabajamos dentro de un pool de programadores de modo que todos los programadores ejecuten la misma variante del inspector de código para la comprobación de los programas.

Video: "Utilización del Inspector de Código en ABAP HANA"

El inspector de código es una herramienta que se utiliza para comprobar los objetos del repositorio. Usando el inspector de código, podemos chequear objetos individuales o conjuntos de objetos para verificar el rendimiento, la seguridad, la sintaxis y el cumplimiento de las convenciones de nombres. En el inspector de código podemos definir inspecciones que, con la ayuda de check variant ( variantes de verificaciones), 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.

Debemos conocer los siguientes conceptos básicos:

¿Qué es una Variante de verificación?

Una variante de verificación define las reglas que se aplicarán, las comprobaciones que se realizarán y la configuración de esas comprobaciones.

¿Qué es un conjunto de objetos o Object set?

Un conjunto de objetos o Object set define los objetos de desarrollo que se incluirán.

¿Qué es una Inspección en el contexto del inspector de código?

Una Inspección define una combinación de Variantes de comprobación y Conjuntos de objetos, en otras palabras, qué comprobaciones deben aplicarse a qué objetos de desarrollo.

¿Cuál es la diferencia entre las variantes de verificaciones locales y globales?

Los elementos globales están disponibles para todos los usuarios. Los elementos locales están asociados directamente con un ID de usuario específico. SAP proporciona una Variante de verificación global con el nombre "DEFAULT". Esto se utiliza para los objetos que se verifican en el menú contextual de programas, Clases, Módulos de función, etc. Para nuestro nombre de usuario, si creamos una variante de verificación local con el nombre DEFAULT, el sistema usará esto en lugar de la variante de verificación global. A continuación vamos a analizar el paso a paso de debemos seguir para usar el Inspector de código. Vamos a explicar cómo debemos trabajar con el inspector de código de modo de utilizarlo para identificar aquellas partes de un programa ABAP que tienen potencial para ser mejoradas para SAP HANA.

  • Accedemos a la transacción SC.
  • Lo primero que vamos a hacer es asegurarnos que en las variantes de verificación se muestre el ícono global.
  • Luego vamos a visualizar la variante de verificación de default que ya viene creada en el sistema .
  • A continuación vemos a nivel general cuales son las verificaciones que tiene activadas o tildadas la verificación global de DEFAULT
  • Ahora vamos a cambiar de global a local y vamos a generar una nueva variante de verificación local como copia de la variante de verificación global default.
  • Vamos a introducir el nombre de la nueva variante de verificación y vamos a toldar OK para continuar.
  • Verificamos que la variante de verificación se copió correctamente en el sistema.
  • Ahora vamos a modificar la variante de verificación DEFAULT que acabamos de crear
  • Para ello desplegamos las convenciones de programación ( Programming Conventions ) y vamos a tildar las Naming Conventions de modo de incluirlas en la variante de verificación, también vamos a tildar las Extended Naming Conventions for Programs, también vamos a tildar ABAP Unit Test Conventions de modo de incluirlas en la variante de verificación
  • Finalmente vamos a grabar la variante de verificación.

Ahora vamos a utilizar el programa de prueba ZTEST_CODE_INSPECTOR para ejecutar la variante de verificación que acabamos de crear e modo de visualizar que mensajes nos arroja. Para ello vamos al menúProgram/Check/Code Inspector. Lo que visualizamos en pantalla es el resultado de la ejecución del code inspector.

Aquí vemos que dentro de la categoría programming Conventions existen 4 mensajes de advertencia. Para ver el detalle de las advertencias desplegamos las programming conventions/Extended Naming Conventions for programs/ Warnings/Message Code GLOB_DAT aquí vamos a visualizar los mensajes de error y advertencia.

Vamos a crear una nueva variante de verificación con el nombre zciv_01. Y vamos a configurar particularmente las opciones asociadas al Extended Naming Conventions for programs. Pro ejemplo dentro de Program Global vemos que para las declaraciones que se realicen con DATA se debe utilizar L_* donde * es un caracter que luego es definido en los prefijos. En elementary Type definimos VAR de modo que las variables que se creen de este tipo sean precedidas por el texto VAR. En Structure definimos S de modo que las variables que se definen de este tipo sean precedidas por el caracter S. En Table (ANY TABLE) definimos ITAB y continuamos. Ahora vamos a tildar los chequeos generales ( General Checks), los chequeos de convenciones de nombres (Programming Conventions ) y finalmente grabamos nuestra variante de verificación.

A continuación vamos a crear un Object Set. Para ello introducimos el nombre del object set ZCIOBJSET_01 y presionamos crear. En el object set vamos a destildar todas opciones que se incluyen en la verificación. Vamos a tildar program y vamos a escribir el nombre de nuestro programa ABAP ZTEST_CODE_INSPECTOR. Finalmente grabamos el object set y verificamos que el object set se creo correctamente.

Ahora vamos a crear una nueva inspección para ello introducimos el nombre ZCI_01 de la nueva inspección y elegimos el ícono crear en la nueva inspección completamos el object set con el nombre de objeto que creamos anteriormente ZCIOBSET_01 y completamos la variante de verificación con la que creamos también anteriormente ZCIV_01 y grabamos. Verificamos que la inspección se creo correctamente y vamos a visualizar los resultados de la inspección. Desplegamos los Programming Conventions desplegamos las Estended Naming Conventions for programs desplegamos los warnings y desplegamos los mensajes. Aquí podemos visualizar que en los mensajes de advertencia muestran que no se siguen las convenciones de nombres para los nombres de SPFLI_TABLE, ALV_OBJ, ALV_EXC_OBJ y ROW_COUNT. Definimos ITAB para tablas internas, R para referencias de objeto, R para objeto de excepciones, VAR para tipos elementales por lo tanto los nombres en nuestro programa deben comenzar con lo anterior.

Vamos a realizar las correcciones correspondientes en nuestro programa ABAP de modo de respetar las convenciones de nombre configuradas. No nos debemos olvidar nunca de ejecutar el pretty printer volvemos activar y volvemos al code inspector (/NS) De modo de generar una nueva versión de la inspección, volvemos a ejecutar la inspección y vamos a visualizar los resultados. Verificamos que ya no están presentes los mensajes de advertencia relativos a las convenciones de nombres que vimos anteriormente.


 

Escanear / Compartir

 

 

Agradecimiento:

Ha agradecido este aporte: Hector Jorquera


Sobre el autor

Publicación académica de Brenda Castillo Domínguez, en su ámbito de estudios para el Master ABAP for HANA.

SAP Expert


Brenda Castillo Domínguez

Profesión: Ingenieria en Sistemas Computacionales - Mexico - Legajo: HJ67S

✒️Autor de: 187 Publicaciones Académicas

🎓Egresado de los módulos:

Disponibilidad Laboral: FullTime

Certificación Académica de Brenda Castillo

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