DEFINICION DE TRANSACCIONES Y UNIDADES DE TRABAJO LÓGICO
TRANSACCIÓN: Es una secuencia de acciones que lógicamente están relacionadas en sentido de negocio y mediante las cuales de obtienen o procesan datos.
Los datos deben asegurarse que estén completos y correctos dentro de esta unidad. En el medio de una transacción los datos usualmente son inconsistentes.
El sistema SAP, así como las bases de datos, son sistemas transaccionales.
Transacciones en SAP:
- Son unidades de procesamiento, que funcionalmente son un conjunto unido e indivisible.
- Tienen cuatro características principales que por sus siglas en inglés forman el acrónimo ACID.
- El concepto ACID no es exclusivo de SAP pero es un requisito general para los sistemas transaccionales.
Principio ACID:
- Atomic (atómico): la transacción es completamente exitosa o no tiene ningún efecto. Si un sistema transaccional, como SAP, se apaga, este se asegura que los resultados parciales inconsistentes no son guardados en el sistema.
- Consistent (consistente): Los cambios de estado en el sistema van desde uno que es correcto y consistente en términos del negocio a otro que también lo es.
- Isolated (Aislado): Los cambios realizados por la transacción solo pueden ser visto por otra transacción solo después de la confirmación final (commint) de la primera. Aun cuando estén corriendo simultáneamente.
- Durable (Duradero): Los resultados son duraderos porque después de la confirmación final los cambios son guardados de forma permanente en la base de datos.
LUW UNIDAD LOGICA DE TRABAJO DE LA BASE DE DATOS
LUW (Logic Unit of Work): Es el mecanismo que utiliza una base de datos para asegurar la consistencia de los datos, además asegura que se cumpla el concepto del principio ACID.
Las LUW de base de datos están delimitadas por el comando de confirmación database commint. Durante una LUW de base de datos, el sistema asegura que los datos sean consistentes en la base. Si existir un error el sistema realiza un rollback para restaurar los datos al estado previo.
Una SAP LUW es una unidad lógica que consiste de varios pasos de dialogo y es consistente en términos de negocio.
Un Work process puede ejecutar solo una LUW de base de datos por cada paso de dialogo.
Los cambios realizados por la LUW de base de datos no pueden hacer rollback impidiendo que una SAP LUW pueda cumplir con el principio ACID. Para que la SAP LUW pueda cumplir con el principio ACID, los cambios realizados a la base de dato se realizan en una única LUW de base de datos mediante técnicas de agrupamiento de LUW de base de datos.
Una SAP LUW implica solo un commit en la última base de datos LUW.
¿Qué pasa si se cae el sistema, que pasa con la consistencia de datos, debemos realizar algún control cuando esto pasa?
Si, debemos hacer controles en los procesos de background, verificar con los consultores que todo esté bien, y verificar los programas Z, porque al ser programas externos podrían cometer errores, pero de lo que si se puede estar seguro es que los datos de la base de datos son consistentes.