chenqinghong
2024-05-07 3ec06a830367465068963156dcc1d8e522571c13
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
34
35
36
37
38
39
40
41
42
43
44
45
46
Quintiq file version 2.0
#parent: #root
Method RunSmartPlan (
  MacroPlan macroplan,
  Boolean issmartplan,
  Boolean issmartplanforperiodtask,
  ProductInStockingPointInPeriodPlannings smartplanpispips,
  Boolean hastotalsupplyuser,
  Real totalsupplyuser,
  Boolean isupstreamsmartplan,
  Boolean ismiddleoutsmartplan,
  Boolean isonlyplanonestepupstream,
  Strategy strategy,
  Boolean isoverridemanualplanning,
  Period_MP periodstart,
  Period_MP periodend,
  Boolean isusingselectedunits,
  Units units,
  Process_MP process,
  Boolean reusestrategymacroplan
) as stream[Void]
{
  Description: 'Save the Smart plan settings and run the optimizer'
  TextBody:
  [*
    macroplan.RunSmartPlan( issmartplan,
                            issmartplanforperiodtask, 
                            smartplanpispips,
                            hastotalsupplyuser,
                            totalsupplyuser, 
                            isupstreamsmartplan,
                            ismiddleoutsmartplan,
                            isonlyplanonestepupstream,
                            strategy,
                            isoverridemanualplanning,
                            periodstart,
                            periodend,
                            isusingselectedunits,
                            units, 
                            null( Process_MP ), 
                            false ); // not re-using StrategyMacroPlan
    
    return Transaction::GetCurrentTask().OnFinish(); // Only use this in UTF (from core software) to wait all running tasks complete before proceeding next reactive call
  *]
  InterfaceProperties { Accessibility: 'Module' }
}