Hoy en día hay infinidad de herramientas para programadores, tanto para la parte de desarrollo como para el posterior análisis y optimización de la propia programación.

En este artículo, vamos a ver las diferentes herramientas de las que disponemos los programadores en SAP para, una vez que tenemos buena parte del desarrollo realizado, poderlo analizar y optimizar.

Debugger

La primera, y más importante, de las herramientas para programadores es el propio debugger de SAP, del que ya hemos hablado anteriormente en este blog  (El debugger ABAP y Debugging en un Popup), pero que no está de más recordar.

Como, seguramente, todos sabéis, el debugger es una herramienta que nos permite ver el código de cualquier desarrollo en tiempo de ejecución, pudiendo navegar por él y modificar los datos con los que se está trabajando.

Hay dos formas principales para poder utilizarlo. La primera opción es poner breakpoints en el código, desde la SE38 o la SE80, indicando dónde queremos que se ejecute. La otra opción es introducir uno de los siguientes comandos antes de ejecutar un report,  que lanzarán el debugger de una forma específica.

  • /h – esta es la forma básica de lanzarlo, sin configuraciones adicionales.
  • /hs – ejecuta el debugger con la función de debugging que el sistema activa.
  • /ha – inicia el debugger saltando la gestión de las pantallas. Muy útil para los module pools, por ejemplo.
  • /hmusa – inicia el debugger y crea una snapshot de memoria que se podrá analizar mediante la transacción S_MEMORY_INSPECTOR, útil si nos encontramos con grandes pérdidas o incrementos de memoria en algún programa concreto.

ST22 – Errores en tiempo de ejecución ABAP

Mediante esta transacción accedemos al registro de los dumps del sistema, donde veremos un listado con todos los que se han producido. Seleccionando cualquiera de ellos, se nos mostrará la pantalla de detalle, donde, además de la información general que se nos muestra cuando salta el error, tendremos mucha más información a analizar, tanto a nivel de usuario, como de programador o incluso de administrador BASIS.

Esta herramienta resulta muy útil porque podemos filtrar los dumps por fecha, usuario, programa, etc., lo que nos permite, por un lado, llevar un control sobre nuestro sistema y ver si algún proceso está fallando, y por otro, que los usuarios reporten los fallos que se encuentran de una forma eficaz: solamente habrá que buscar el dump del error en concreto.

SCI – SAP Code Inspector

El inspector de código de SAP es también una herramienta importante: nos permite analizar cualquier objeto del Repositorio de Objetos en términos de sintaxis, seguridad y, sobre todo, rendimiento.

El Code Inspector puede llamarse desde el editor ABAP (SE38), la biblioteca de funciones (SE37), el generador de clases (SE24), el diccionario ABAP (SE11) o como transacción independiente (SCI).

Tipos de Verificaciones y Variantes de verificación

Las verificaciones son las comprobaciones individuales que se hacen a cada objeto, como, por ejemplo, la verificación sintáctica, la  comprobación de “SELECTs en loops”, etc. Las variantes de verificación, que son, al fin y al cabo, una serie de pasos que tiene que seguir el Code Inspector para analizar un objeto concreto, se crean uniendo varias verificaciones individuales.

Por defecto, las verificaciones de que disponemos se muestran en la imagen siguiente, pero tenemos la opción de crear tanto verificaciones individuales propias, como variantes de verificación personalizadas.

SAP Code inspector

Utilización

Se puede definir una variante genérica para el equipo de desarrolles, donde se validen incluso las convenciones en la nomenclatura (esto es, empezar con ‘s_’ las estructuras, con ‘v_’ las variables, etc.), y así mantener una “guía de programación”.

La variante estándar “PERFORMANCE_CHECKLIST” puede ser muy útil a la hora de evitar código no muy optimizado.

SE30 / SAT – Análisis de tiempo de ejecución

La transacción SAT (versión actualizada de la SE30, a partir de EHP2) es una herramienta con una gran cantidad de utilidades que nos permite ejecutar cualquier transacción, programa o módulo de funciones, y evaluar los tiempos de ejecución posteriormente.

Transacción SAT

Una vez ejecutado lo que se desea evaluar, al darle a “Atrás” se nos mostrarán los resultados del análisis.

Resultado de la transacción SAT

De entre toda la información disponible, lo más relevante se encuentra en Hit List, donde se nos muestran los tiempos de ejecución para cada una de las sentencias del programa. Con esta información podremos saber qué partes del programa son ineficientes y se pueden optimizar. En la pestaña DB tables encontramos una información similar sobre los accesos a la base de datos, mediante los cuales podremos optimizar las consultas sql.

Estas son unas de las herramientas para programadores más útiles de las que dispone SAP.