🚀PROMO #PLANCARRERA2024 - 🔥Bonificaciones, Precios Congelados y Cuotas

 X 

✒️El debug del sistema SAP

El debug del sistema SAP

El debug del sistema SAP

1 - Introducción al debugging

Ya sea que estemos trabajando como consultores técnicos o consultores funcionales de SAP, una de las tareas más frecuentes que vamos a realizar consiste en la búsqueda y corrección de errores, tanto en las transacciones Z nuevas que se crean, como en las transacciones Z ya existentes, que se encuentran funcionando en el ambiente de producción, como así también en el código estándar del sistema SAP. Dentro del mundo de la programación, se conoce a los errores de los programas con el nombre de BUGS.

Los Bugs 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 del software se lo conoce como Debug o Debbugging.

Para que sirve el debug en SAP?

Su objetivo es encontrar errores que puedan impedir que los códigos de los programas ABAP funcionen de forma adecuada. Algunos se detectan a simple vista, pero para resolver otros vamos a necesitar 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 manera es posible determinar lo que está ocurriendo dentro del código fuente y obtener sugerencias de acciones.

2 - El entorno de depuración de SAP

El sistema SAP dispone de un entorno completo de depuración. Esta herramienta es útil y se encuentra dentro del entorno de desarrollo ABAP, que es una herramienta que utilizan los consultores técnicos para crear y modificar los programas y las transacciones, entre otros objetos. Es una de las herramientas más poderosas que tiene SAP para el análisis y la solución de problemas.

Se utiliza par ejecutar programas paso a paso y durante el proceso se puede verificar la lógica, inspeccionar el contenido de variables de programa, tablas internas, variables del sistema, etc. Para poder realizar debugging vamos a necesitar contar con conocimientos básicos sobre estructuras de los programas y saber utilizar el debugger.

2.1 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:

  • Reportes
  • Programas de dialogo
  • Formularios
  • Batch Input
  • User exits
  • Field exits
  • Funciones y RFC

Para aprender a hacer debugging nos vamos a concentrar en los llamados Reportes (Es un 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). Estos se crean, modifican y visualizan a través de la transacción SE38 y SE80.

Vamos a ver un ejemplo de un reporte muy sencillo y vamos a explicar los conceptos para poder realizar un debugging. El nombre de nuestro reporte de prueba es Z_PRUEBA_EVENTOS.

IMAGEN

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.

imagen

Los reportes tienen una estructura que siempre se repite y es la siguiente:

1 - Comienzan con la palabra clave REPORT seguida del nombre del programa.

imagen

2 - Luego vienen las declaraciones de las variables que utilizan en el programa.

imagen

A continuación vamos a ver la declaración de los eventos que se ejecutan en el programa.

IMAGEN

Evento de un programa ABAP: Es una etiqueta que identifica una sección del código dentro de un programa. La sección del código asociada con un evento, comienza con un nombre de evento y termina cuando el siguiente nombre de evento se encuentra.

Los eventos que se ejecutan en nuestro programa de prueba son los siguientes:

INITIALIZATION

Es el primer evento que se ejecuta y se utiliza para inicializar o blanquear el contenido de las variables de un programa. Dentro de este evento, en nuestro programa de prueba, borramos el contenido de la variable V_SUMA e inicializamos la variable V_CAMPO1 con el valor 10 y la variable V_CAMPO2 con 20.

IMAGEN.

START 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 muchas otras opciones.

Dentro de este evento en nuestro programa de prueba realizamos la suma de las variables V_CAMPO1 y V_CAMPO2 y el resultado lo almacenamos en V_SUMA.

imagen

END-OF-SELECTION

Este evento se procesa cuando se termina el procesamiento central del programa, es decir luego del evento START-OF-SELECTION. Contiene las últimas sentencias que se ejecutarán en el programa. En general se lo utiliza para realizar la impresión de los listados por pantalla. Dentro de este evento, en nuestro programa de prueba, imprimimos en pantalla el contenido de la variable V_SUMA.

IMAGEN

Finalmente, si ejecutamos nuestro programa de prueba veremos la salida por pantalla del reporte.

IMAGEN.

2.2 El debugger ABAP

Es muy importante saber utilizar el debugger o depurador ya que en programación las cosas funcionan solo si son perfectas. En ABAP hay dos versiones disponibles del debugger. Para chequear que la opcion este configurada vamos a transacción SE38 menu utilidades opciones, luego seleccionamos pestaña editor abap, debbuging y hacemos clic en F.debugging nueva y hacemos clic en la tilde verde.

Breakpoint: 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

  • Breakpoints 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.
  • Breakpoints externos: son válidos para cualquier aplicación que se ejecute en el sistema. Tienen una validez de dos horas.

Para colocar en nuestro programa un breakpoint vamos a seleccionar la línea del programa en donde deseamos interrumpir el procesamiento y hacemos clic en alguna de las dos opciones de breakpoints disponibles.

Ahora ya podemos hacer debugging. Para ello, vamos a ejecutar el programa presionando F8 o haciendo clic en el icono ejecutar. A continuación se abrirá un nuevo modo de SAP donde vamos a ver la siguiente pantalla:

IMAGEN

Para avanzar en la depuración disponemos de los siguientes 4 iconos:

IMAGEN

  • Icono paso a paso o F5L ejecutaremos paso a paso es decir sentencia a sentencia.
  • Icono ejecutar o F6: ejecutaremos subrutina a subrutina sin entrar en el contenido de cada una. Una subrutina es un bloque de código ABAP que ha sido modularizado de una rutina para hacer más legible el código de un programa lo cual hará más simple el mantenimiento futuro del programa
  • Icono Retornar o F7: Retornaremos a la rutina de nivel superior de la rutina actual en ejecución.
  • Icono Continuar o F8: continuaremos la ejecución hasta el final del programa.

Vamos a hacer clic tres veces en el icono paso a paso de modo que la ejecución de nuestro reporte se detenga en la siguiente línea del código. Una vez allí hacemos clic en las variables V_CAMPO1 V_CAMPO2 V_SUMA de modo de poder ver el contenido almacenado en las variables en la parte derecha de la pantalla.

imagen.

Si hacemos clic nuevamente en el icono Paso a paso, vamos a ver que luego de la suma de las variables V_CAMPO1 y V_CAMPO2 el contenido que se muestra a la derecha de la pantalla para la variable V_SUMA se ha actualizado.

Apunte Creado OK - Iniciar Edición


 

 

 


Sobre el autor

Publicación académica de Maria Camila Buasso Barreiro, en su ámbito de estudios para el Carrera Consultor Basis NetWeaver.

SAP Junior

Maria Camila Buasso Barreiro

Profesión: Ingeniera - Argentina - Legajo: GV36T

✒️Autor de: 24 Publicaciones Académicas

🎓Cursando Actualmente: Introducción a SAP

Certificación Académica de Maria Buasso