Última actualización
¿Te fue útil?
Última actualización
¿Te fue útil?
Un trigger es un definido por el programador que es ejecutado automáticamente al producirse el evento al que hace referencia. Los triggers posibles son:
El proceso es disparado antes de que la ficha sea guardada en disco.
El proceso es disparado después de que la ficha haya sido guardada en disco y antes de disparar las .
El proceso es disparado después de que la ficha haya sido guardada en disco y después de disparar las actualizaciones.
El proceso es disparado antes de que los cambios en la ficha sean guardados en disco.
El proceso es disparado después de que los cambios en la ficha hayan sido guardados en disco y antes de disparar las actualizaciones.
El proceso es disparado después de que los cambios en la ficha hayan sido guardados en disco y después de disparar las actualizaciones.
El proceso es disparado antes de producirse el borrado de la ficha.
El proceso es disparado después de producirse el borrado de la ficha y antes de disparar las actualizaciones.
El proceso es disparado después de producirse el borrado de la ficha y después de disparar las actualizaciones.
Cualquier cambio que se desee realizar en la ficha, siempre deberá ser hecho antes de su grabación, es decir, en el trigger anterior. Si lo hacemos en los triggers interno o posterior, si bien no se grabará el cambio en la tabla, provocará un refresco erróneo de la información en el cliente.
La ficha permanecerá bloqueada por el sistema mientras los procesos de los triggers estén siendo ejecutados.
Podemos crear un trigger desde la barra de herramientas de sub-objetos de una tabla.
En principio, en un trigger previo no se deberían realizar operaciones de disco, pero si las hacemos debes saber que el sistema no las deshará.
Los triggers son ejecutados en el por lo que no se debe incluir en ellos ninguna instrucción que requiera la intervención del usuario.
Si desde un se ejecuta un proceso de Velneo con origen ficha lanzado con el comando de instrucción , la ficha recibida es la que tiene el trigger en memoria, recibiendo los cambios realizados en el trigger anterior al alta o modificación. Si realizamos modificar campo en el proceso se cambia correctamente la ficha en memoria que tras finalizar el proceso es recibida por el trigger que puede continuar con todos los cambios realizados.
Sin embargo, si usamos para ejecutar el proceso el comando de instrucción creando un manejador de objeto el funcionamiento no es el mismo ya que el proceso recibe una ficha diferente a la que usa el trigger en memoria y los cambios que se realicen con el comando de instrucción modificar campo no son funcionales.
Por lo tanto, si queremos modificar campos en procesos de Velneo lanzados desde triggers de tabla, tendremos que hacerlo siempre con el comando de instrucción de proceso .
Las modificaciones de registros tanto asegurados (transacción por proceso) como no aseguradas (formulario) se comportan igual y en el caso de ejecutar el comando en cualquiera de los triggers, lógicamente no se produce el alta, modificación o baja del registro, pero debemos tener en cuenta que no se deshace el resto de la transacción, por lo que si antes de hacer el set retorno proceso = NO hubiésemos realizados otros operaciones en la base de datos no relacionadas con el registro del trigger, éstas no serán deshechas.