| Quintiq file version 2.0 | 
| #parent: #root | 
| Method SetDefaultValue ( | 
|   UnitPeriodTime unitperiodtime | 
| ) id:Method_DialogCreateEditUnitAvailability_SetDefaultValue | 
| { | 
|   #keys: '[11766.2.354426836]' | 
|   Body: | 
|   [* | 
|     // Set the default value for the fields in the dialog | 
|      | 
|     data := Dialog.Data(); | 
|      | 
|     start := MacroPlan.Start(); | 
|     timeunit := MacroPlan.StartOfPlanningPeriod().TimeUnit(); | 
|     maintenance := Duration::Zero(); | 
|     efficiency := 1.0; | 
|     allocation := 1.0; | 
|     shiftpattern := MacroPlan.DefaultShiftPattern(); | 
|     maxloadpercentage := MacroPlan.GlobalParameters_MP().DefaultMaxLoadPercentage(); | 
|     nrofunitopen := 1; | 
|     minloadthreshold := 0.0; | 
|      | 
|     if( not isnull( unitperiodtime ) ) | 
|     { | 
|       // To inherit the value from last unit availability while creating a new unit availability | 
|       unitavailability := unitperiodtime.UnitAvailability(); | 
|       start := unitperiodtime.Start(); | 
|      | 
|       if( not isnull( unitavailability ) ) | 
|       { | 
|         timeunit := unitavailability.TimeUnit(); | 
|         maintenance := unitavailability.Maintenance(); | 
|         efficiency := unitavailability.Efficiency(); | 
|         allocation := unitavailability.Allocation(); | 
|         shiftpattern := unitavailability.ShiftPattern(); | 
|         maxloadpercentage := unitavailability.MaximumLoadPercentage(); | 
|         nrofunitopen := unitavailability.NrOfUnitsOpen(); | 
|         minloadthreshold := unitavailability.MinimumLoadThreshold(); | 
|       } | 
|       else | 
|       { | 
|         timeunit := unitperiodtime.Period_MP().TimeUnit(); | 
|         maintenance := unitperiodtime.Maintenance(); | 
|         efficiency := unitperiodtime.Efficiency(); | 
|         allocation := unitperiodtime.Allocation(); | 
|         shiftpattern := unitperiodtime.ShiftPattern(); | 
|         maxloadpercentage := unitperiodtime.MaximumLoadPercentage(); | 
|         nrofunitopen := unitperiodtime.NrOfOpen(); | 
|         minloadthreshold := unitperiodtime.MinimumLoadThreshold(); | 
|       } | 
|     } | 
|      | 
|     // Assigning value to Read-Only attribute will result in runtime error. | 
|     if( isnull( data.WrappedInstance() ) ) | 
|     { | 
|       data.Start( start ); | 
|     } | 
|      | 
|     data.TimeUnit( timeunit ); | 
|     data.Maintenance( maintenance ); | 
|      | 
|     data.Efficiency( efficiency ); | 
|     data.Allocation( allocation ); | 
|      | 
|     data.ShiftPattern( relset, shiftpattern ); | 
|     data.MaximumLoadPercentage( maxloadpercentage ); | 
|      | 
|     data.NrOfUnitsOpen( nrofunitopen ); | 
|      | 
|     data.MinimumLoadThreshold( minloadthreshold ); | 
|   *] | 
| } |