Quintiq file version 2.0
|
#parent: #root
|
StaticMethod GetLastOptimizationHorizon (
|
AlgorithmRun run,
|
MacroPlan macroplan,
|
output Period_MP periodstart,
|
output Period_MP periodend
|
) remote
|
{
|
Description: 'Return the last optimization horizon specified. Otherwise, return the horizon between start of planning base period and last base period'
|
TextBody:
|
[*
|
// soh yee Mar-24-2014 (created)
|
|
if( not isnull( run ) )
|
{
|
periodstart := select( macroplan, PlanningPeriod, p, p.Start() = run.PeriodFirstStart() );
|
periodend := select( macroplan, PlanningPeriod, p, p.PeriodEnd() = run.PeriodLastEnd() );
|
}
|
|
// If algorithm run cannot be found or the periodstart and periodend is still null, use start and last plannning period
|
if( isnull( periodstart ) )
|
{
|
periodstart := macroplan.StartOfPlanningPeriod();
|
}
|
|
if( isnull( periodend ) )
|
{
|
periodend := macroplan.LastPlanningPeriod();
|
}
|
*]
|
}
|