| Quintiq file version 2.0 | 
| #parent: #root | 
| Method GetTotalAvailableCapacity ( | 
|   const ShiftPattern shiftpattern | 
| ) const declarative as Real | 
| { | 
|   TextBody: | 
|   [* | 
|     value := 1.0; | 
|      | 
|     planningup := ifexpr( this.IsPlanning(), | 
|                           this,                                             // Case 1: planning UnitPeriod: aggregate values from associated period tasks  | 
|                           this.PlanningUP().astype( UnitPeriodTimeBase ) ); // Case 2: base, non planning UnitPeriod: disaggregate value from planning UnitPeriod | 
|      | 
|     if( not isnull( planningup ) ) | 
|     { | 
|        value := planningup.GetBaseAvailableCapacity( shiftpattern ).HoursAsReal() * planningup.MaximumLoadPercentage() / 100; | 
|     } | 
|      | 
|     return value; | 
|   *] | 
| } |