En la tarea de Flujo de datos Extraer Productos, Convertir y Cargar Recuento habíamos declarado una variable para almacenar el valor del recuento de filas que iban por la Salida de error.
Nuestro objetivo es utilizar el valor devuelto por la variable, es decir, la cantidad de filas truncadas como parte de una expresión que se asigna a la Restricción de precedencia a la tarea siguiente, (en este caso algo tan sencillo como ejecutar proceso). Veamos los pasos a seguir.
1. Crear una expresión en la Restricción de Precedencia
Editamos la Restricción de precedencia a la tarea Ejecutar Proceso y le definimos que queremos que se ejecute cuando se cumpla la expresión cuya condición es que la variable que tenemos sea mayor que cero.
Se ha validado correctamente la expresión, por lo que, al menos en apariencia, vamos bien. En el Flujo de Control, junto a la flecha que indica la restricción de precedencia se refleja que en la restricción de precedencia hay una expresión.
Ejecutamos … Pero… devuelve error de ejecución 😦
Lo que ha ocurrido es que no tenemos ninguna Variable con alcance de Paquete, la habíamos definido para esta tarea tenía alcance de Tarea. Además como he estado copiando y pegando tareas en cada caso se ha duplicado la tarea con su correspondiente variable; pero ninguna tiene alcance de Paquete, por lo que no es posible utilizar una variable de una tarea para otra, normal, como siempre hemos visto cuando se trata de alcances de variables.
2.- Crear una variable con alcance de paquete.
Si en el momento de haber creado la variable, nos hubiésemos asegurado que su alcance fuera paquete, esto no sería necesario. Creamos entonces una nueva variable asegurándonos que su alcance coincide con el paquete.
Probamos ahora y parece que sí
3.- Cambiar la variable que guarda los resultados de Recuento de fila, por aquella con alcance de paquete
Hago un cambio, en la tarea Recuento de Filas tengo en cuenta la variable TruncadasPaquete
4.- Configurar la tarea Destino a esta Restricción de precedencia con expresión que incluye variable
Preparamos la tarea Ejecutar proceso para que active la calculadora si se cumple la condición como vimos antes
Ya tenemos todas las condiciones creadas, en la próxima veremos la ejecución.