Formación - Debugging para Funcionales V3
Formación - Debugging para Funcionales V3
everis.com
Índice
Aspectos teóricos:
Transacciones de la programación
Estructura de la programación
Herramientas prácticas:
Debugging
Búsqueda de campos técnicos en screens
Edición datos tablas por debugging
Gestión de Dumps
Herramientas de consulta:
Notas OSS
Foros
Índice
Tabla
Tabla vs Estructura
K K K
Transacciones del entorno de desarrollo
SE11: Diccionario de Datos
*Se pueden modificar los textos de un elemento de datos estándar desde la transacción CMOD sin
modificar el propio elemento de datos. (Menú->Pasar a ->Ampliaciones Globales->Palabras clave-
>modificar)
Transacciones del entorno de desarrollo
SE11: Diccionario de Datos
Dominio
Permite determinar las características técnicas de un campo así como definir un ámbito de valores.
Es la unidad mínima de representación de un elemento de la base de datos.
Transacciones del entorno de desarrollo
SE16/SE16N: Consulta de Datos de tablas
El sistema habilita estas dos transacciones para consultar el contenido de datos de una tabla.
En función de cómo haya sido declarada una tabla, se podrá modificar su contenido.
Transacciones del entorno de desarrollo
SE38: Editor ABAP
Transacción que permite visualizar los Dumps que han aparecido en el sistema.
Un Dump es una herramienta que ofrece SAP donde se proporciona información referente a la causa y
punto de la ejecución de un error “controlado” por el sistema.
Transacciones del entorno de desarrollo
SE93: Transacciones
La ejecución de un proceso debe entenderse como un conjunto de instrucciones que se ejecuta de forma
lineal.
Que la ejecución de las instrucciones sea lineal no significa que su codificación lo sea. La codificación
sigue una estructuración que permite la reutilización, la compresión y la comprensión de los procesos.
EJEMPLO: ZCURSO
Estructura de la Programación
Programas / Includes
Los programas (SE38) permiten la agrupación de subrutinas o definiciones de variables de forma
ordenada y diferencial.
Por lo general los programas tienen includes que son partes de código más pequeñas y se agrupan en
base a la naturaleza del código incluido.
Estructura de la Programación
Subrutinas
Una subrutina es una herramienta de
modularización del código que, idealmente,
agrupa el código asociado a una funcionalidad y
que puede ser llamada, dentro de un mismo
programa, tantas veces como se quiera.
El debugging nos permite avanzar por el código de un proceso y comprobar paso a paso las instrucciones
que se van ejecutando.
SY-TABIX: Registro de una tabla interna que se está leyendo en un Loop o un Read.
SY-SUBRC: La variable más importante. Indica si una instrucción se ha realizado con éxito o no. Por
ejemplo, si un SELECT no encuentra ningún registro, devolverá SY-SUBRC = 4. El valor de éxito es el “0”
En el debugging de funciones, el valor de SY-SUBRC nos devuelve, en caso de ser distinto a “0”, el valor
de RAISE (error controlado en el desarrollo de la función):
Debugging
Conocimiento técnico básico a nivel de instrucciones
SY-UCOMM: Acción del usuario. Por ejemplo, un botón tiene un código de función. Las acciones se
controlan en el espacio PAI de las screens o en el evento “AT USER-COMMAND” en reports. Cualquier
acción por parte del usuario es controlada por el sistema, desde un click al mouse hasta el “enter” del
teclado.
El listado completo de variables del sistema que ofrece SAP, junto a sus descripciones, puede visualizarse
en la estructura SYST:
Debugging
Conociendo la Herramienta
F5: Avance a la siguiente instrucción
2. Valor de variable capturada (tabla interna). Mediante doble click al nombre de la variable es
importada al listado.
3. Tablas internas. Mediante doble click al nombre de la tabla interna se navega a dicha pestaña
Tablas internas
El nombre de la tabla y entre [ ] el número del registro nos permite ver los valores de los campos de ese
registro de la tabla.
Desde el Debugger se puede bajar a excel el contenido de la tabla interna, modificar valores, eliminar registros,
añadir registros, etc… (siempre que dispongamos de permisos) En el entorno productivo esta opción debería
estar restringida.
Debugging
Conociendo la Herramienta
Gestión de BreakPoints
Los BreakPoints suponen un punto donde el debugger parará. Se pueden fijar de distintas formas:
En el Código:
Debugging
Conociendo la Herramienta
Gestión de BreakPoints
Mediante el menú “BreakPoint” del debugger: Esta opción nos permite poner el BreakPoint
cuando se ejecuta un comando específico, por ejemplo la sentencia “MESSAGE” o la sentencia
“CALL FUNCTION”. El sistema automáticamente pondrá un BreakPoint en todos los puntos
donde se ejecute esa sentencia y parará en ese punto (por ejemplo en todas las sentencias
MESSAGE; muy útil, siguiendo el ejemplo, para encontrar porqué aparece un mensaje de error).
La opción nos permite introducir, en caso de conocer el detalle, un breakpoint a la llamada a una
función específica o una subrutina.
Debugging
Conociendo la Herramienta
Gestión de WatchPoints
La pestaña WatchPoints permite modificar o eliminar los WatchPoints fijados en el sistema por
usuario/sesión.
Debugging
Conociendo la Herramienta
Pestaña Llamadas
Mediante el menú Debugging se puede seleccionar la opción “Debugging off” que ignorará
todos los BreakPoints. Con F8 el proceso avanzará hasta su finalización.
El conocimiento de cómo se programa puede permitirnos buscar el mejor punto de inicio para el
debugging. Dada una transacción estándar, podemos empezar desde una de sus Screens o a partir de la
ejecución de una acción, en vez de desde la introducción de, por ejemplo, el número de un pedido.
La ejecución de un LOOP de 500 entradas implica el paso de 500 veces por el mismo código. Puede ser
útil, una vez recorrido una vez el LOOP, buscar el ENDLOOP para continuar el proceso. Atención, un
LOOP puede incluir subrutinas, con lo que la identificación de un LOOP en debugging no siempre es
trivial.
Una herramienta muy útil para obtener información sobre la programación del sistema y establecer el inicio
de un camino de debugging consiste en situarse sobre un campo de una pantalla y mediante la ayuda (F1)
navegar a los datos técnicos del campo:
Búsqueda de campos técnicos en screens
Ejemplo: Vamos a buscar la descripción técnica del campo Cl. Documento en la FBL3N
Búsqueda de campos técnicos en screens
Ejemplo: Accediendo a la ayuda (F1) se observa que hace referencia a una estructura, no a una tabla
Búsqueda de campos técnicos en screens
Alternativas:
Ejemplo: Accediendo a la ayuda (F1) se observa que hace referencia a una estructura, no a una tabla
Debuggear un pop-up
En ocasiones nos encontramos ante una situación en la que no podemos debuggear un proceso ya que
salta un pop-up. Para ello existe una pequeña herramienta de mucha utilidad.
Índice
Un Dump es una herramienta que ofrece SAP donde se proporciona información referente a la causa y
punto de la ejecución de un error “controlado” por el sistema.
Notas para corregir errores: Nos da indicaciones sobre qué debe realizarse para resolver el error
Detalle del código fuente: Nos muestra el punto del código que ha provocado el error. A menudo el error
está en esa línea de código, aunque otras veces puede suceder que el error venga de una línea
anterior.
Además, el Dump nos permite navegar al código fuente y visualizar los valores de las variables en el
momento de la ejecución.
Accediendo al histórico de dumps se pueden visualizar estos valores pero de una manera más limitada.
Gestión de Dumps
Índice
Las notas OSS son “parches” que ofrece SAP sobre sus sistemas.
Estos parches provienen de consultas realizadas por los Consultores a SAP o mediante la detección
proactiva de SAP de errores en sus sistemas.
Periódicamente SAP proporciona releases que actualizan los errores del sistema.
Ante la detección de problemas en el estándar de SAP se pueden buscar notas relacionadas que hayan
ya reportado ese error y dispongan de solución o, en caso de no encontrar la solución, abrir una nota de
consulta a SAP.
Las notas de consulta en general las cobra SAP al cliente y para ello hace falta un código de usuario y
contraseña propios de la instalación del cliente y su permiso para realizar la consulta. El precio va ligado a
la criticidad que se dé a la consulta.
Con un usuario/contraseña de cualquier cliente se puede acceder a las notas del portal de SAP para su
consulta.
Una de las rutas de acceso a las notas OSS es a través de la web “help.sap.com” y el menú “other portals”
Notas OSS
Una de las rutas de acceso a las notas OSS es a través de la web “help.sap.com” y el menú “other portals”
Notas OSS
La web ofrecerá campos donde establecer criterios de búsqueda y ofrecerá un listado de resultados:
Notas OSS
Al acceder a una nota obtendremos una descripción detallada de en qué consiste y las soluciones
propuestas para cada versión de SAP, así como notas relacionadas.
Notas OSS
Las notas pueden ser informativas o pueden implicar cambios en la codificación del sistema. En caso de
modificaciones en el sistema, algunas de ellas serán manuales (caso en que se deberá obtener un código
de permiso de modificación del estándar también llamado clave de desarrollador ) o podrán aplicarse
mediante la transacción SNOTE.
Índice