El Análisis de Tiempo de Ejecución ABAP (transacción SE30) es el mejor punto de partida si deseas ejecutar análisis de rendimiento o flujo de tu programa ABAP. Desafortunadamente, muchas personas utilizan el Análisis de Tiempo de Ejecución ABAP solo para buscar cuellos de botella de rendimiento y no saben que ABAP Trace es la única herramienta con la que puedes rastrear el flujo de ejecución de un programa ABAP a nivel de sentencia. Este blog te mostrará cómo utilizar ABAP Trace del Análisis de Tiempo de Ejecución ABAP (SE30) para seguir la lógica de flujo de tu programa ABAP.
1. ¿Por qué analizar el flujo de un programa ABAP?
El Análisis de Tiempo de Ejecución ABAP (transacción SE30) te brinda una herramienta para resolver dos problemas. Puedes medir el rendimiento y encontrar cuellos de botella. También puedes analizar el flujo del programa de tu programa ABAP. En este blog nos enfocaremos en el análisis del flujo del programa.
¿Por qué necesitas analizar el flujo del programa ABAP? Permíteme darte solo un par de ejemplos. Primero, es posible que necesites encontrar la ubicación exacta del código fuente de una sentencia ABAP particular (una llamada a método, llamada a función...) en la que estés interesado. Luego ejecutarías el ABAP Trace y luego buscarías la línea requerida en la lista de resultados de las sentencias ABAP. Segundo, es posible que desees comparar el flujo de tu programa ABAP en diferentes sistemas. Imagina, por ejemplo, que tu programa ABAP se ejecuta según lo esperado en el sistema de prueba pero muestra un comportamiento completamente diferente en el sistema de producción, o peor aún, se aborta con un volcado de memoria en el sistema de producción. Entonces simplemente podrías ejecutar el ABAP Trace en ambos sistemas de prueba y producción y comparar los resultados del rastreo.
2. ¿Cómo encontrar la línea exacta de código fuente de una sentencia ABAP?
Solo imagina, vas al Editor ABAP (transacción SE38), escribes "XXX" en el campo "Programa", presionas el botón "Mostrar" y recibes el mensaje de error en la barra de estado "El programa XXX no existe". ¿Cómo podrías encontrar la línea exacta de código fuente de la sentencia ABAP que produjo el mensaje?
Podrías, por supuesto, iniciar el Depurador ABAP e intentar depurar paso a paso. Y luego, después de horas o semanas de depuración intensiva, podrías tener la suerte de encontrar la línea de código fuente de la sentencia ABAP. Pero ¿por qué perder tiempo? Aquí te mostramos cómo utilizar el Análisis de Tiempo de Ejecución ABAP para encontrar este mensaje de error en un par de minutos.
Si presionas el botón "?" o haces clic en la barra de estado cerca del mensaje de error, verás la ayuda F1 sobre el mensaje, en el asistente de rendimiento. Esto te informa que el número del mensaje de error es DS017. Por lo tanto, debes buscar el "mensaje DS017":
Para encontrar el mensaje, primero inicia el Análisis de Tiempo de Ejecución ABAP y crea una variante de medición.
-
Inicia el Análisis de Tiempo de Ejecución ABAP (transacción SE30) a través de
Sistema -> Utilidades -> Análisis de Tiempo de Ejecución -> Ejecutar
o llama directamente a la transacción con
"/nse30
".
-
Escribe
"SE38"
en el campo "Transacción".
-
Crea una variante de medición para tu usuario:
-
Escribe un nombre en el campo "Variante" y presiona el botón "Crear"
-
Establece la agregación en "Ninguno" en la pestaña "Duración/Tipo"
-
Para información sobre el uso de memoria, marca la casilla "Con uso de memoria"
-
Activa "Unidades particulares" en la pestaña "Programa (Partes)"
-
Guarda tu variante
Antes de continuar, algunas notas