yypsybs
2023-09-09 3cb5a54def670d97301f07170fcaad213bfc54f2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Quintiq file version 2.0
#parent: #root
Method GetKPITotalTransitionDuration () declarative remote as Duration
{
  TextBody:
  [*
    // get the total duration of all transitions falling within both the unit's campaign horizon and dataset's KPI horizon
    
    value := sum( this, Unit.TransitionType_MP.Transition_MP, transition,
                  transition.Start() < minvalue( transition.Unit().CampaignTypeRequirementHorizon(), this.GlobalParameters_MP().GetEndOfKPIHorizon().DateTime() ),
                  ( minvalue( transition.Unit().CampaignTypeRequirementHorizon(), this.GlobalParameters_MP().GetEndOfKPIHorizon().DateTime() ) - transition.Start() )
                  - ( minvalue( transition.Unit().CampaignTypeRequirementHorizon(), this.GlobalParameters_MP().GetEndOfKPIHorizon().DateTime() ) - 
                      minvalue( minvalue( transition.Unit().CampaignTypeRequirementHorizon(), this.GlobalParameters_MP().GetEndOfKPIHorizon().DateTime() ), transition.End() ) ) );
    
    return value;
  *]
}