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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
| Quintiq file version 2.0
| #parent: #root
| Method DataMockupGenerateRoutings (
| Unit unit,
| Number nrofroutings,
| Number nrofinputsperrouting,
| Number nrofoutputsperrouting
| )
| {
| TextBody:
| [*
| macroplan := this.MacroPlan();
|
| // Create Routing for the number of passed in nrofroutings
| for( i := 0; i < nrofroutings; i++ )
| {
| // Routing ID
| id := 'Routing_' + [String] i;
|
| // Create Routing
| routing := Routing::Create( macroplan, id, id,
| Date::MinDate(),
| Date::MaxDate(),
| false,
| false );
|
| // Create RoutingStep
| routingstep := RoutingStep::Create( routing, id, '', false );
|
| // Randomly select an input StockingPoint_MP
| inputsp := minselect( macroplan, StockingPoint_MP, sp, true, Real::Random() );
| // Randomly select an output StockingPoint_MP
| outputsp := minselect( macroplan, StockingPoint_MP, sp, true, Real::Random() );
|
| // Create Operation
| operation := Operation::Create( unit, routingstep, false );
| // Create input OperationBOM for the number of passed in nrofinputsperrouting
| for( j := 0; j < nrofinputsperrouting; j++ )
| {
| // Randomly select one Product_MP given that that it is not being used in any input OperationBOM of the current Operation
| product := minselect( macroplan, Product_MP, p,
| not exists( operation, OperationBOM, oi,
| oi.IsInput()
| and oi.ProductID() = p.ID() ),
| Real::Random() );
|
| // Create input OperationBOM
| OperationBOM::Create( operation,
| product.ID(),
| inputsp.ID(),
| true,
| 1,
| false,
| 1.0,
| 0.0,
| 0.0,
| false,
| false );
|
| }
| // Create out OperationBOM for the number of passed in nrofoutputsperrouting
| for( k := 0; k < nrofoutputsperrouting; k++ )
| {
| // Randomly select one Product_MP given that that it is not being used in any output OperationBOM of the current Operation
| product := minselect( macroplan, Product_MP, p,
| not exists( operation, OperationBOM, oo,
| not oo.IsInput()
| and oo.ProductID() = p.ID() ),
| Real::Random() );
|
| // Create output OperationBOM
| OperationBOM::Create( operation,
| product.ID(),
| outputsp.ID(),
| false,
| 1,
| false,
| 1.0,
| 0.0,
| 0.0,
| false,
| false );
| }
| }
|
| Transaction::Transaction().Propagate();
| *]
| }
|
|