Debugging. Break-Point en código ABAP

Poner un breakpoint en una transacción

A veces, analizar el código en sí mismo no ayuda a comprender realmente su propósito. Si nos quedamos atascado en el análisis del código, a veces ayuda el uso del Debugger ABAP. El Debugger ABAP te permite detener una transacción en ejecución en un punto concreto y te da la oportunidad de mirar entre bastidores en tiempo de ejecución.

Por ejemplo, si quieres entender cómo el sistema recoge y trata los datos, puedes establecer un punto de interrupción (break-point) y ver cómo funciona en ejecución.

Establecer el break-point es muy fácil. Primero, encuentra el pedazo de código sobre el que necesitas conocer algo. Vamos a la transacción SE38 y elegimos el programa en cuestión MV45AF0B_BELEG_LESEN. Coloca un punto de ruptura en la línea 177 haciendo clic aquí.

break-point ABAP

break-point ABAP

Aquí está el break point. El siguiente paso es lanzar un pedido de ventas. Para ello, abramos una nueva sesión, ejecuta el VA03 y abre el pedido de venta que desee.

break-point va03

break-point va03

Después de presionar en «enter», el sistema detiene la ejecución del VA03 donde has establecido el punto de ruptura. Es el Debugger ABAP. Ahora estás en la perspectiva estándar.

break-point programa

break-point programa

La primera vista interesante para aquí es el ABAP y la pila de pantallas. Te muestra una jerarquía de códigos, es decir, el orden de programas por donde pasa el código, a partir de la transacción VA03.

break-point Pila de programas

break-point Pila de programas

Bien, la jerarquía de códigos es una gran función, pero el Debugger nos da mucho más información, ejemplo, puede comprobar el contenido actual de una variable.

Evaluar el contenido de las variables en debugging

Para evaluar el contenido de las variables, es mas práctica la vista de Desktop 1. Sólo tienes que hacer clic en él.

break-point funcion

break-point funcion

Este es el área donde puedes evaluar las variables. Evaluar las variables es simple. Sólo hay que hacer doble clic en la variable que queremos seguir. Por ejemplo, ¿qué hay dentro de esta variable?

break-point variable

break-point variable

En cambio, esta variable es una variable compleja. Es una tabla, con contenido de varios campos.

break-point Estructura

break-point Estructura

Para ver el contenido de una variable de estructura, simplemente haga doble clic en ella.

break-point Estructura 2

break-point Estructura 2

Esta es la lista de campos y sus valores actuales de la tabla VBAK.

Navegando en el código: F5, F6, F7 y F8

Una vez parado el programa en el sitio que queremos podemos ir avanzando a través de los botones F5, F6 y F7.

Funcionamiento de F5

F5 hace que el programa vaya navegando línea a línea a través del código, de manera que si el programa pasa por un PERFORM o por una función, entra en ellos.

Funcionamiento de F6

F6 funciona igual que F5, pasando línea a línea pero saltándose, o no entrando por los perform o las funciones.

Funcionamiento de F7

F7 lo que hace es salir del sitio en el que está el debug. De manera que si el debug está en un programa pues se sale hacia el programa superior.

Detener una transacción condicionalmente

Una vez en DEBUG, se puede buscar el sitio en el que queremos parar el programa:

break-point at Statement

break-point at Statement

Si, por ejemplo, se quiere parar el programa en una función concreta, hay que elegir la opción BRAKPOINT AT FUNCTION MODULE.

break-point en función ABAP

break-point en función ABAP

Se selecciona una función concreta y se presiona ENTER.

Al pulsar F8, el programa continúa hasta que llega a la función elegida.

break-point en función ABAP2

break-point en función ABAP2

 

Deja un comentario

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.> ACEPTAR

Aviso de cookies