![SAP El log del sistema y el análisis de dumps SAP El log del sistema y el análisis de dumps](https://www.cvosoft.com/cvo_files/imgs_sap_abap/og-images/133.jpg)
1. Log del sistema
El sistema SAP graba eventos y problemas, tales como borrado de modos de usuarios del sistema, bloqueos de usuarios al introducir incorrectamente la contraseña, parada y arranque del sistema, es un LOG.
* Un LOG es un registro oficial de eventos durante un rango de tiempo en particular *
Al sistema LOG se accede directamente por la transacción SM21 o por el menu HERRAMIENTAS / GESTION / MONITOR / LOG SISTEMA.
Transacción SM21: Modo Normal y el Experto.
El sistema R/3 graba eventos y problemas, tales como borrado de modos de usuarios del sistema, bloqueos de usuarios al introducir incorrectamente la password, parada y arranque del sistema, etc en un log. Este log no es más que un fichero a nivel de sistema operativo. Si el sistema R/3 se ejecuta en hosts UNIX, existen dos tipos de log del sistema:
Local
Cada servidor de aplicaciones de R/3 dispone de un log local que contiene los mensajes que ha generado ese servidor. Este fichero de log local es un fichero circular. Cuando el fichero llega a su tamaño máximo, el sistema empieza a sobreescribir el fichero desde el principio (la información más antigua). El fichero de log local se guarda en cada servidor de aplicación en la siguiente ruta:
Entorno UNIX /usr/sap/<SID>/<instance number>/log/SLOG00
Entorno Windows NT C:usrsap<SID><instance number>logSlog00.log donde <SID> es el nombre de la base de datos SAP y <instance number> es el número de instancia.
Central
Cada servidor de aplicaciones copia las entradas del log local a un log central. Esta opción no se encuentra en servidores Windows NT ni AS/400, sólo existen logs locales (uno por servidor de aplicación). El log central se guarda en un servidor de aplicaciones seleccionado, el resto de servidores de aplicación envían sus mensajes locales a este servidor.
El log central es escrito en 2 ficheros: un fichero activo y un fichero antiguo. El fichero activo contiene el log actual. Cuando el fichero activo llega a su longitud máxima definido en los parámetros del sistema, éste borra el fichero antiguo de logs, usa el fichero activo como fichero antiguo y crea un nuevo fichero de log. Este cambio en el log no es notificado al usuario.
Mientras que el log local se mantiene siempre actualizado, el log central puede sufrir retardos desde que se escribe un mensaje en el log local hasta que ese mensaje es enviado al log central. Fallos de comunicaciones entre los distintos servidores pueden resultar en retardos grandes en la escritura del log central o incluso en pérdida de estos mensajes.
Accediendo al log local del sistema
Al log del Sistema se accede directamente por la transacción SM21 o por el menú general Herramientas/Gestión/Monitor/Log Sistema .
La pantalla de seleccción de la transacción SM21 tiene 2 modos: El modo Normal y Experto. El modo normal es el definido por defecto, y al que se entra directamente cuando se ejecuta la transacción SM21. Para cambiar a modo experto, deberemos ir al menú desplegable Tratar/Modo experto. Ambos modos se diferencian en que éste último da más opciones de selección.
Accediendo al log local en modo normal
Accediendo a la transacción SM21 – directamente o a través de menú – entramos por defecto a la pantalla de selección del log local del servidor de aplicaciones al que estemos conectados en Modo Normal.
Veamos los distintos parámetros de selección que nos permitirán filtrar los datos del log:
De Fecha/Hora a Fecha/Hora: Permite establecer un rango de fechas de mensajes del log a visualizar.
Usuario: Nos permitirá visualizar sólo los mensajes que se hayan grabado en el sistema debido exclusivamente a la actividad del usuario especificado.
Código de transación: Nos permitirá visualizar los mensajes del log debidos exclusivamente a la acción de los usuarios sobre la transacción especificada.
Proceso SAP: Nos permitirá visualizar los mensajes de log debidos a un proceso particular R/3. Valores posibles son:
DP Procesos del dispatcher
Dn Procesos de trabajo, donde n = 0,...,9 o n = a, ...,z . En el caso de tener más de 10 procesos de trabajo numeraremos los siguientes con las letras del abecedario.
VB Actualizaciones
Vn Programas de actualizazión, donde n = 0,...,9 o n = a, ...,z Sn Spool, donde n = 0,...,9 o n = a, ...,z
MS Servidor de Mensajes
Clases de Problemas: Limita la visualización por tipo de mensaje, sólo errores, errores y advertencias y todos los mensajes. El valor por defecto es la opción todos los mensajes.
Accediendo al log local en modo experto
Para acceder al log del sistema en modo experto deberemos acceder por el menú desplegable tal y como se ha explicado anteriormente. La pantalla visualizada es igual que la anterior con la salvedad que se dispone de más opciones de filtro como es la opción Atributos.
Esta opción nos permite filtrar además por:
Programa: Se restringe el resultado a los mensajes causados por la ejecución del programa especificado.
Clase de Problema: Limita el resultado a ciertos tipos de mensajes. Los valores posibles son:
K Mensajes del kernel del sistema
S Mensajes de estado
T Mensajes de transacciones
W Mensajes de advertencia
X Otros tipos de mensajes
De fichero / posición a fichero / posición: Define el segmento del fichero de log a leer. Si ya se ha leído el fichero una vez, se puede determinar la posición de una entrada específica haciendo doble clic; la posición se encuentra en la sección de detalles técnicos.
Formato mensaje (tipo): Se pueden seleccionar mensajes por el formato de la componente del sistema. Para visualizar posibles valores, deberemos pulsar el botón de ayuda de búsqueda correspondiente.
Terminal: Se pueden filtrar los mensajes que han sido causados por la actividad llevada a cabo desde un servidor de presentación.
Clase de desarrollo: Se pueden filtrar los mensajes que han sido producidos por la ejecución de programas que pertenezcan a una clase de desarrollo en particular. Las clases de desarrollo son agrupaciones de objetos de Workbench o Customizing cuyo propósito es la jerarquización de tales objetos para una mejor gestión así como el posibilitar su transporte a otros entornos.
Con entradas internas Syslog: Visualización de mensajes relativos a los procesos de recolección y envío de mensajes de log desde el log local al log central. Esta opción no esta disponible para entornos que no sean Unix.
Leyendo el log del sistema
Una vez introducidos los valores de selección en la pantalla accederemos al contenido del log pulsando el botónNueva Lectura syslog.
El log del sistema aparece en formato tabla con las siguientes columnas en el siguiente orden:
Hora del mensaje
Proceso SAP
Mandante
Usuario
Código transacción
No de mensaje
Texto del mensaje
Opciones de relectura del log del sistema
Si hemos visualizado una vez el contenido del log del sistema filtrando exclusivamente por fecha y sin salirnos de la transacción volvemos a la pantalla de selección, el sistema muestra tres distintas opciones para volver a visualizar la información:
Nueva Lectura en el Syslog. Vuelve a acceder al fichero para sacar un nuevo listado con los parámetros que se hayan seleccionado.
Sólo Editar Nuevamente. Vuelve a mostrar el último resultado del log visualizado anteriormente con esta opción.
Cargar en Syslog. Permite realizar una nueva lectura en el syslog filtrando con otros valores pero mantiene en el buffer el anterior resultado que puede ser accedido de nuevo a través de la segunda opción.
Accediendo a logs remotos del sistema
Si el sistema SAP R/3 al que estamos conectados es un sistema distribuído, es decir , está compuesto de varios servidores de aplicaciones, tendremos la posibilidad de acceder a cada uno de los logs locales de cada uno de los servidores sin tener que conectarnos directamente a cada uno de los servidores de aplicación. Para ello usaremos las opciones de lectura de logs remotos que nos ofrece la transacción SM21. Estas opciones se encuentran en el menú desplegable en Syslog/Seleccionar .
La opción syslog local es la que está activa por defecto y ya ha sido explicada . La opción syslog remoto nos lleva a una pantalla similar a la pantalla de selección del syslog local con la salvedad que incluye un parámetro más en la pantalla de selección. Este parámetro es la instancia. Aquí le podremos indicar el nombre de la instancia cuyo log del sistema queremos visualizar.
La opción todos los syslogs remotos nos lleva a una pantalla de selección idéntica a la del log local con la salvedad que los mensajes que se visualizarán corresponderán la los de todas las instancias que componen nuestro sistema R/3. En la visualización de los mensajes del log aparecerá un campo más llamado instancia que nos servirá para conocer en qué instancia se ha generado cada mensaje.
La opción Syslog Central no está disponible para sistemas R/3 fuera del entorno UNIX.
Es importante destacar que las únicas instancias que están disponibles para la visualización de los logs remotos son las que componen el sistema R/3 al que estamos conectados.
Concepto de Dump
Dump o error en tiempo de ejecución es un log de terminación anormal de ejecución de cualquier programa. Esto se produce por una cancelación del programa que se está actualmente ejecutando; el sistema nos muestra una pantalla con un log de terminación donde se puede encontrar información acerca del error producido y su posible solución.
Las posibles causas de terminación anormal de programas, entre otras, pueden ser:
Errores de sintaxis en programas hechos a medida.
Referencias obsoletas a objetos del Workbench hechos a medida que han sido eliminados.
Cancelación manual de un modo actualmente en ejecución.
Cuando se produce una terminación anormal de una ejecución de un programa, el dump es mostrado automáticamente en exclusiva al usuario cuyo proceso de diálogo ha sido cancelado. En ese momento el usuario podrá leer ese log, pero si se sale de la pantalla del log del dump, éste ya no se vuelve a mostrar en pantalla. Para acceder de nuevo a él, deberemos acudir a la transacción donde se puede gestionar todos los dumps producidos en el sistema.
Accediendo a los dumps del sistema
La transacción de los dumps es ST22; accediendo por el menú desplegable será Herramientas/Gestión/Monitor/Análisis de Dumps.
Por defecto sólo se muestran los dumps producidos a fecha de hoy y el día anterior. Si deseamos acceder a un dump más antiguo deberemos pulsar la opción Pasar a/Sel. Dump breve. A continuación nos aparecerá una pantalla de selección donde podremos filtrar por fecha, usuario, máquina, mandante.
Interpretando los dumps
Tanto si visualizamos los dumps producidos a fecha actual, como del día anterior o alguna fecha más antigua, éstos aparecerán en forma de lista. Esta lista está formada por los siguientes campos:
Fecha del dump
Hora del dump
Servidor de aplicaciones donde se ha producido
Usuario que ha provocado el dump
Breve descripción del dump
Haciendo doble clic en cada uno de ellos accederemos al log del Gump donde tendremos toda la información. El contenido de todos los dumps están organizados en las siguientes secciones:
1. ¿Qué sucedió? .
Sección donde se explica brevemente el error.
2. ¿Qué se puede hacer? .
Sección que explica brevemente las acciones a llevar a cabo.
3. Análisis error .
Sección donde se explica más detalladamente el error. Es una extensión de la sección 1.
4. Notas para corregir errores .
Sección donde se explica más detalladamente las acciones a llevar a cabo. Es una extensión de la sección 2.
5. Entorno sistema .
Sección donde aparecen las variables del sistema más importantes, tales como la versión de SAP, nombre del servidor, dirección IP, sistema operativo, RDBMS, versión del kernel, etc. . .
6. Usuario, transacción.
Sección donde aparece el usuario que ha generado el dump, programa que se estaba ejecutando, transacción, idioma, etc. . .
7. Informaciones lugar terminación .
Sección donde se especifica la linea del programa donde se ha producido el error.
8. Detalle código fuente .
Sección que muestra un intervalo del código fuente donde se ha producido el error. La línea donde se ha producido el error aparece marcada con una flecha.
9. Contenido campos sistema.
Sección donde se muestran los valores que tenían algunas variables del sistema cuando se produjo el error.
10. Variables seleccionadas .
Sección donde se detalla más exhaustivamente el contenido de más variables cuando se produjo el error .
11. Llamadas / Eventos activos.
Sección que detalla el evento o la llamada a la que pertenece la línea de código que ha producido el error .
12. Notas internas .
Sección que detalla la función C –perteneciente al kernel de SAP– donde se ha producido el error .
13. Llamadas activas kernel SAP .
Sección que detalla los elementos del kernel y su posición que estaban activos en el momento del error .
14. Lista programas ABAP involucrados .
Sección que muestra los programas involucrados en la ejecución del programa que produjo el error .
15. Lista tablas internas .
Sección que detalla el conjunto de tablas internas que se estaban procesando en el momento del error y el contenido de su cabecera cuando el error se produjo.
16. Directorio tablas aplicación (contenidos) .
Sección que detalla las tablas de aplicación que han sido usadas durante la ejecución del programa que ha terminado en error.
17. Directorio ámbitos datos (info gestión) .
Sección que detalla el conjunto de objetos del workbench ( variables, parámetros, tablas) involucradas en la ejecución del programa.
18. Directorio ámbitos datos (contenidos).
Sección de contenido parecido a la anterior .
19. ABAP/4 Bloques control CONT .
Sección con información complementaria a la de la sección 8 .
20. Fin análisis error tiempo ejecución .
Sección que marca el fin del log del dump. Si bien el título de cada sección aparece en el idioma de conexión, el contenido sólo se encuentra disponible en inglés y en alemán. Si nos
conectamos al sistema en un idioma distinto del inglés y alemán, el Gump será visualizado en el idioma configurado como de suplementación, que en general será el inglés, sino se ha definido suplementación de idioma (esto pertenece a la instalación de lenguajes) se visualizará en el idioma original de SAP, que es el alemán. Las secciones más importantes y que más nos pueden ayudar para solucionar el error son la 1,3,7 y 8.