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
47
48
49
50
51
52
53
54
55
56
57
  | Quintiq file version 2.0 
 |  #parent: #root 
 |  StaticMethod Update ( 
 |    Operations operations, 
 |    Unit owner, 
 |    String id, 
 |    String name, 
 |    Boolean isbatcheditleadtime, 
 |    Duration leadtime, 
 |    Boolean isbatcheditstandarddeviationleadtime, 
 |    Duration standarddeviationleadtime, 
 |    Boolean isbatcheditthroughput, 
 |    Real throughput, 
 |    Boolean isbatchedithasuserlotsize, 
 |    Boolean hasuserlotsize, 
 |    Real userminimumquantity, 
 |    Boolean hasusermaximumquantity, 
 |    Real usermaximumquantity, 
 |    Real userlotsize, 
 |    Boolean isbatcheditCo2, 
 |    Real co2Emission 
 |  ) 
 |  { 
 |    Description: 'Batch update operations' 
 |    TextBody: 
 |    [* 
 |      // Batch update the selected set of operations 
 |      traverse( operations, Elements, operation ) 
 |      { 
 |        // Use current operation's values if HasUserLotSize is not selected for batch editing 
 |        if( not isbatchedithasuserlotsize ) 
 |        { 
 |          hasuserlotsize := operation.HasUserLotSize(); 
 |          userminimumquantity := operation.UserMinimumQuantity(); 
 |          hasusermaximumquantity := operation.HasUserMaximumQuantity(); 
 |          usermaximumquantity := operation.UserMaximumQuantity(); 
 |          userlotsize := operation.UserLotSize(); 
 |        } 
 |         
 |        // Update operation 
 |        operation.Update( operation.Unit(), 
 |                          operation.ID(), 
 |                          operation.Name(), 
 |                          operation.RoutingStep(), 
 |                          ifexpr( isbatcheditleadtime, leadtime, operation.UserLeadTime() ), 
 |                          ifexpr( isbatcheditstandarddeviationleadtime, standarddeviationleadtime , operation.StandardDeviationLeadTimeOperation() ), 
 |                          ifexpr( isbatcheditthroughput, throughput, operation.Throughput() ), 
 |                          hasuserlotsize, 
 |                          userminimumquantity, 
 |                          hasusermaximumquantity, 
 |                          usermaximumquantity, 
 |                          userlotsize, 
 |                          ifexpr( isbatcheditCo2, co2Emission, operation.CO2Emission() ), 
 |                          false ); 
 |      } 
 |    *] 
 |  } 
 |  
  |