✒️ABAP El debugger ABAP
ABAP El debugger ABAP
DEPURANDO UN PROGRAMA ABAP
Orden de ejecucion de un programa ABAP
Los programas ABAP se ejecutan basados en eventos, no necesariamente por orden de escritura, Lo primero que debe aparecer en un programa abap son las declaraciones de datos con las sentecias DATA, CONST y TABLES
Así pues, independientemente del orden que esté escrito el código, se ejecutará en función de los eventos que contenga. El código asociado a un evento comienza en la linea siguiente a la especificación del evento y finaliza cuando se declara un nuevo evento o finaliza el programa. El orden de ejecución de los eventos es
- INITIALIZATION. Es el primer evento a ejecutar. Suele usarse para dar los valores inicales a las variable y para asignar los parametros recibidos a variables de trabajo.
- AT SELECTION-SCREEN. Se ejecuta en reportes o programas que dispongan de una pantalla inicial de criterios de seleccion. Se ejecuta justo despues de validar esa pantalla y se usa para realizar comprobaciones sobre la validez de los parámetros recibidos y cualquier otra comprobación antes de la ejecución del programa; como por ejemplo comprobar que va a haber resultados.
- START-OF-SELECTION. Es el evento por defecto, Si no indicamos eventos, este es el que se ejecuta. Se procesa al iniciar el programa REPORT tras la inicialización y la selección de criterios.
- END-OF-SELECTION. Se ejecuta al finalizar el reporte, o sea, cuando finaliza el evento START-OF-SELECTION. Puede tratarse de una totalizacion; exportación de fichero, etc.
- TOP-OF-PAGE. Se procesa antes de que se imprima el primer dato en cada página. Se usa para la impresión de cabeceras de los Listados
- END-OF-PAGE. Se procesa despues de que se imprima la última línea de cada página. Se usa para pies de página como totales parciales.
- AT LINE-SELECTION. Se usa en reportes interactivos y sirve para ejecutar un subprograma adicional recuperando la información de la línea del reporte sobre la que cliqueamos; como por ejemplo, mostrar el detalle de una referencia.
- AT USER-COMMAND. se ejecuta cuando el usuario clica en un botón del menu del reporte.
El Debugger
Para la depuración, disponemos de la ejecución con el depurador. El depurador nos permite analizar los valores de las variables en los distintos momentos de la ejecución del programa para detectar cualquier error en la lógica del mismo. Esto lo hacemos mediante el uso de breakpoints o puntos de interrupción y watchpoints o interrupciones condicionales.
Podemos establecer un punto de interrupción dentro del código mediante el uso de la palabra reservada
BREAK-POINT.
Y lo que es mejor todavía, podemos condicionar el punto de ruptura dentro de una condición
IF condicion.
BREAK-POINT.
ENDIF
También podemos añadir break-points desde el depurador, y break-points temporales de sesión o usuario desde el editor ABAP y usar las funciones de ejecución controlada para avanzar poco a poco en la ejecución del programa y analizar los cambios en los datos. Si pues, con las teclas F5 a F8 controlamos el flujo del programa
- F5: Ejecutar paso a paso, incluso las funciones.
- F6: Ejecutar la siguiente instruccion; si es una funcion se ejecuta como una instrucción.
- F7: Ejecutar hasta programa de nivel superior. Si estamos en una llamada a función, ejecutar la función y detenerse en la llamada de nivel superior.
- F8: Ejecutar hasta el siguiente BREAK-PROINT
Con los Watchpoints, podemos hacer que la ejecución se detenga cuando una variable cumpla una determinada condición, como cuando alcanza un determinado valor.
ARCHIVO PARA DEBUG DE DIALOGO
[FUNCTION]
Command=/H
Tittle=Debugger
Type=SystemCommand
 
 
 
Sobre el autor
Publicación académica de Carlos Piles Rosell, en su ámbito de estudios para la Carrera Consultor ABAP.
Carlos Piles Rosell
Profesión: Analista de Sistemas y Programador - España - Legajo: GZ57B
✒️Autor de: 24 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: PartTime
Certificación Académica de Carlos Piles