✒️SAP BASIS El proceso de update
SAP BASIS El proceso de update
Proceso de Update
En el sistema SAP, un proceso de negocio es mapeado utilizando una transacciòn que puede contener varios cambio de pantalla, por ejemplo la creaciòn de una orden de compra.
Los cambios en los datos efectuados en este proceso se suponen que se seràn ejecutados completamente o no seràn modificados en absoluto en la BD (Cocepto Atomico del sistema Transaccional).
Si la operaciòn es finalizada durante la ejecuciòn o un error ocurre entonces ningun cambio en la base de datos debe efectuarse. El sistema de Actualizaciòn de SAP (SAP update system) es una tecnologìa que permite las transacciones de SAP quitar carga de trabajo intensa en los cambios a nivel de base de datos. Estos cambios se realizan luego de manera asincrona en un proceso ,llamado update work process.
Los Procesos de dialogo pasan los datos que van a escribirse en la base de datos al proceso de actualizaciòn. El Proceso de dialogo no espera que la actualizaciòn se complete para continuar, por esto es que la actualizaciòn es asincrona.
La tarea de proceso de dialogo se completa con el comando ABAP COMMIT WORK, la parte de la actualizaciòn comienza con el Message Server, que transfiere la solicitud de actualizaciòn a un proceso de actualizaciòn. Aqui cada paso de dialogo corresponde a una transacciòn de BD, la cual se realiza completamente o no con un comando COMMIT,
En este momento 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 incicia el proceso de actualizaciòn cuanddo guarda los datos.
2. Proceso de Actualizaciòn Asincronica
Veamos los pasos 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 (utilizando el message server si fuese apropiado).
El enqueue work processs realiza entradas correspondientes en la tabla de bloqueo,si es que ya no estàn bloqueados por otro usuario, en este caso informarà al usuario que los datos no pueden modificarse en este momento.
-Si el enqueue work process puede realizarse el bloqueo en la tabla de bloqueo, envia la clave de bloqueo (lock key) al usuario. El programa lee el o los registros que seran modificados desde la base de datos y el usuario realiza las modificaciones en la pantalla de la transaccion SAP.
-En el proceso de dialogo active, el programa llama a un modulo 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 BD. Esas tablas se conocen como las tablas VB* porque sus nombres comienzan con letras "VB", Actuan como memoria temporaria y guardan los datos que seràn modificados hasta que puedan ser guardados en las tablas de aplicaciòn en la BD en una unica transaccion de BD.
-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 sentencia ABAP COMMIT WORK. El Proceso de dialogo que hasta aca manejo el paso de dialogo dispara ahora el proceso de actualizaciòn.
-En la base a la informaciòn que recibe el 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 esta transacciòn SAP ya que pueden haber mas registros en la tabla VB* al mismo tiempo de otras transacciones SAP.
-El proceso de actualizaciòn transfiere lo cambios marcados y obtenidos de las tablas VB* a la Base de datos con una sentencia unica de actualizaciòn en las tablas de aplicaciòn y evalua la respuesta a 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 ultimo 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* marcandola como defectuosa.
-Por ultimo, las entradas en la tabla de bloqueo son eliminadas.
Transacciòn SM13 nos permite visualizar si existen pendientes en el sistema ABAP y cual es su estado. Aquellas que estàn marcadas como erroneas no deben reprocesarse por el admininstrador sino por el mismo usuario utilizando la transaccion para tal fin.
 
 
 
Sobre el autor
Publicación académica de Edwin Vargas Guzman, en su ámbito de estudios para la Carrera Consultor Basis NetWeaver.
Edwin Vargas Guzman
Profesión: Ingeniero Electronico - Colombia - Legajo: XS14Z
✒️Autor de: 52 Publicaciones Académicas
🎓Egresado del módulo:
Certificación Académica de Edwin Vargas