| Quintiq file version 2.0 | 
| #parent: #root | 
| DeclarativeOwningNMRelation CalcPeriodTaskLaneLeg | 
| { | 
|   #keys: '1[110880.9.909830572]' | 
|   Expression: | 
|   [* | 
|     // soh yee Jun-16-2015 (created) | 
|      | 
|     ups := construct( UnitPeriods ); | 
|      | 
|     if( this.HasValidDeparture() and this.HasValidArrival() ) | 
|     { | 
|       // Time base transportation: Consume capacity from departing period to arriving period. | 
|       // Quantity base transportation: Consume only the capacity in departing period. | 
|       unitperiodend := ifexpr( this.IsTimeBaseTransportation(),  | 
|                                this.ArrivalUnitPeriod().Period_MP(), | 
|                                this.DepartureUnitPeriod().Period_MP() );                            | 
|                    | 
|       ups := selectset( this, LaneLeg.AsProcess_MP.PlanningUnitPeriod, up, | 
|                         up.Period_MP().IsInPeriod( this.DepartureUnitPeriod().Period_MP(), unitperiodend ) ); | 
|     } | 
|      | 
|     return &ups; | 
|   *] | 
|   HelperRelation: UnitPeriod | 
|   InstantiationType: PeriodTaskLaneLeg | 
|   Relation: PeriodTaskLaneLeg | 
| } |