✒️SAP BASIS El proceso de update
SAP BASIS El proceso de update
En SAP se realizan procesos utilizando transacciones y estas pueden ejecutar varios cambios de pantalla.
Ejemplo: Al crear un pedido se pueden visualizar varias pantallas donde se deberá concluir la ejecución para que los datos se vean reflejados o si no, no serán modificados en la base de datos (concepto Atómico).
En resumen; si la operación finaliza durante la ejecución ya sea por la desconexión del SAP GUI del usuario u ocurre un error, no deberá realizarse cambios en la base de datos. Esta acción la realiza el sistema de actualización SAP (SAP Update System).
1.- El sistema de actualización
El sistema de actualización permite a las transacciones en SAP quitar carga de trabajo en los cambios a nivel de base de datos. Estos cambios se realizan de forma asincrónica en un proceso denominado Update Worl Process.
Los D-WP pasan los datos que van a escribirse en la base de datos al proceso de actualización. Este proceso no espera a que se complete la actualización para continuar, esto es asincrónica.
- El D-WP se completa con el comando ABAP COMMIT WORK aquí comienza la actualización.
- El MS transfiere esta solicitud a un proceso de actualización, en este punto cada paso de diálogo corresponde a una transacción de la DB y se realiza completamente o no con el comando COMMIT.
- La parte de actualización de transacción SAP se ejecuta en una única transacción de DB. En este momento es cuando los datos se copian a las tablas de la aplicación.
Si un usuario quiere cambiar los datos en una transacción SAP, llama a la transacción correspondiente, realiza las entradas o modificaciones en las pantallas y luego inicia de nuevo el proceso de actualización cuando guarda los datos.
2.- El proceso de actualización asincrónica
- Por medio del E-WP con utilización del MS; el programa bloquea los registros de la aplicación para otros usuarios. Este E-WP realizara las entradas correspondientes en la tabla de bloqueo.
Si se encuentran bloqueados por otro usuario este informara al usuario que no pueden modificarse en ese momento.
- El E-WP enviara la clave de bloqueo (lock key) al usuario. El programa leerá los registros que serán modificados desde la DB y el usuario realizara las modificaciones correspondientes.
- En el proceso de diálogo activo, el programa llama a un módulo de función utilizando la sentencia CALL FUNCTION … IN UPDATE TASK y escribe los cambios realizados en las tablas de actualización de la DB conocidas como VB*, ya que sus nombres comienzan con las letras “VB”.
Actúan como memoria temporal y guardan los datos que serán modificados hasta que puedan ingresar en las tablas de aplicación de la base de datos en una sola transacción de base de datos.
- En la parte final 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 diálogo que en este punto maneja el proceso, ejecuta el proceso de actualización.
- Referente a la información que recibe el proceso para actualizar, el proceso de actualización lee las tablas “VB” para identificar los datos que perteneces a esta transacción SAP ya que puede haber más registros en la tabla VB* al mismo tiempo de otras transacciones SAP.
- El proceso de actualización transfiere los cambios marcados 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 se realizan, el proceso confirma los cambios con un comando de base de datos commit luego del ultimo cambio en la base de datos y borra las entradas de las tablas VB*
Si ocurre un error, el proceso de actualización ejecuta un ROLLBACK en la base de datos y deja la información en las tablas VB* marcándolas como defectuosas.
- Al finalizar las entradas en la tabla de bloqueo son eliminadas.
En un proceso de actualización asíncrona tiene más prioridad que la de diálogo y puede ejecutarse como proceso independiente.
En el diálogo se crea un registro LOG con los datos a modificar y el nombre del programa de actualización.
Este programa de actualización asíncrona toma de las tablas del LOG los datos a actualizar, el programa debe iniciarse por el programa de diálogo.
Si ocurre un error en la actualización, la tabla de LOG queda igual y daría un estatus de error, desde la transacción SM13 podemos monitorearlo.
Transacción SM13: Permite visualizar si existen actualizaciones pendientes en el sistema SAP y el estado. Las que están marcadas como erróneas no deben reprocesarse por el administrados sino por el usuario utilizando la transacción para tal fin.
 
 
 
Sobre el autor
Publicación académica de Sayil Emanuel López Valencia, en su ámbito de estudios para la Carrera Consultor Basis NetWeaver.
Sayil Emanuel López Valencia
Profesión: Sistemas Computacionales - Mexico - Legajo: WA24Q
✒️Autor de: 45 Publicaciones Académicas
🎓Egresado de los módulos:
- Carrera Consultor en SAP Fiori
- Carrera Consultor Basis NetWeaver Nivel Avanzado
- Carrera Consultor Basis NetWeaver Nivel Inicial