![](/cvo_files/imgs_sap_abap/logos/logo_cvo_academy_it.png)
✒️El debug del sistema SAP
El debug del sistema SAP
![El debug del sistema SAP El debug del sistema SAP](https://www.cvosoft.com/cvo_files/imgs_sap_abap/og-images/211.jpg)
INTRODUCCIÓN AL DEBBUGING
Como consultores, técnicos o funcionales, una de las tareas más frecuentes es la de buscar y corregir errores, tanto de las transacciones Z nuevas que se creas como de las Z ya existentes, ya sea en el ambiente de producción o en el código estándar de SAP.
Dentro del mundo de la programación se conoce a los errores de los programas con el nombre de bugs.
Los bugs o errores de los programas se producen debido a errores de sintaxis en el código de los programas, como un código de programación incompleto, errores en la lógica de la aplicación, entre otros motivos.
Al proceso de encontrar y eliminar los errores de software se lo conoce como debug, debugging o en español, depuración.
¿Para qué sirve el debug en SAP? Su objetivo es encontrar errores que pueden impedir que los códigos de los programas ABAP funcionen de forma adecuada.
Algunos errores se detectan a simple vista pero para resolver otros es necesario ejecutar la transacción o el programa y saber exactamente cuáles son los valores que van tomando las variables internas del mismo.
De esta forma es posible determinar lo que está ocurriendo dentro del código fuente y obtener sugerencias de acciones para realizar mejoras.
EL ENTORNO DE DEPURACIÓN DE SAP
El sistema SAP dispone de un entorno completo de depuración. Se encuentra dentro del entorno de desarrollo ABAP y es la herramienta que usan los consultores técnicos ABAP para crear y modificar los programas y las transacciones, entre otros objetos.
Se utiliza para ejecutar programas paso a paso y durante el proceso se puede verificar la lógica, inspeccionar el contenido de variables de programa, las tablas internas, las variables del sistema, las áreas de memoria, entre otras opciones.
Para poder realizar el debugging en ABAP vamos a necesitar, por un lado, contar con conocimientos básicos sobre la estructura de los programas y las sentencias ABAP y por otro lado, vamos a necesitar saber utilizar la herramienta, es decir el debugger.
- La estructura de los programas y las sentencias
Dentro del mundo ABAP se pueden crear distintos tipos de programas u objetos. Los más comunes son:
- Reportes
- Programas de diálogo
- Formularios
- Batch Input
- User exits
- Field exits
- Funciones y RFC
Entre varias otras opciones.
Para aprender a hacer debuggin nos vamos a concentrar en los llamados Reportes: programa que consiste en una serie de instrucciones y palabras clave cuyo objetivo es procesar datos de entrada o datos que se obtienen de las tablas del sistema y mostrar los resultados del procesamiento por pantalla.
Los reportes se crean, modifican y visualizan en el editor ABAP a través de la transacción SE38 y también mediante la transacción SE80 correspondiente al navegador de objetos.
EJEMPLO: reporte de prueba Z_PRUEBA_EVENTOS.
La idea de este reporte es sumar las variables V_CAMPO1 y V_CAMPO2, almacenando la sumatoria en V_SUMA y finalmente imprimir en pantalla V_SUMA.
Los reportes tienen una estructura que siempre se repite y es la siguiente:
- Comienzan con la palabra clave REPORT seguida del nombre del programa.
- Luego vienen las declaraciones de las variables que se utilizan en el programa.
- A continuación, vamos a ver la declaración de los eventos que se ejecutan en el programa.
Un evento es una etiqueta que identifica una sección del código dentro de un programa. La sección del código asociada a un evento, comienza con un nombre de evento y termina cuando el siguiente nombre de evento se encuentra.
Los nombres de eventos son palabras reservadas, es decir, son palabras que tienen un significado particular dentro del lenguaje de programación. No podemos crear nuevos eventos, sólo podemos usar los que ya existen.
Los eventos que se ejecutan en el programa de prueba del ejemplo son:
- INITIALIZATION: es el primer evento que se ejecuta y se utiliza para inicializar o blanquear el contenido de las variables de un programa.
- STAR-OF-SELECTION: este evento se utiliza para realizar el procesamiento central del programa, tal como puede ser realizar la selección de los datos, el procesamiento de un archivo, realizar operaciones aritméticas, entre otras opciones.
- END-OF-SELECTION: este evento se procesa cuando se termina el procesamiento central del programa, es decir luego del evento STAR-OF-SELECTION. Contiene las últimas sentencias que se ejecutarán en el programa, en general se lo utiliza para realizar la impresión de listados por pantalla.
No importa el orden en el que se escriban los eventos dentro de un programa, ya que existe un orden establecido por ABAP y ese será el orden en el que se ejecutarán los eventos.
- El debugger ABAP
En ABAP hay dos versiones del debugger, una más vieja que fue la primera que salió y otra más nueva que incorpora muchas mejoras respecto de su predecesora.
Vamos a trabajar con la nueva versión por lo que debemos chequear que esta funcionalidad esté correctamente configurada, para ello dentro de la transacción SE38 vamos a ir al menú Utilidades/Opciones, seleccionamos las pestañas Editor ABAP/Debugging, elegimos la opción F.debugging nueva y hacemos clic en la tilde verde.
BREAKPOINT
También llamado punto de parada, es un stop que podemos colocar en alguna línea del código del programa, de modo que al ejecutarlo, la ejecución se detenga en ese punto.
Existen dos tipos:
- Breakpoint de sesión: duran mientras dure la sesión actual de SAP, es decir, para aplicaciones que se lancen dentro de la misma entrada al sistema.
- Breakpoint externo: son válidos para cualquier aplicación que se ejecute en el sistema. Tienen una validez de dos horas.
Para colocar un breakpoint en el programa debemos seleccionar la línea del programa en donde deseamos interrumpir el procesamiento y hacemos clic en alguna de las dos opciones de breakpoints disponibles.
Luego de colocar un breakpoint en el programa de prueba, vamos a ejecutarlo. Para eso, apretamos la tecla F8 o el icono ejecutar.
A continuación veremos la pantalla de SAP (en un nuevo modo) con la ejecución del programa detenida en el punto donde colocamos el breakpoint. Para avanzar con la depuración disponemos de los siguientes 4 iconos:
- Paso a paso (F5): ejecutaremos paso a paso, es decir sentencia a sentencia o línea a línea.
- Ejecutar (F6): ejecutaremos subrutina a subrutina sin entrar en el contenido de cada una. Una subrutina o procedimiento es un bloque de código ABAP que ha sido modularizado en una rutina para hacer más legible el código de un programa, lo cual hará más simple el mantenimiento futuro del mismo.
- Retornar (F7): retornaremos a la rutina de nivel superior de la rutina actual en ejecución.
- Continuar (F8): continuaremos la ejecución hasta el final del programa.
 
 
 
Sobre el autor
Publicación académica de Romina Hergesheimer Elias, en su ámbito de estudios para el Carrera Consultor Basis NetWeaver.
Romina Hergesheimer Elias
Profesión: Ingeniera Química - Argentina - Legajo: KO26R
✒️Autor de: 48 Publicaciones Académicas
🎓Egresado del módulo:
Disponibilidad Laboral: FullTime