✒️ABAP / El debugger ABAP Por Felipe Arrona Rodriguez
ABAP El debugger ABAP

El debugger ABAP
1| El debugger ABAP
Cuando programamos en ABAP, un programa solo va funcionar tal como deseamos que funcione si y solo si el código ABAP que forma parte del programa ha sido escrito a la perfección, es decir exactamente tal como se lo necesita. Si existe alguna diferencia o error en el código ABAP entonces el programa va producir resultados diferentes a los esperados, lo que dentro del ámbito de la programación solemos llamar como errores.
Ahora bien, en ocasiones detectar esos errores es bastante fácil, lo podemos hacer a simple vista, mirando el código y en otra ocasiones es bastante más complejo y va a requerir que ejecutemos varias veces el programa en cuestión, probablemente en cada ejecución necesitemos utilizar distintos valores de entrada para producir distintos resultados y vamos a necesitar saber exactamente cuáles son los valores que van tomando las variables internas del programa.
Para poder realizar todo este análisis SAP pone a nuestra disposición una herramienta sumamente útil que se llama debugger ABAP o depurador ABAPA.
El debugger ABAP
Es una herramientas más poderosas que tiene SAP para el análisis y la solución de problemas. Se utiliza para ejecutar programas paso a paso y durante el proceso se puede verificar la lógica, inspeccionar el contenido de las variables de programas, las tablas internas, las variables del sistema, las áreas de memoria, entre otras opciones. El debugger es una herramienta imprescindible para los programadores de cualquier lenguaje de programación.
Saber utilizar correctamente el debugger ABAP es tan importante como saber programar en ABAP y esto se debe a que gran parte de nuestro tiempo de trabajo como programadores ABAP lo vamos a emplear detectando y corrigiendo errores, ya sea de programas nuevos que estamos desarrollando nosotros mismos o de programas creados por otros programadores y que tengamos que modificar.
Ahora bien, antes de comenzar a utilizar el debbuger es importante que sepamos que existen dos versiones de la misma herramienta, por un lado tenemos el debugger clásico que es la primera versión o funcionalidad de esta poderosa herramienta con la que contamos los ABAPers y luego con el pasar de los años SAP incorporo el nuevo debugger, el cual presenta muchísimas mejoras respecto de su antecesor, por lo que prácticamente no tiene ningún sentido utilizar el debugger clásico.
Para modificar la funcionalidad del debugger, dentro del editor ABAP correspondiente a la transacción SE38, accedemos al menú Utilidades / Opciones
Luego accedemos a la pestaña Editor ABAP / Debugging y dentro de Función debugging debemos tener seleccionada la opción F.debugging nueva para utilizar el debugger nuevo. Y ejecutamos el programa que creamos y nos da el resultado de la suma de las variables del campo que hemos creado.
Brackpoint
Un breackpoint o punto de interrupción es una marca que ponemos en una línea del código fuente de un programa, de tal forma que cuando la ejecución del programa llegue a ese punto, el procesamiento de nuestro programa se detendrá y podremos analizar su estado en ese momento, justo antes de ejecutar esa línea de código.
Podemos colocar tantos breakpoints como queramos en un programa y normalmente nos interesará situarlos en puntos críticos en los que creemos que se pueden estar produciendo errores.
Existen básicamente dos tipos de breakpoints que podemos colocar en un programa ABAP:
- Breakpoints estáticos: Se genera escribiendo en el código ABAP de un programa la sentencia break-point. Al ejecutar el programa siempre se detendrá su ejecución en el punto donde escribamos un breakpoint estático y pasará inmediatamente al modo debugging. Estos breakpoint funcionan independientemente del usuario de SAP que ejecuta el programa.
- Breakpoints dinámicos: Dentro de los breakpoints dinámicos existen tres tipos.
Breakpoints de debugger: Estos breakpoints son creados en el debug y se borran cuando se cierra el debugger. Se crean dentro del modo debugging haciendo doble clic a la izquierda de una línea particular del código ABAP o a través del icono Crear breakpoint que se encuentra en la barra de herramientas de la aplicación.
Breakpoints de sesión: Solo son válidos para la sesión actual, es decir, para programas o aplicaciones que se lancen dentro de la misma entrada al sistema SAP. Estos breakpoints son independientes del usuario de SAP que los coloque. Para colocar un breakpoint de sesión en un programa ABAP, editamos o visualizamos el programa a través del editor ABAP, seleccionamos la línea del código en donde deseamos colocar el breakpoint y hacemos clic en el icono de la barra de herramientas.
- Breakpoints externos: Son válidos para cualquier aplicación que se ejecute en el sistema, independientemente de donde se haya lanzado. Estos suelen tener una validez de 2 horas y se asocian a un usuario de SAP en particular.
Una vez que estamos ejecutando el programa en modo debug tenemos cuatro opciones disponibles para avanzar en la ejecución que son:
- Presionando el botón Paso a paso o la tecla F5, ejecutaremos paso a paso es decir sentencia a sentencia.
- Presionando el botón Ejecutar o la tecla F6, ejecutaremos subrutina a subrutina sin entrar en el contenido de cada una. Más adelante veremos el concepto de subrutina en detalle.
- Presionando el botón Retornar o la tecla F7, retornaremos a la subrutina de nivel superior de la subrutina actual en ejecución.
- Presionando el botón Continuar o la tecla F8, continuaremos la ejecución hasta el final del programa.
Una de las grandes ventajas que nos brinda el debugger ABAP es que nos permite saber a cada paso el contenido de las variables definidas en el programa y también nos permite modificar el contenido de dichas variables de modo de poder experimentar que pasaría con el resultado o la salida del programa si modificamos las variables con las que se procesa el programa.
Para visualizar el contenido de una variable en modo debugging hacemos doble clic sobre la variable y luego vamos a visualizar a la derecha de su pantalla dicha variable junto con su contenido. Para modificar el contenido de una variable en modo debugging hacemos doble clic sobre el icono del lápiz y a continuación se habilita el campo para edición y escribimos el nuevo valor 500 para la variable. y guardamos el cambio. Basta con presionar la tecla enter para ver el resultado de la modificación.
Veamos ahora una funcionalidad muy interesante que nos brinda el debugger ABAP como es la de los Watchpoint.
Watchpoint: Son expresiones que detienen la ejecución de un programa ABAP cuando la variable o valor en cuestión cambia de valor o adquiere el valor de parada.
Al igual que los breakpoints, un watchpoint es un indicador de un programa que indica al procesador ABAP en tiempo de ejecución que interrumpa el programa en un punto determinado. Sin embargo, a diferencia de los breakpoints, los watchpoints no se activan hasta que cambia el cotenido de un campo especificado. Los watchpoints, como los breakpoints dinámicos, son específicos del usuario y por lo tanto, no afectan a otros usuarios que ejecuten el mismo programa. Sólo podemos definir watchpoints en el debugger ABAP es decir en modo debugging.
Ejecutamos el programa ABAP, a continuación se abre el modo debugging y vamos hacer el clic en el icono Watchpoint para generar un watchpoint en el programa.
A continuación, visualizamos una ventana de diálogo en donde en el campo de entrada Variable escribimos el nombre de la variable de nuestro programa a la cual deseamos colocarle un watchpoint, en este caso es la variable V_SUMA y hacemos clic en el botón Insertar condición para agregar una condición para la variable.
La condición para que se detenga la ejecución del programa es que la variable V_SUMA tenga el valor 30.
Luego visualizamos en la barra de status que el watchpoint se ha creado correctamente y hacemos clic en el icono Continuar o presionamos la tecla F8 para ejecutar el programa hasta alcanzar el watchpoint. Y efectivamente la ejecución del programa se detiene cuando se alcanza la línea del código en donde la variable V_SUMA es igual a 30.
Si estamos visualizando o editando un programa ABAP tenemos la posibilidad de ejecutar el modo debugging escribiendo /h en el campo de comandos y luego presionando la tecla enter.
Esta forma de hacer debug es ideal para cuando se desea probar un programa desde el principio. También es útil si no conocemos muy bien en el programa y por lo tanto, no estamos seguros de dónde es mejor colocar los breakpoints. Luego visualizaremos en pantalla el mensaje "Se ha activado el modo debugging" en la barra de status.
Y vamos a ejecutar el programa con la tecla F8 del teclado. A continuación se abre el modo debugging y lo que vemos en pantalla es el programa estándar de SAP que se ejecuta previo a la ejecución de nuestro programa cuando presionamos la tecla F8, por lo que si quisiéramos podemos comenzar a debugear desde aquí.
 
 
 
Sobre el autor
Publicación académica de Felipe De Jesus Arrona Rodriguez, en su ámbito de estudios para la Carrera Consultor ABAP Nivel Inicial.
Felipe De Jesus Arrona Rodriguez
Profesión: Ingeniero Administrador de Sistemas - Mexico - Legajo: QV21N
✒️Autor de: 32 Publicaciones Académicas
🎓Egresado del módulo:
Presentación:
" ingeniero en sistemas, orientado a optimizar procesos y datos con sap, sql y power bi, buscando crecimiento profesional en entornos administrativos y tecnológicos. "
Certificación Académica de Felipe Arrona






Disponibilidad Laboral: FullTime


















