Is this a bug for Advanced File System Taks (FST)?

Hi, all
I have pretty complex logic that requires a lot of connections (arrows) and I just found out that if I use setup like in A with multiple incoming flows that box simply doesn’t work.
Tested it thoroughly. Is anybody see the same behavior ? I didn’t see any limitation of how many in arrows (input flows) you can put into FST component.
I’m surely can use dedicated FST box for each flow, but trying to save canvas space .

Or there is some trick (or component) that I can use.

Please refer to my pic below:

Hi Mario,

Thank you for sharing the screenshot — that helps clarify the scenario.

Based on what you’ve shown in the Advanced File System Task (ZS AFST) setup, the behavior you’re seeing is expected.

Why setup A does not work

Although SSIS allows you to visually connect multiple incoming precedence constraints to a task, the ZS Advanced File System Task is designed to execute from a single control-flow entry point.

When multiple arrows are connected directly to the same ZS AFST:

  • SSIS evaluates all incoming constraints together
  • By default, this uses AND logic
  • The task will only execute if all incoming constraints are satisfied in the same execution context

In practice, when those incoming flows originate from different logical paths, the condition is never met. As a result, the task may validate successfully but will not execute the file operation as expected. This is why setup A fails.

Tried with MS File System Task, same behavior

Why setup B works

In setup B, the ZS AFST has only one incoming precedence constraint, which provides:

  • A clear execution trigger
  • Deterministic task execution
  • Supported and reliable behavior

Recommended approaches

:white_check_mark: Option 1: Use a Sequence Container (recommended)

If your goal is to reduce canvas clutter while still converging multiple flows:

  • Point all upstream tasks to a Sequence Container
  • Connect the Sequence Container to the ZS AFST using a single arrow

This gives you a single execution path into the ZS AFST while preserving your existing logic.

:white_check_mark: Option 2: Dedicated ZS AFST per flow

This is the most explicit and deterministic design:

  • One incoming flow → one ZS AFST
  • Uses more canvas space but avoids ambiguity

:warning: Option 3: Logical OR on constraints

You may set Multiple constraints = OR, but for file system operations this can still lead to unclear execution timing and is not recommended for complex logic.


ZappySys recommendation

For Advanced File System Task (ZS AFST) usage:

  • :check_mark: Always use one incoming precedence constraint
  • :check_mark: Aggregate logic before the task if needed
  • :cross_mark: Avoid multiple direct inbound arrows to the same ZS AFST