| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
 | | Quintiq file version 2.0 |  | #parent: #root |  | Method UpdateUnitPeriod ( |  |   MacroPlan macroplan, |  |   UnitPeriod unitperiod, |  |   Boolean updatecapacity, |  |   Real maxload, |  |   Real efficiency, |  |   Number nrofunit, |  |   Duration maintenance, |  |   Real mincapacity, |  |   Real maxcapacity |  | ) |  | { |  |   Description: 'Update maxload percetange for unitcapacity or unitavailability' |  |   TextBody: |  |   [* |  |     if ( updatecapacity ) |  |     { |  |       if( unitperiod.istype( UnitPeriodTime )  ) |  |       { |  |         upt := unitperiod.astype( UnitPeriodTime ); |  |         shiftpattern := select( macroplan, ShiftPattern, sf, sf.Name()='24x7' ); //always use 24x7,keep it simple for capacity calculation |  |         UnitAvailability::CreateOrUpdateForUnitPeriodTime( upt, true, upt.Period_MP().TimeUnit(),  |  |                                                            maintenance, true, efficiency, false, 1.0, |  |                                                            true, shiftpattern, true, maxload, |  |                                                            true, nrofunit, false,  |  |                                                            false, 0.0 ); |  |                                                             |  |       }   |  |       else if ( unitperiod.istype( UnitPeriodQuantity ) ) |  |       { |  |         upt := unitperiod.astype( UnitPeriodQuantity ); |  |         UnitCapacity::CreateOrUpdateForUnitPeriodQuantity( upt, true, upt.Period_MP().TimeUnit(),  |  |                                                            mincapacity, maxcapacity, true,  |  |                                                            maxload, true, nrofunit, false ); |  |        |  |       } |  |     } |  |   *] |  |   InterfaceProperties { Accessibility: 'Module' } |  | } | 
 |