Not override a value in pipeline when call a flow service

This is not a big problem to me but it is something I wonder especially for recursived invoke step.

I have the following flow service fs1

MAP (Set Value = b to value)
INVOKE myFolder:fs2 (Output = value to variable output)

My Flow service fs2 :

MAP (Set value = a to value)

If I run fs1 I see two variables in pipeline
value (= a)
output (= a)

The variable value in output from fs2 override the value variable in fs1.

Is it existe something to prevent that ?

fs1.PNg
fs2.PNG

Hi,

Recursivity in the IS is not a transparent operation (neither is caching).

Because the pipeline has always a global scope recursive functions require special handling:

  • don’t use the external variables (your inputs and outputs, and those of any invocation) internally
  • map your inputs as soon as possible, and drop them
  • map the results of any invoke to your local variables as soon as possible, and drop them and the named inputs of those calls too
  • map your internal variables to your outputs as late as possible, and drop them
  • scope your recursive call so that you don’t pollute your working variables

Did this help?

Best regards