Transacciones (comandos)
Conjunto de comandos del grupo Básicos.
Cambiar porcentaje realizado del proceso
Comando de instrucción del grupo transacciones que permite pasar el dato del porcentaje realizado del proceso a una barra de progreso.
Origen de la instrucción: cualquiera.
Destino del subproceso: ninguno.
Parámetros
Fórmula de porcentaje que realiza del proceso
Expresión de tipo fórmula que resuelva el valor del porcentaje realizado del proceso. Dicho valor deberá estar comprendido entre 0 y 100.
Funcionalidad
Permite pasar el dato del porcentaje realizado del proceso a una barra de proceso.
En procesos ejecutados en primer plano, se generará una barra de progreso en la barra de estado de Velneo vClient
En procesos ejecutados en 2º plano (multitarea), pasará el dato a la barra de progreso del panel de procesos en 2º plano.
En procesos ejecutados en 4º plano, se alimentará la barra de tareas que se presenta junto al proceso en el panel de procesos asíncronos.
Comentarios
Este comando habitualmente será usado dentro de un bucle For. En procesos que procesen listas, una forma de calcular el porcentaje realizado del proceso será conociendo el número total de ítems a procesar o iteraciones del bucle y el número de elementos procesados o iteraciones realizadas. La fórmula sería:
round( 100 * elementos_procesados / total_elementos, 0 )
Con el comando cambiar título de la transacción podremos cambiar el texto que se presente junto a la barra de progreso, sustituyendo al nombre del proceso.
Este comando no debemos usarlo en un manejador de evento disparado desde otro con el comando de instrucción de proceso Interfaz: ejecutar manejador de evento ya que no actualizará la barra de progreso. El motivo es que el funcionamiento de los manejadores de evento es un poco especial, ya que paralizan la ejecución de subsiguientes refrescos, con lo que sólo el manejador principal es capaz de hacer ese refresco del progreso.
Ejemplo
Modificamos el campo FCH (Fecha) de todos los registros de la tabla informando del registro modificado cambiando el título de la transacción y cambiando el porcentaje realizado en cada momento.
Cambiar título de la transacción
Comando de instrucción del grupo transacciones.
Origen de la instrucción: cualquiera.
Destino del subproceso: ninguno.
Parámetros
Fórmula de texto
Expresión de tipo fórmula que resuelva el título de la transacción.
Funcionalidad
Este comando de instrucción permite cambiar el título de la transacción a lo largo de la ejecución de un proceso transaccional.
Cuando ejecutamos un proceso transaccional, en Velneo vAdmin, por defecto se muestra el valor que le hayamos dado a la propiedad nombre del proceso o función transaccional. Por lo tanto, si desde el propio proceso queremos cambiar el título de la transacción, tendremos que hacerlo antes de ejecutar los comandos que realicen operaciones de escritura en disco ya que, cuando comienza el primer comando que implica escritura en disco es cuando se inicia la transacción, momento en el cual se envía el título al vServer, por lo tanto, si el comando lo usamos después, no se modificará el título de la transacción en Velneo vAdmin.
Comentarios
Para la especificación de su parámetro podemos hacer uso del asistente para edición de fórmulas.
Si usamos este comando dentro de un bucle generado por un comando Recorrer lista lectura/escritura, por ejemplo, podremos usar en la fórmula del título el campo ID o el campo NAME del registro en curso.
Este comando suele usarse en combinación con el comando cambiar porcentaje realizado del proceso, que permite mostrar una barra de progreso mientras el proceso es ejecutado.
Ejemplo
Cambiamos el título de la transacción en curso a 'Creación de facturas'
Deshacer transacción
Comando de instrucción del grupo transacciones dentro de un proceso que escriba en disco.
Origen de la instrucción: cualquiera.
Destino del subproceso: ninguno.
Parámetros
No tiene.
Funcionalidad
Comando que permite deshacer una transacción dentro de un proceso que escriba en disco. Conviene ser muy cuidadoso a la hora de utilizar este comando, pues deshará toda la transacción donde sea utilizado.
Comentarios
Si desde un proceso que transacciona disparamos un subproceso y en éste deshacemos transacción, serán deshechas todas las transacciones realizadas tanto en el proceso principal como en el subproceso.
Si desde un proceso que no transacciona disparamos varios subprocesos que transaccionan y en uno de ellos deshacemos transacción, solamente serán deshechas la transacciones de ese subproceso, no las del resto.
Al ejecutarse este comando, el sistema, además de deshacer la transacción, la finaliza para poder deshacerla; por lo que ya no debemos hacer ninguna otra operación en disco tras su ejecución. Lo recomendable es usar, después de este comando, los comandos set retorno proceso = NO.
Ejemplo
En una misma transacción ejecutamos dos procesos y si en alguno de los dos no recibimos el OK procedemos a deshacer la transacción. Por lo tanto las operaciones de escritura de ambos procesos se deshacen.
Forzar transacción
Comando de instrucción del grupo Procesos que hace que el proceso se ejecute de modo transaccional.
Origen de la instrucción: cualquiera.
Destino del subproceso: ninguno.
Parámetros
No tiene.
Comando de instrucción del grupo Procesos que hace que el proceso se ejecute de modo transaccional.
Comentarios
Si ejecutamos un proceso que no transacciona, es decir, que no incluye ningún comando que implique escritura en disco, y desde éste llamamos a varios subprocesos que sí transaccionan, puede tener sentido el querer englobarlo todo en una única transacción para que, en el caso que suceda algún problema que provoque una interrupción anómala del proceso, se deshaga todo y no solamente el subproceso transaccional que haya quedado pendiente de finalizar. El uso de este comando en el proceso principal haría que éste fuese transaccional y, por tanto, que todo quedase englobado en una única transacción.
Ejemplo
En una misma transacción ejecutamos un proceso de alta de facturas y otro de alta de vencimientos.