![](/cvo_files/imgs_sap_abap/logos/logo_cvo_academy_it.png)
✒️SAP BASIS El proceso de update
SAP BASIS El proceso de update
![SAP BASIS El proceso de update SAP BASIS El proceso de update](https://www.cvosoft.com/cvo_files/imgs_sap_abap/og-images/347.jpg)
Proceso de Update (Sistema de actualización asincrónico de SAP)
En el sistema SAP, un proceso de negocio es mapeado utilizando una transacción que puede contener varios cambios de pantalla. por ejemplo, la creación de una orden de compra.
Los cambios en los datos efectuados en este proceso se suponen que serán ejecutados completamente o no serán modificados en absoluto en la base de datos (concepto Atómico del sistema transaccional)
Si la orden es finalizada durante la ejecución o un error ocurre, entonces ningún cambio en la base de datos debe efectuarse. El sistema de Actualización de SAP (SAP Update System), es quien se encarga de esto.
*Sistema de Actualización*
Es una tecnología que permite a las transacciones de SAP quitar carga de trabajo intensa en los cambios de nivel de la base de datos. Dichos cambios se realizan luego de manera asincrónica en un proceso especial denominado "Update Work Process (Proceso de actualización).
Los procesos de diálogo pasan los datos que van a escribirse en la base de datos al proceso de actualización. El proceso de diálogo no espera que la actualización se complete para continuar, por eso es que la actualización es asincrónica, no en simultaneo.
La tarea del proceso de diálogo se completa con el comando ABAP COMMIT WORK; la parte de la actualización de la transacción comienza aquí: el message server transfiere la solicitud de actualización a un proceso de actualización. Aquí cada paso de diálogo corresponde a una transacción de base de datos, la cual se realiza completamente o no con un comando COMMIT.
La parte de actualización de transacción SAP es ejecutada en una única transacción de base de datos. Es en ese momento cuando los datos se copian a las tablas de la app. Si un usuario requiere cambiar datos en una transacción SAP, llama a la transacción correspondiente en diálogo, realiza las entradas o modificaciones en las pantallas y luego inicia el proceso de Update (actualización) cuando guarda los datos.
** Proceso de actualización asincrónica
Pasos al realizar una modificación de datos en una transacción SAP:
- El programa bloquea los registros de datos de la app. para todos los usuarios. Esto se logra a traves del enqueue work process (utilizando el message server si fuese apropiado)
El enqueue work process realiza las entradas correspondientes en la tabla de bloqueo si es que ya no estan bloqueados los datos por otro usuario, en ese caso informará al usuario que los datos no pueden modificarse en este momento.
- Si el enqueue work process puede realizar el bloqueo en la tabla de bloqueo, envía la clave de bloqueo (Lock key) al usuario. El programa lee el o los registros que serán modificados desde la base de datos y el usuario realiza las modificaciones en la pantalla de la transacción SAP.
- En el proceso de diálogo active, el programa llama a un módulo de función ABAP usando la sentencia CALL FUNTION... INUPDATE TASK y escribe los cambios realizados por el usuario a las tablas de actualización de la base de datos. Estas tablas se conocen como las tablas VB* porque sus nombres comienzan con las letras "VB". Actúan como memoria temporaria y guardan los datos que serán modificados hasta que puedan ser guardados en las tablas de la app en la base de datos en una única transacción.
- El proceso de actualización transfiere los cambios marcados y obtenidos de las tablas VB* a la base de datos con una sentencia única de actualización en las tablas de la app y evalúa la respuesta de la base. Si los cambios son realizados, el proceso de actualización confirma los cambios con el comando de base de datos commit luego del último cambio en la base de datos y borra las entradas de las tablas VB* Si un error ocurre, el proceso de actualización dispara un Rollback en la base de datos y deja la información en las tablas VB* marcándola como defectuosa.
- Las entradas en la tabla de bloqueo son eliminadas.
- En el final de la parte de diálogo de la transacción, por ejemplo, cuando el usuario guarda los datos (luego de completar pasos de diálogo), el programa inicia la finalización de la transacción con la sentencia ABAP COMMIT WORK. El proceso de diálogo que hasta acá manejo el paso de diálogo dispara ahora el proceso de actualización.
- Con base a la información que recibe del proceso de diálogo (Datos para actualizar, clave de bloqueo) el proceso de actualización lee las tablas VB* para identificar los datos que pertenecen a esta transacción SAP ya que pueden haber más registros en la tabla VB* al mismo tiempo de otras transacciones SAP.
**Transacción SM13**
La transacción SM13 nos permite visualizar si existen actualizaciones pendientes en el sistema SAP y cuál es su estado. Aquellas que estén marcadas como erróneas no deben reprocesarse por el administrador sino por el mismo usuario utilizando la transacción para tal fin.
 
 
 
Sobre el autor
Publicación académica de Eduardo Méndez Ramírez, en su ámbito de estudios para la Carrera Consultor Basis NetWeaver.
Eduardo Méndez Ramírez
Profesión: Biólogo Titulado - Mexico - Legajo: HZ31V
✒️Autor de: 59 Publicaciones Académicas
🎓Cursando Actualmente: Consultor en SAP BASIS Nivel Avanzado
🎓Egresado del módulo:
Presentación:
Buen día, soy el biólogo eduardo méndez ramírez, especialista en el área ambiental, con conocimoentos de sistemas y equipos de computo, es mi pasión aprender y laborar de manera proactiva y eficiente
Certificación Académica de Eduardo Méndez