Cuando requerimos mantener un control o dar seguimiento a algún procedimiento en específico en el momento de ingresar, modificar o eliminar algún procedimiento dentro de la base de datos por medio de un formulario contamos con la macro sc_begin_trans.
La macro sc_begin_trans se encarga de llevar a cabo un procedimiento de control de transacciones dentro del ScriptCase, pero también se puede complementar con las macros sc_commit_trans y sc_rollback_trans.
Ahora bien, la macro sc_commit_trans se encarga de que una vez que se haya realizado el proceso de control,puede ser por medio de una condición, confirma la transacción, es decir, si se cumplen todas las condiciones propuestas confirma la transacción, puede ser el de insertar, modificar o eliminar un registro.
En caso contrario se encuentra la macro sc_rollback_trans que se encarga de cancelar las transacciones dadas por el usuario, por ejemplo, al querer ingresar, modificar o eliminar un registro, este se encarga de cancelar u omitir el procedimiento.
Entonces, en el siguiente ejemplo se encarga de realizar un control a la horade registrar:
1. Dentro del evento onAfterInsert se realiza un control luego de ingresar:
2. Al ejecutar ingresamos un código distinto a 85:
Según la condición, si el código ingresado es distinto a 85, entonces confirma la transacción con la macro sc_commit_trans.
3. En caso contrario, que ingresamos un registro con el código 85:
Según la condición, si el código ingresado es igual a 85, entonces cancela la transacción con la macro sc_rollback_trans.
4. Luego dentro de nuestro administrador de base de datos se puede visualizar que no se cargó el registro con el código 85, eso es gracias a la macro sc_rollback_trans: