DTS y flujo de trabajo
Publicado por JuanMa (1 intervención) el 25/10/2005 19:36:31
Buenas,
estoy aprendiendo a trabajar con DTS y hay cosas que todavía no entiendo bien.
Esto es mas bien una curiosidad, ya que lo puedo resolver de otras formas, pero me parece menos practicas. La cuestión es esta:
Tengo varias tareas (A, B, C, D) que se ejecutan secuencialmente. Las tengo enlazadas de manera que solo cuando una tarea se ejecuta correctamente se puede ejecutar la siguiente. Cuando una de las tareas falla quiero ejecutar otra (X) que realiza acciones apropiadas para informar de que algo falló. Mi problema es que si dirijo a esta tarea más de un flujo de "en caso de error" no se ejecuta.
Lei en la documentación que cuando varios caminos llegan a una tarea se interpreta como un AND logico y sólo se ejecuta la tarea si se cumplen las condiciones de todos los caminos. Ejemplo:
Si A OK ejecuta B
Si A falla ejecuta X
Si B OK ejecuta C
Si B falla ejecuta X
En este caso X se ejecutaría sólo si A y B fallan, lo cual no sería posible ya que B no se ejecuta si A falla. Igualmente si A funciona OK y B falla, X no se ejecuta porque A funcionó
Esto es lo que yo entendí, y por lo que he probado es así. Lo que hago para que funcione es copiar varias veces la tarea X y poner cada una en un camino, para que no se junten, pero me parece poco útil.
La pregunta:
¿Alguien sabe si esto se puede evitar? Es decir, si hay una forma de que no interpreta un AND lógico sino un OR.
Gracias a todos.
estoy aprendiendo a trabajar con DTS y hay cosas que todavía no entiendo bien.
Esto es mas bien una curiosidad, ya que lo puedo resolver de otras formas, pero me parece menos practicas. La cuestión es esta:
Tengo varias tareas (A, B, C, D) que se ejecutan secuencialmente. Las tengo enlazadas de manera que solo cuando una tarea se ejecuta correctamente se puede ejecutar la siguiente. Cuando una de las tareas falla quiero ejecutar otra (X) que realiza acciones apropiadas para informar de que algo falló. Mi problema es que si dirijo a esta tarea más de un flujo de "en caso de error" no se ejecuta.
Lei en la documentación que cuando varios caminos llegan a una tarea se interpreta como un AND logico y sólo se ejecuta la tarea si se cumplen las condiciones de todos los caminos. Ejemplo:
Si A OK ejecuta B
Si A falla ejecuta X
Si B OK ejecuta C
Si B falla ejecuta X
En este caso X se ejecutaría sólo si A y B fallan, lo cual no sería posible ya que B no se ejecuta si A falla. Igualmente si A funciona OK y B falla, X no se ejecuta porque A funcionó
Esto es lo que yo entendí, y por lo que he probado es así. Lo que hago para que funcione es copiar varias veces la tarea X y poner cada una en un camino, para que no se junten, pero me parece poco útil.
La pregunta:
¿Alguien sabe si esto se puede evitar? Es decir, si hay una forma de que no interpreta un AND lógico sino un OR.
Gracias a todos.
Valora esta pregunta


0