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

 X 

✒️El debug del sistema SAP

El debug del sistema SAP

El debug del sistema SAP

Introduccion al debugging

Ya sea que estemos trabajando como consultores tecnicos o consultores funcionales, una de las tareas que con mas frecuencia vamos a realizar consiste en la busqueda y correcion de errores, tanto en la transaccion Z nuevas que se crean, como en las transacciones Z ya existentes, que se encuentran funcionando en el ambiente de produccion, como asi tambien en el codigo estandar del sistema SAP.

Dentro del mundo de la programacion se conoce a los errores de los programas con el nombre de bugs. Los bugs se producen debido a errores de sintaxis en el codigo de los programas, como un codigo de programacion incompleto, errores en la logica de la aplicacion, entre otros motivos.

Al proceso de encontrar y eliminar los errores de software se le conoce como Debug. Tambien llamado debugging o en español simplemente depuracion.

El objetivo del debug en SAP es encontrar errores que pueden impedir que los codigos de los programas ABAP funcionen de fomra adecuada. Algunos errores se detectan a simple vista, pero para resolver otros vamos a necesitar ejecutar la transaccion o el programa y saber exactamente cuales son los valores que van tomando las variables internas del mismo. De esta forma es posible determinar lo que esta ocurriendo dentro del codigo fuente y obtener sugerencias de acciones para realizar mejoras.

Si bien no es indispensable que los consultores funcionales de SAP sepan realizar un debug, en el mercado laboral de hoy en dia, se valora ampliamente a aquellos analistas funcionales que cuentan con este conocimiento, ya que en ocasiones cuando estamos trabajando en un proyecto de implementacion o de mantenimiento de SAP tenemos que realizar multiples tareas y si un consultor funcional sabe realizar un debug, sin dua va a existir un mejor trabajo en equipo con el o los consultores tecnicos, ya que el nivel de entendimiento sobre lo que hay que hacer sera mayor y eso traera como consecuencia que los tiempos de trabajo se reduciran y la calidad final del producto tambien sera mayor.

El entorno de la depuracion de SAP

SAP dispone de un entorno completo de depuraicon. Esta herramienta se encuentra dentro del entorno de desarrollo ABAP, que es la herramienta que utilizan los conultores tecnicos ABAP para crear y modificar los probramas y las transacciones, entre otros objetos.

El debugger es una de las herramientas mas poderosas que tiene SAP para el analisis y la solucion de problemas.

Se utiliza para ejecutar programas paso a paso y durante el proceso se puede verificar la logica, inspeccionar el contenido de variables de programa, las tablas internas, las variables del sistema, las areas de memoria, entre otras opciones.

Cuanto mas conocimiento tecnico tengamos sobre la estructura de los programas y las sentencias ABAP, mas facil nos va a resultar realizar analisis con el debugger.

La estructura de los programas y las sentencias

Dentro del mundo ABAP se pueden crear distintos tipos de programas u objetos. Los mas comunes son:

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

Entre varias otras opciones.

Para aprender a hacer debugging o depuracion nos vmaos a concentrar en los llamados Reportes. El Reporte 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.

Los reportes se crean, modifican y visualizan en el editor ABAP a traves de la transaccion SE38. Y tambien mediante la transaccion SE80 correspondiente al navegador de objetos.

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 continuacion, vamos a ver la declaracion de los eventos que se ejecutan en el programa

En un programa ABAP los eventos no se crean, solo se pueden utilizar los que ya existen.

El debugger ABAP

Es muy importante saber utilizar el debugger o depurador ya que en programacion las cosas solo funcionan si y solo si son perfectas, es decir sin errores.

En ABAP tenemos disponibles dos versiones del debugger, una mas vieja que fue la primer a que salio y otra mas nueva que incorpora muchas mejoras respecto de su predecesora.

Nosotros vamos a trabajar con el nuevo debugger por lo que primeramente vamos a chequear que esta funcionalidad este correctamente configurada en nuestro usuario de SAP.

El Breakpoint o punto de parada es un stop que podemos colocar en alguna linea del codigo del programa, de modo que al ejecutarlo, la ejecucion se detenga en ese punto.

Existen 2 tipos de breakpoint:

  • Breakpoints de sesion: duran mientras dure la sesion actual de SAP, es decir, para aplicaciones que se lancen dentro de la misma entrada del sistema
  • Breakpoints externos: son validos para cualquier aplicacion que se ejecute en el sistema. Tienen una validez de dos horas.

Para colocar un breakpoint vamos a seleccionar la linea 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 nuestro programa de prueba, estamos listos para hacer debugging. Para eso vamos a ejecutar el programa presionando la tecla F8 o haciendo clic en el icono ejecutar. Se abre un nuevo modo de SAP, donde vemos en pantalla la ejecucion de nuestro programa de pruebas detenida en el punto o linea del codigo donde colocamos el breakpoint.

Para avanzar en la depuracion tenemos 4 iconos:

  • Paso a paso o presionando tecla F5: ejecutamos paso a paso es decir sentencia por sentencia o linea por linea.
  • Ejecutar o presionando tecla F6: ejecutaremos subrutina por subrutina sin entrar en el contenido de cada una. Una subrutina o procedimiento es un bloque de codigo ABAP que ha sido modularizado en una rutina para hacer mas legible el codigo de un programa lo cual hara mas simple el mantenimiento futuro del programa.
  • Retornar o presionando tecla F7: retornaremos a la rutina de nivel superior de la rutina actual en ejecucion.
  • Continuar o presionando tecla F8: continuaremos la ejecucion hasta el final del programa.


 

 

 


Sobre el autor

Publicación académica de Mathias Peña, en su ámbito de estudios para el Carrera Consultor Basis NetWeaver.

SAP Senior

Mathias Peña

Profesión: Information Processing Specialist - Uruguay - Legajo: MG82V

✒️Autor de: 43 Publicaciones Académicas

🎓Cursando Actualmente: Consultor Funcional Módulo FI Nivel Avanzado

🎓Egresado de los módulos:

Disponibilidad Laboral: FullTime

Certificación Académica de Mathias Peña