Por qué ABAP necesita ESTABLECER ACTUALIZAR TAREA LOCAL

Y qué hacer si, después de llamar al BAPI estándar, la sentencia COMMIT WORK AND WAIT no espera la ejecución de todos los módulos de actualización V1.



Problema de sincronización del actualizador



El Sistema SAP R / 3 utiliza módulos de actualización para almacenar transaccionalmente datos adicionales relacionados con los datos maestros. Puede leer más sobre esto, por ejemplo, aquí .



Para la coherencia de los datos, después de guardar, debe esperar la ejecución de los módulos de tipo V1. En general, esto se logra ejecutando el comando COMMIT WORK AND WAIT.

Algunos módulos de funciones estándar de BAPI llaman COMMIT WORK en el texto . Después de realizar dicha FM, no podrá asegurarse de que el proceso de guardado se complete con comandos simples. Para resolver este problema, algunos programadores escriben algunas consultas complicadas en la tabla VB o esperan n segundos irrazonables. Todo es mucho más sencillo.



SET UPDATE TASK LOCAL viene al rescate



En resumen, lanza el modo de ejecución local para los módulos de actualización V1. El modo se activa para los módulos de actualización V1 registrados desde el momento en que se llamó al operador hasta el final del DB actual de la LUW. Además, los módulos V1:



  • guardado en la memoria ABAP, no en la tabla de actualización de VB;
  • se ejecutan en el proceso actual, no en paralelo;
  • sincronizado por la sentencia COMMIT WORK.


Es decir, cuando se llama a COMMIT WORK, el programa esperará hasta que se ejecuten los módulos de actualización V1 registrados localmente. La diferencia se muestra en la figura:







Total SET UPDATE TASK LOCAL es útil si no puede controlar la instrucción COMMIT WORK y desea esperar a que se completen todos los módulos V1 para que se complete un proceso.



All Articles