Quintiq file version 2.0 
 | 
#parent: #root 
 | 
Method ConfigureForOneTransaction (Boolean needs_propagation) 
 | 
{ 
 | 
  Description: 
 | 
  [* 
 | 
    Configures this component and all downstream components to execute in a single transaction. 
 | 
    If the given boolean argument is set to true, there will be a propagation between each pair of components when executing. 
 | 
    Warning: this configures all the downstream components' links to be executed in one transaction. These downstream components may have several parents, and hence may be downstream components of a different component. The execution of that other component will likewise be affected: the subtree containing only subcomponents of this component will be executed in one transaction. 
 | 
  *] 
 | 
  TextBody: 
 | 
  [* 
 | 
    traverse( this.GetDownstreamLinks(), Elements, downstreamlink ) 
 | 
    { 
 | 
      downstreamlink.SetTaskTransporterOneTransaction( needs_propagation ); 
 | 
    } 
 | 
    // Set all suboptimizers to use one transaction. 
 | 
    traverse( this.GetDownstreamComponents(), Elements.astype( LibOpt_Suboptimizer ), subopt ) 
 | 
    { 
 | 
      subopt.InOneTransaction( true ); 
 | 
    } 
 | 
  *] 
 | 
} 
 |