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

 X 

✒️El debug del sistema SAP

El debug del sistema SAP

El debug del sistema SAP

Debug del sistema SAP

Debugging

El proceso de encontrar y eliminar los errores de software, también se conoce como Debug o simplemente depuración en español.

Bug (Insecto): son errores de programación 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 del programa, etc.

“ Grace Hoper (famosa desarrolladora de la Marina estadounidense), creó el lenguaje de programación conocido como Flow-Matic, aunque este lenguaje no fue utilizado, sirvió como base para COBOL”

¿Para qué sirve el Debug de SAP?

Nos ayuda a encontrar errores que pueden impedir que los códigos de los programas ABAP funcionan 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 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 Y OPCIONES PARA REALIZAR MEJORAS.

Entorno de depuración de SAP

El sistema SAP dispone de un entorno completo de depuración, esta última herramientas se encuentra dentro del entorno de desarrollo ABAP, que es la herramienta que usan los consultores técnicos ABAP PARA CREAR Y MODIFICAR LOS PROGRAMAS Y LAS TRANSACCIONES, ETC.

Debugger: es una de las herramientas más poderosas que tiene SAP para el análisis y la solución de problemas se utiliza para ejecutar programas paso a paso y durante el proceso se puede verificar la lógica, inspeccionar el contenido de variables del programa, las tablas internas, las variables del sistema, las áreas de memoria, entre otras opciones.

Estructura de los programas y las sentencias

Dentro del mundo ABAP se pueden crear distintos tipos de programas objeto, los más comunes son: reporte, programa de diálogo, formularios, batch input, User Exits, Field Exits, Funciones, RFC, entre otros.

Para aprender hacer Debugging o depuración nos vamos a encontrar en los llamados reportes.

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, modifica 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 objeto.

Ejemplo de un reporte muy sencillo y realización de Debugging sin sumergirnos de lleno en los detalles de la programación

Datos del ejercicio

Nombre del 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 la pantalla V_Suma

Resolución

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

  • Comiencen con la palabra clave REPORT seguida del nombre del programa.
  • Luego vienen las declaraciones de 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.

Evento de un programa ABAP: se entiende como la etiqueta que identifica una sección de código dentro de un programa, la sección de del código asociada con un evento, comienza con un nombre de evento y termina cuando el siguiente nombre Demento se encuentra. Los nombres de eventos son palabras reservada, es decir son palabras que tienen un significado particular dentro de un lenguaje de programación. No podemos crear evento propio, solamente podemos usar los que ya existen.

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

  • Initilization: es el primer evento que se ejecuta, se utiliza para blanquear o iniciar el contenido de las variables en un programa.

Dentro de este evento en nuestro programa de prueba borraremos el contenido de la variable V_Suma e iniciamos la variable V_Campo1 con el valor 10 y V_Campo2 con 20.

  • Start of Selection: se utiliza para realizar el procesamiento central del programa, tal como realizar la selección de los datos, el procesamiento de un archivo, realizar operaciones aritméticas, etc.

Dentro de este evento, en nuestro programa de prueba, realizamos la suma de las variables V_Campo1 y V_Campo2 y el resultado lo almacenaremos en V_Suma.

  • End of Selection: se utiliza para realizar la impresión del listado en pantalla. Este evento se procesa cuándo se termina el procesamiento central del programa en Start of Selection y contiene las últimas sentencias que se ejecutará en el programa.

Dentro de este evento, en nuestro programa de prueba, imprimimos en pantalla el contenido de V_Suma.

Finalmente, si ejecutamos nuestro problema de prueba veremos la salida por pantalla del reporte, es decir, en nuestro caso el resultado de las sumatoria de las variables.

Debugger ABAP

Es muy importante saber usar el depurador JAC en programación las cosas funcionan si y sólo si son perfectas.

En ABAP tenemos disponibles dos versiones del Debugger la más vieja que fue la primera que salió y una más nueva que incorpora muchas mejoras respecto a su pre DC Dora y es la que nosotros vamos a utilizar pero hay que chequear que esta función esté configurada en nuestro usuario de SAP para ello:

  • Dentro de la transacción SE38 mientras estamos visualizando nuestro programa de prueba, vamos a ir al menú utilidades y hacemos clic en opciones, luego seleccionamos la pestaña editor ABAP, y hacemos clic en Debugging y elegimos la opción F_Debugging nueva y hacemos clic en el botón con el tilde verde.

BreakPoint (punto de Parada)

Es un punto de Stock que podemos colocar en alguna línea de código del programa, de modo que al ejecutarlo, la ejecución se detenga en ese punto.

Existen dos tipos de Breakpoint:

  1. BreakPoint de Sesión: dura mientras dure la sesión actual de SAP, es decir, para aplicaciones que se lanza dentro de la misma entrada del sistema.

  1. Breakpoint externos: son válidos para cualquier aplicación que se ejecute en el sistema. Tienen validez de dos horas.

  • Para colocar un Breakpoint a nuestro programa vamos seleccionar la línea de programa donde deseamos interrumpir el procesamiento y hacemos clic en alguna de las dos opciones disponibles.
  • Ahora se muestra el icono Breakpoint a la izquierda de la línea de código que seleccionamos y en la parte inferior de la pantalla, dentro de la barra de estado se visualiza el texto sesión de Breakpoint fijada.

Proceder a hacer Debugging

  • Ejecutar el programa presionando F8 o haciendo clic en ejecutar.
  • Se abrirá un nuevo modo de SAP, donde vamos a visualizar la ejecución de nuestro programa de prueba detenida en el punto o línea del código en que colocamos el Black Point.

Para avanzar con la depuración disponemos de los siguientes íconos:

  • Icono paso a paso: O presionando F5, ejecutaremos sentencia a sentencia o línea a línea.
  • Icono ejecutar: o presionando F6, ejecutaremos subrutina a subrutina sin entrar en el contenido de cada una. Una Subrutina o procedimiento es un bloque de códigos ABAP, que ha sido modular izado en una rutina para hacer más legible el código de un programa en mantenimiento futuro del programa.
  • Icono retornar: o presionar la tecla F7, retornaremos de la rutina de nivel superior a la rutina actual de ejecución.
  • Icono continuar: o presionando la tecla F8, continuaremos la ejecución hasta el final del programa.

Si hacemos clic tres veces en el icono paso a paso, de modo que la ejecución de nuestro reporte se tenga en las siguientes líneas de Codigo, una vez allí hacemos clic en las variables V_Campo1, V_Campo2 y V_Suma el modo de poder ver el contenido almacenado en las variables en la parte derecha de la pantalla.

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.


 

 

 


Sobre el autor

Publicación académica de Marcos José Serrada Martínez, en su ámbito de estudios para el Carrera Consultor Basis NetWeaver.

SAP Senior

Marcos José Serrada Martínez

Profesión: Ingeniero Electricista - Venezuela - Legajo: HM60S

✒️Autor de: 38 Publicaciones Académicas

🎓Egresado del módulo:

Disponibilidad Laboral: FullTime

Presentación:

Mi nombre es marcos serrada, tengo 28 años de edad. soy venezolano oriundo en píritu estado portuguesa, venezuela. actualmente vivo en cabudare estado lara, venezuela, donde busco de nuevas oportunidades. soy una persona capaz de adaptarse a cualquier situación y que da lo mejor de sí siempre, considero soy una persona resolutiva, con buen ánimo y capaz de resolver problemas fácilmente. al mismo tiempo que me esfuerzo por trabajar en equipo y fomentar el compañerismo. soy ingeniero electricista egresado en diciembre de 2020, desde entonces le di una pausa a mi profesión y me dedique al área agrícola, donde me he desempeñado como encargado general de la agropecuaria durante 3 años. actualmente me encuentro realizando un curso de sap con el fin de adquirir nuevas herramientas profesionales y nuevos conocimientos y formarme como consultor sap.

Certificación Académica de Marcos Serrada