| Quintiq file version 2.0 | 
| #parent: #root | 
| Function CalcBaseAvailableCapacity | 
| { | 
|   Description: | 
|   [* | 
|     The following is to get available time based on shift pattern. StartOfWeek will first set by GlobalParameter.FirstWeekDay. | 
|     E.g. a unit periods has the periods of 3 months, on the second week second day of the unit periods, we have i=15, this will resulted in 15 mod 7 = 1 and we'll get shift day 1. | 
|     Then unavailable time and shift capacity will be calculated to get available time for the day. Available time will then be multiplied by numberofunit to get Base available capacity | 
|   *] | 
|   TextBody: | 
|   [* | 
|     // Determined by the used shift pattern, the efficiency rate, maintenance considering its maintenance factor, allocation, max load percentage and calendar elements. | 
|      | 
|     value := Duration::Zero(); | 
|      | 
|     if( this.IsPlanning() or this.IsBase() ) | 
|     { | 
|       value := this.GetBaseAvailableCapacity( this.ShiftPattern() ); | 
|     } | 
|     else | 
|     { | 
|       value := sum( this.GetChildrenOfPeriodDimension(), Elements.astype( UnitPeriodTimeBase ), e, e.BaseAvailableCapacity() ); | 
|     } | 
|      | 
|     this.BaseAvailableCapacity( value ); | 
|   *] | 
|   InterfaceProperties { Accessibility: 'Module' } | 
| } |