✒️SAP Los servicios de actualización
SAP Los servicios de actualización
EL SERVICIO DE ACTUALIZACIÓN DE SAP
El servicio de actualización de SAP es especialmente importante ya que es el encargado de gestionar las modificaciones solicitadas por los usuarios en la base de datos. Dichas actualizaciones se pueden generar a través de procesos de trabajo (también Work Process: son los encargados de atender las solicitudes de los usuarios que utilizan el sistema o del propio sistema).
El servidor SAP recibe miles de solicitudes de los usuarios continuamente, varias solicitudes incluso por cada pantalla de cada transacción en la que el usuario navega, por lo que es imposible procesarlas todas al mismo tiempo. Para ello, SAP utiliza un sub-sistema de despacho conocido como dispatcher de modo de realizar el procesamiento de las solicitudes e ir asignando las mismas a los procesos de trabajo.
Existen 7 tipos de procesos de trabajo:
- D - Diálogo: se utilizan para cumplir todas las solicitudes de ejecución de pasos de diálogo activados por un usuario activo o ejecutar un programa de diálogo.
- V - Update: ejecutan solicitudes de actualización o cambios de base de datos asincrónicos que son controlados por una declaración COMMIT WORK en un proceso de trabajo de diálogo.
- E - Enqueue: administran la tabla de bloqueo en la memoria compartida o, si las transacciones de SAP tienen que sincronizarse, ejecuta las operaciones de bloqueo.
- B - Bacckground: ejecutan aquellos programas que se ejecutan sin la interacción del usuario o ejecutan trabajos en segundo plano dependientes del tiempo o controlados por eventos.
- M - Message: son los responsables de enrutar los mensajes entre los servidores de aplicaciones SAP.
- G - Gateway: son los responsables de la transferencia de mensajes entre sistemas SAP.
- S - Spool: pasan flujos de datos secuenciales a impresoras o formato de impresión a impresora, archivo o base de datos.
A través de la transacción estándar SM50 podemos visualizar los procesos de trabajo que se están ejecutando en este momento en el servidor. De cada proceso de trabajo visualizamos distinta información, la más relevante es: el tipo de proceso de trabajo, el status, el programa que se ejecuta, el mandante, el usuario de SAP, la acción y la tabla base de datos que modifica.
LA ACTUALIZACIÓN ASINCRÓNICA Y SINCRÓNICA
La actualización en la base de datos de un sistema SAP puede ser de dos tipos:
- Asincrónica: mayoritariamente la actualización en la base de datos de SAP es asincrónica, es decir, el sistema gestiona el requerimiento de actualización del usuario en un proceso aparte del proceso de diálogo del usuario.
El efecto de este tipo de actualizaciones es que el usuario se desentiende totalmente del proceso de actualización, ya que no debe esperar a que el sistema acceda a actualizar a la base de datos para poder seguir trabajando. Esto se traduce en una mejora del rendimiento; el proceso de diálogo del usuario no espera a que se terminen las actualizaciones para seguir procesando las peticiones de ese usuario.
- Sincrónica: aunque es menos frecuente, también se produce en el sistema SAP y se diferencia de la asincrónica en que la petición de actualización en la base de datos se genera en el mismo proceso de trabajo que gestiona el resto de peticiones del usuario.
De esta forma el proceso de diálogo o batch debe esperar a que se realicen las actualizaciones en la base de datos antes de seguir procesando el resto de las peticiones del usuario, por lo que el rendimiento será peor que en el caso de la actualización asincrónica.
Los usuarios no pueden elegir si los cambios en la base de datos se realizan de forma sincrónica o asincrónica, ya que esto depende de la programación de la aplicación en curso. Si se trata de actualizaciones dentro de alguna aplicación hecha a medida será tarea del analista de la aplicación decidir qué tipo de actualización realizar.
LOS PROCESOS DE ACTUALIZACIÓN V1 Y V2
La actualización asincrónica presenta además una ventaja adicional: implemente las LUW (consisten en bloques auto consistentes de datos, de tal forma que su actualización en la base de datos es llevada a cabo completamente).
Si surgiera algún problema en la base de datos, la grabación de cada LUW no se realizaría, de esta manera se evitan las inconsistencias que pudieran surgir al grabar una LUW a medias.
La actualización asincrónica consiste de 2 tipos de actualización; V1 y V2.
El sistema SAP distingue entre componentes de actualización crítica primaria (V1) y secundaria no crítica (V2). La diferenciación entre estos dos tipos de actualización permite que el sistema procese los cambios críticos en la base de datos por delante de los cambios menos críticos, asignándoles diferentes LUW; esto es necesario ya que las componentes V1 deben ser realizadas cuanto antes.
Para asegurar la consistencia de datos, las actualizaciones V1 se procesan con la supervisión del gestor de bloqueos de SAP que impide que varias modificaciones sobre el mismo objeto se realicen concurrentemente.
LA MONITORIZACIÓN DEL ESTADO DE LAS ACTUALIZACIONES DEL SISTEMA
El sistema SAP dispone de una herramienta para la activación y desactivación genérica de los servicios de actualización, así como para la monitorización de las actualizaciones en curso y de las posibles actualizaciones interrumpidas que puedan haber ocurrido.
Ante un problema grave en la base de datos SAP reacciona desactivando la actualización, con lo cual todas las modificaciones a realizar en la base de datos quedan en un estado de espera hasta que la actualización vuelva a estar activa. Esta desactivación automática tiene lugar en pos de preservar la integridad de la base de datos y su ejecución queda registrada en el log del sistema.
Será tarea de los administradores del sistema SAP, es decir los SAP BASIS, el subsanar el error que produjo la desactivación de la actualización del sistema y su posterior activación.
La actualización es activada automáticamente cada vez que el sistema SAP es arrancado en el servidor, por lo que sólo se deberá monitorizar su posible desactivación.
La transacción desde donde podremos gestionar centralmente la actualización es la SM13 (se utiliza para el control de las actualizaciones en el sistema SAP). En ella, básicamente, se nos muestra si la actualización del sistema está activa o ha sido desactivada por alguna causa. Si la actualización ha sido desactivada, el botón info nos proporciona qué proceso y usuario han causado su desactivación.
LOS OBJETOS DE BLOQUEO
SAP dispone de un sistema de gestión de bloqueo de objetos para evitar la modificación concurrente de un objeto (por ejemplo un documento contable, una solicitud de compra o una entrada a una base de datos). Con ello se asegura la consistencia de los objetos en SAP.
Cuando un usuario accede a modificar un objeto, el sistema genera un registro de bloqueo con la información necesaria. Si un segundo usuario intenta modificar el mismo objeto mientras el primero lo tiene bloqueado, el sistema le muestra al segundo usuario un mensaje de error indicándole que un usuario ya está tratando el objeto solicitado.
Los bloqueos se establecen al iniciar las transacciones de modificación y no son liberados hasta que el usuario pulsa grabar, la información es actualizada en la base de datos y la transacción es finalizada.
Toda modificación de un objeto desde cualquier aplicación estándar dentro de SAP genera entradas de bloqueo.
Será tarea del departamento de desarrollo asegurar que las nuevas aplicaciones hechas a medida dentro de SAP, generen tales bloqueos cuando desde estas nuevas aplicaciones se acceda a modificar algún objeto.
El resto son campos de selección para monitorizar las actualizaciones que han tenido lugar y han fallado o las que están en curso.
La transacción que nos muestra los bloqueos actualmente activos en el sistema es la SM12 (transacción estándar para visualizar y remover los bloqueos en el sistema SAP).
En la pantalla inicial de la transacción disponemos de unos parámetros de selección para filtrar los bloqueos actualmente activos. Estos parámetros son:
- Tabla
- Argumento de bloqueo
- Mandante
- Usuario
En general no conoceremos el argumento de bloqueo, ya que esa información depende del objeto que se esté modificando. Es más común conocer la tabla o el usuario que está produciendo un bloqueo.
Una vez rellenos los parámetros de selección con los valores deseados, pulsamos enter y nos aparecerá un listado con las entradas de bloqueo que cumplen con la selección realizada.
 
 
 
Agradecimiento:
Ha agradecido este aporte: Angie Loaiza Rubio
Sobre el autor
Publicación académica de Romina Hergesheimer Elias, en su ámbito de estudios para el Carrera Consultor Basis NetWeaver.
Romina Hergesheimer Elias
Profesión: Ingeniera Química - Argentina - Legajo: KO26R
✒️Autor de: 48 Publicaciones Académicas
🎓Egresado del módulo:
Disponibilidad Laboral: FullTime
Certificación Académica de Romina Hergesheimer