✒️SAP / El debug del sistema SAP Por Paz Ada
El debug del sistema SAP

Unidad 2
El debug del sistema SAP
1. Introducción al debugging: Ya sea que el perfil sea de CT o CF de SAP, la tarea mas frecuente consiste en la búsqueda y corrección de errores tanto en las transacciones Z nuevas o ya existentes que funcionan en el ambiente de producción, como en el código estándar del sistema SAP. Los errores de los programas se los conoce como bugs, estos se producen por errores de sintaxis en el código de los programas, como un código incompleto, errores de lógica entre otros motivos. El proceso de hallar y eliminar los errores de software se lo conoce como Debug, debugging o depuración.

* Función del debug en SAP: es la de hallar errores que puedan impedir que los códigos de los programas ABAP funcionen adecuadamente. Algunos de estos errores se pueden detectar a simple vista, en cambio, para la detección de otros se precisa correr el programa o ejecutar la transacción para ver que valores van tomando las variables internas del mismo, así, se puede determinar lo que ocurre dentro del código fuente obteniendo sugerencias de acciones y realizar mejoras.
Si bien no es una obligación que los CF sepan realizar debug, para cualquier equipo, contar con un consultor que tenga esta habilidad, se valora ampliamente, además de mejorar la calidad final del producto, agilizar los tiempos, mejorando el trabajo en equipo.
2. El entorno de depuración de SAP: el sistema dispone de un entorno completo de depuración, encontrándose dentro del entorno de desarrollo ABAP, herramienta utilizada por los CT de ABAP para la creación y modificación de programas y transacciones entre objetos.

Para la realización de debugging en ABAP, por un lado, se precisa contar con conocimientos básicos sobre la estructura de los programas y sentencias ABAP, y por otro, saber utilizar esta herramienta. Cuanto más conocimientos se tenga más fácil resultará el análisis con el debugger.
* La estructura de los programas y la sentencias: dentro de ABAP se pueden crear distintos tipos de programas/objetos, siendo los más comunes:
° Reportes ° Programas de dialogo ° Formularios ° Batch Input
° User exits ° Field exits ° Funciones y RFC ° Varias opciones.
Para aprender a hacer debugging hay que conocer en profundidad a los reportes. Este programa consiste en una serie de instrucciones y palabras clave cuyo objetivo es procesar datos de entrada o datos obtenidos de las tablas del sistema mostrando resultados del procesamiento por pantalla, estos se crean, modifican y visualizan en el editor ABAP a través de la transacción SE38, así como la transacción SE80 que corresponde al navegador de objetos. El nombre del reporte de pruebas es Z_PRUEBA_EVENTOS.

Este reporte es para sumas as variables V_CAMPO1 y V_CAMPO2, almacenando la sumatoria en V_SUMA y finalmente imprimir en pantalla V_SUMA.

Los reportes tiene una estructura que siempre se repite:
- Comienzan con la palabra clave REPORT seguida del nombre del programa.

- Posteriormente, las declaraciones de las variables que se utilizan en el programa.

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

* 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 a un evento, comienza con un nombre de evento y termina cuando el siguiente nombre de evento se encuentra. estos nombres son palabras reservadas, con un significado particular dentro del lenguaje de programación, no pudiéndose crear nuevos eventos, solo se pueden usar lo existentes.
Lo eventos que se ejecutan en nuestro programa de prueba son los siguientes:
- INITIALIZATION: primer evento que se ejecuta y se utiliza para inicializar o blanquear el contenido de las variables de un programa. Dentro de este, en un programa de prueba, se borra el contenido de la variable V_SUMA e inicializamos la variable V_CAMPO1 con el valor 10 y la variable V_CAMPO2 con 20.

- START-OF-SELECTION: este es utilizado para realizar el procesamiento central del programa, como realizar la selección de datos, el procesamiento de un archivo, entre otras. Dentro de este, en un programa de prueba, se realiza la suma de las variables V_CAMPO1 y V_CAMPO2 y el resultado se almacena en V_SUMA.

- END-OF-SELECTION: este se procesa cuando finaliza el procesamiento central del programa, es decir luego del evento STAR-OF-SELECTION, conteniendo las últimas sentencias que se ejecutan en el programa, utilizado para realizar la impresión de listados por pantalla. dentro de este evento, en un programa de prueba, se imprime en pantalla el contenido de la variable V_SUMA.

No es importante el orden en que se escriban los eventos dentro de un programa ABAP ya que exite un orden establecido por ABAP y ese será el orden en el que se ejecutarán los eventos.
Por último, si se ejecuta el programa de prueba se verá en la pantalla del reporte.

Se visualiza en la pantalla el listado de salida con el resultado de la sumatoria de las variables.

* El debugger ABAP: es primordial saber usar el depurador porque en programación, las cosas funcionan sin errores, existiendo dos versiones disponibles en ABAP de diferentes tiempos, siendo más eficiente la más nueva por las mejoras que posee, por lo que se le va dar utilización a la más reciente debiendo estar bien configurada para el usuario SAP; por ello, dentro de la transacción SE38 - mientras se visualiza el programa de pruebas -, se debe ir al menú Utilidades / Opciones.

luego se selecciona las pestañas Editor ABAP / Debugging, se elige la opción F.debugging nueva y se hace clic en el botón verde.

Antes de comenzar a depurar se debe considerar el Breakpoint, también llamado punto de parada, es un stop que puede colocar en alguna línea del código del programa, de modo que la ejecución se detenga en ese punto. Existiendo dos tipos:
- Breakpoint de sesión: duran mientras dure la sesión actual de SAP, para aplicaciones que se lancen dentro de la misma entrada.
- Breakpoint externos: válidos para cualquier aplicación que se ejecute en el sistema, con validez de 2 hs.
Al colocar el programa en un breakpoint se debe seleccionar la línea del programa donde se desea interrumpir el procesamiento y se hace clic en algunas de las dos opciones.

El ícono del breakpoint se visualiza a la izquierda de la línea de código y en la parte inferior de la pantalla, dentro de la barra de estado, se ve el texto sesión de breakpoint fijada.

Una vez colocado el breakpoint, en un programa de prueba, se debe ejecutar el debugging ejecutando el programa presionando la tecla F8 o cliqueando el ícono ejecutar.

Posteriormente, se abrirá un nuevo modo de SAP, donde se verá, la ejecución del programa de pruebas detenida en el punto o línea del código donde se coloco el breakpoint.

Para el avance en la depuración se dispone de 4 pasos:

- Paso a paso: presionando el ícono o F5, se ejecuta sentencia a sentencia o línea a línea.
- Ejecutar: presionando el ícono o F6, se ejecuta subrutina a subrutina sin entrar al contenido de cada uno. Subrutina o procedimiento, es un bloque de código ABAP que ha sido fragmentado en una rutina haciéndolo más legible el cual hará mas simpe el mantenimiento futuro del programa.
- Retornar: presionando el ícono o F7, se retornará a la rutina de nivel superior de la rutina actual en ejecución.
- Continuar: presionando el ícono o F8, se continuará a la ejecución hasta el final del programa.
Se hacen tres clic en el ícono Paso a paso de modo que la ejecución del reporte se detenga en la siguiente línea del código, posteriormente, se hace clic en las variables V_CAMPO1, V_CAMPO2 y V_SUMA, de modo de poder ver el contenido almacenado en las variables en la parte derecha de la pantalla.

Si se hace clic nuevamente en el ícono Paso a paso, se verá que posterior 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.

 
 
 
Sobre el autor
Publicación académica de Paz Emilce Ada, en su ámbito de estudios para el Curso Introducción SAP.
Paz Emilce Ada
Profesión: Licenciada en Enfermería - Argentina - Legajo: JE76S
✒️Autor de: 25 Publicaciones Académicas
🎓Cursando Actualmente: Carrera Consultor SAP HCM S/4HANA
🎓Egresado del módulo:
Presentación:
Soy licenciada de enfermería con especialización gestión y administración hospitalaria. con marcado perfil de liderazgo, enfocado mejorar la calidad de atención y servicios de manera proactiva.
Certificación Académica de Paz Ada







Disponibilidad Laboral: FullTime


















