✒️SAP BASIS El proceso de update
SAP BASIS El proceso de update
PROCESO DE UPDATE
Si la operación finalizada durante la ejecución o un error ocurren, 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.
EL SISTEMA DE ACTUALIZACION
El sistema de actualización es una tecnología que permite a las transacciones de SAP quitar carga de trabajo intensa en los cambios a nivel de la base de datos. Estos cambios se realizan de manera asincrónica en un proceso especial denominado update work process (proceso de actualización)
Los procesos de dialogo pasan los datos que van a escribirse en la base de datos al proceso de actualización.
El procesos de dialogo no espera que la actualización se complete para continuar (por esto la sincronización es asíncrono, no en simultaneo.
La tarea del proceso de dialogo se completa con el comando ABAP COMMIT WORK
La parte de la actualización de la transacción comienza aquí:
Cada paso de dialogo 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 la transacción SAP es ejecutada en una única transacción de base de datos.
En ese momento es cuando los datos se copian a las tablas de aplicación.
Si un usuario quiere cambiar datos en una transacción SAP, llama a la transacción correspondiente en dialogo, realiza las entradas o modificaciones en las pantallas y luego inicia el proceso de actualización cuando guarda los datos.
PROCESO DE ACTUALIZACION ASINCRONICA
Que pasos suceden cuando se realiza una modificación de datos en una transacción SAP:
· El programa bloquea los registros de datos de la aplicación para otros usuarios. Esto se logra a través del enqueue work process (utilizanod el message server si fuese apropiado).
· El enqueue work process realizara las entradas correspondientes en la tabla de bloqueo, si es que ya no están bloqueados los datos por otro usuario, es el caso, el sistema informa al usuario que no puede modificar en ese momento.
· SI el enqueue work process puede realizar el bloqueo en la tabla, 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 dialogo active, el programa llama a un módulo de función ABAP usando la sentencia CALL FUNCTION …. IN UPDATE 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 de memoria temporal y guardan los datos que serán modificados hasta que puedan ser guardados en las tablas de la aplicación en la base de datos en una única transacción de base de datos.
· En el final de la parte de dialogo de la transacción, por ejemplo cuando el usuario guarda los datos, el programa inicia la finalización de la transacción con la sentencia ABAP COMMIT WORK. El proceso de dialogo que hasta ahora manejo el paso de dialogo dispara ahora el proceso de actualización.
· En base a la información que recibe del proceso de dialogo (datos para actualizar, clave de bloqueo) el proceso de actualización lee las tablas VB* para identificar los datos que pertenecen a esa transacción SAP ya que pueden haber más registros en la tabla VB* al mismo tiempo de otras transacciones SAP
· 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 aplicación 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.
· Por último, las entradas en la tabla de bloqueo son eliminadas.
La tarea de actualización asíncrono, tiene más prioridad que la de dialogo y puede ser ejecutada como proceso independiente. En el dialogo se crea un registro LOG con los datos a modificar y el nombre del programa de actualización. El programa de actualización asíncrona toma del log los datos a actualizar. EL programa de actualización deberá ser iniciado por el programa de dialogo, si se produce un error en la actualización la tabla de log quedaría igual y dejaría un estatus de error, eso lo podemos ver con la transacción SM13.
Transacción SM13: permite visualizar si existen actualizaciones pendientes en el sistema SAP y cuál es su estado. Aquellas que están marcada como erróneas no debe reprocesarse por el administrador sino por el mismo usuario utilizando la transacción para tal fin.
TRANSACCION SM13
 
 
 
Sobre el autor
Publicación académica de Josep Antoni Lopez Moyano, en su ámbito de estudios para la Carrera Consultor Basis NetWeaver.
Josep Antoni Lopez Moyano
Profesión: It Manager - España - Legajo: QP26P
✒️Autor de: 375 Publicaciones Académicas
🎓Egresado de los módulos:
- Carrera Consultor en SAP HCM Nivel Inicial
- Carrera Consultor Basis NetWeaver Nivel Avanzado
- Carrera Consultor Basis NetWeaver Nivel Inicial
- Máster Funcional ABAP
- Máster ABAP Orientado a Objetos
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial