Quintiq file version 2.0 
 | 
#parent: #root 
 | 
Function CalcParallelismNumberWithoutWaiting 
 | 
{ 
 | 
  TextBody: 
 | 
  [* 
 | 
    // jps1 May-28-2020 (created) 
 | 
     
 | 
    waitingTime := sum( this,  
 | 
                        SnapshotCapacity.Blocks,  
 | 
                        block,  
 | 
                        block.Start() >= this.StartedOn()  
 | 
                        and block.Start() < this.StartedOn() + this.Duration() 
 | 
                        and block.Amount() = 0,  
 | 
                        block.Duration() ) 
 | 
     
 | 
    totalComponentTime := sum( this,  
 | 
                               SnapshotCapacity.Blocks,  
 | 
                               block,  
 | 
                               block.Start() >= this.StartedOn()  
 | 
                               and block.Start() < this.StartedOn() + this.Duration() 
 | 
                               and block.Amount() > 0,  
 | 
                               block.Amount() * block.Duration() ); 
 | 
     
 | 
    value := 0.0; 
 | 
    totaltime := this.Duration() - waitingTime; 
 | 
     
 | 
    if( totaltime > Duration::Zero() ) 
 | 
    { 
 | 
      value := totalComponentTime / totaltime; 
 | 
    } 
 | 
     
 | 
    this.ParallelismNumberWithoutWaiting( value ); 
 | 
  *] 
 | 
  InterfaceProperties { Accessibility: 'Module' } 
 | 
} 
 |