Software AG Products 10.7 | Integrating On-Premises and Cloud Applications | Service Development | Mapping Data in Flow Services | About Linking Variables | What Happens When Integration Server Executes a Link?
 
What Happens When Integration Server Executes a Link?
 
Example of Copying By Reference
Preventing Pipeline Values from Being Overwritten
When executing a link between variables at run time, Integration Server does one of the following:
*Copies the value from the source variable to the target variable. For example, when you link a source String variable to a target String variable, Integration Server copies the value of the source String to the target String. This is called “copying by value.”
*Creates a reference to the source variable and uses the reference as the value of the target variable. For example, when executing a link between a source Document and a target Document, Integration Server creates a reference to the source Document value and uses the reference as the value of the target Document. This is called “copying by reference.”
Integration Server copies by value when the source or target variable is a String. (An exception to this behavior is that when executing a link from a String to an Object, the Integration Server copies by reference.)
When executing links between all other types of variables, Integration Server copies by reference. Copying by reference significantly reduces the memory and time required for executing a link at run time.
When a value is copied by reference, any changes you make to the value of the source variable in subsequent flow steps affect the target variable. This is because the value of the source variable is the value of the target variable. The target variable does not contain a copy of the source variable value. If, in a later flow step, you used to assign a value to the source variable, you would be changing the value of the target variable as well. (The target variable references the value of the source variable.)