admin
2025-01-22 7e31442f0e9b07764e9c6a9680d3d4aeba5fe1de
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
Quintiq file version 2.0
#parent: #root
StaticMethod HasCapacityForMaximumNumberofConcurrentRuns (
  ScenarioManager scenariomanager,
  Scenario activescenario,
  Boolean isactivescenariocounted,
  output String feedback_o
) declarative remote as Boolean
{
  TextBody:
  [*
    // edz1 Mar-22-2017 (created)
    feedback_o := '';
    result := true;
    
    if( scenariomanager.IsSizingParameterOn() )
    {  
      runcounter := counter( scenariomanager, ScenarioMP , scenario, MacroPlan::GetIsStatusRunning( scenario.OptimizerStatus() ) );
      activescenariorunningoptimizer := ifexpr( isnull( activescenario ), false , ifexpr( MacroPlan::GetIsStatusRunning( activescenario.astype( ScenarioMP ).OptimizerStatus() ), true, false ) ); 
      if(  activescenariorunningoptimizer and not isactivescenariocounted )
      {
        runcounter := runcounter - 1 ;
      }
    
      result := runcounter < scenariomanager.ResourceManager_SM().MaxConcurrentOptimizerRun();
      if ( not result )
      {
        feedback_o := Translations::MP_ScenarioManager_MaxNumberOfConcurrentRunReached( scenariomanager.ResourceManager_SM().MaxConcurrentOptimizerRun() );
      }  
    }
    return result;
  *]
}