Vous êtes sur la page 1sur 4

El debugger ABAP

El debugger es una herramienta imprescindible para los programadores de cualquier


lenguaje. Con l es posible probar y depurar aplicaciones que se estn desarrollando,
visualizar y modificar variables en tiempo de ejecucin o comprobar errores que aparecen en
aplicaciones que fallan.
En el lenguaje de programacin de SAP, ABAP obviamente existe este programa y en el
siguiente artculo explicar su uso y alguna aplicacin ms avanzada del debugger ABAP.

Debugger ABAP: Tipos de breakpoint


Lo primero para poder utilizar el depurador ABAP ser poner un breakpoint en el cdigo
que queramos revisar. Un breakpoint sirve para lanzar el debugger ABAP, con lo que el
programa aparecer en un nuevo modo, para as poder depurar desde la lnea de cdigo donde
hemos puesto dicho breakpoint. Existen dos tipos de breakpoints:

Breakpoints de sesin:
Estos puntos de interrupcin solo son vlidos para la
sesin actual, es decir, para aplicaciones que se lancen dentro de la misma entrada
al sistema. Adems estos breakpoints son independientes de usuario.

Breakpoints externos:
Estos puntos de interrupcin son vlidos para cualquier
aplicacin que se ejecute en el sistema, independientemente de donde se haya
lanzado. Por ejemplo, en aplicaciones Web Dynpro o BSP, que se ejecutan desde
un navegador web, solo podran utilizarse este tipo de breakpoints. Estos suelen
tener validez de 2 horas y se asocian a un usuario.

En las opciones especficas de usuario (Men Utilidades->Opciones) existe una pestaa para
definir las opciones del debugger ABAP.

En el campo usuario podremos definir para qu usuario se pondrn los breakpoints externos.
Tambin podemos definir qu debugger ABAP utilizar, si el clsico o la nueva funcin. En
este artculo hablar sobre la nueva funcin.

Debugger ABAP: Nueva funcin


Para poner o quitar un breakpoint debemos posicionar el cursor en la lnea de cdigo que
queramos y utilizar el botn correspondiente (
o
). Tambin se pone un breakpoint
de sesin si hacemos clic con el ratn a la izquierda del nmero de lnea o escribiendo la
sentencia BREAK-POINT en el cdigo.
Al ejecutar un programa en que hemos puesto algn breakpoint, nos aparecer el debugger
ABAP en un nuevo modo. Es importante que para ejecutar el nuevo debugger no tengamos
6 modos abiertos, ya que el nuevo programa necesita uno propio.

Si nos vamos a la pestaa de Desktop 3, a la izquierda nos aparecer el cdigo de la


aplicacin en ejecucin y a la derecha una tabla con las variables del programa. En las dos
primeras pestaas podremos poner las variables que queramos: en Locals nos aparecern
todas las variables locales del programa y en Globals las globales.

Depuracin de variables ABAP


En las dos primeras pestaas, que es donde podemos elegir las variables, podemos escribir el
nombre de la variable o hacer doble clic en el cdigo sobre la variable que queramos
modificar. Podremos modificar variables ABAP pulsando el botn
para cambiar su
valor en tiempo de ejecucin para probar el programa. Hay variables que no pueden ser
modificadas, como son los parmetros import pasados por referencia.

Depuracin de tablas ABAP


Si hacemos doble clic sobre una tabla, aparecer el nombre de la tabla con corchetes,
indicando el nmero de filas y columnas que tiene la tabla. Si esta tabla tiene lnea de

cabecera, aparecern los datos de la lnea de cabecera y el smbolo


. Haciendo doble clic
en estas variables se aparecer una pestaa con todos los datos de la tabla o la estructura.

Con el botn
podremos quitar, aadir o eliminar filas de una tabla en tiempo de
ejecucin. Tambin podremos guardar los datos de las tablas en un fichero externo.

Avanzar por el programa ABAP


Por ltimo, para poder avanzar por el programa, se pueden utilizar las siguientes opciones:

Paso a paso (F5) :


Se introducir en la lnea de cdigo que estemos, es decir, si
es una subrutina o una funcin navegar hasta ella para poder depurarla. Si es una
sentencia simple (IF, MOVE, CLEAR) pasar a la siguiente lnea de cdigo.

Ejecutar (F6) :
Avanzar a la siguiente lnea de cdigo, independiente de que sea
una subrutina, funcin o sentencia simple, ejecutando la subrutina o funcin en
cuestin.

Retornar (F7) :
Si se est dentro de una subrutina o funcin, saldr de la misma
ejecutndola y parando justo en la lnea siguiente a su llamada.

Continuar (F8)
: El programa se ejecutar hasta encontrar otro breakpoint. Si no
existen ms, el programa se ejecutar hasta terminar o pasar el control al usuario.

Otra utilidad que ofrece es poder posicionarse en una lnea de cdigo sin ejecutar el
programa, es decir, no haciendo caso a las lneas de cdigo. Para ello, posicionaremos el
cursor en la lnea que queramos saltar y pulsaremos la combinacin de teclas SHIFT+F12.
Con esto podremos ejecutar el programa obviando subrutinas o lneas de cdigo.
Con lo expuesto anteriormente ya podremos empezar a depurar nuestros programas
ABAP y empezar a jugar con el debugger ABAP, que an ofrece ms utilidades.

Debugger ABAP en procesos de fondo


Hay en ocasiones que el debugger ABAP no salta con los breakpoints que he comentado
antes, como puede ser en los procesos de fondo. Para esto, existe un pequeo truco que
consiste en crear mediante cdigo un pequeo bucle que pare la ejecucin del programa y
luego podamos acceder al debugger ABAP mediante el gestor de procesos de trabajo.
Primero, deberemos escribir el siguiente cdigo en el punto del programa que queramos
debuggear:
1DATA stop TYPE i.
2 WHILE stop < 60.
WAIT UP TO 1 SECONDS.
3
stop = stop + 1.
4
ENDWHILE.
5
Con este bucle haremos el programa est parado durante 60 segundos. En este tiempo,
deberemos acceder a la transaccin SM50. De los procesos que estn en ejecucin en el
sistema, buscamos el que corresponda a nuestro programa y lo seleccionamos. Despus en el
men accedemos a Administracin->Programa->Debugging.
Pinchando aqu conseguiremos que se abra el debugger ABAP en un nuevo modo con el
programa que queremos depurar.

Vous aimerez peut-être aussi