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
| Quintiq file version 2.0
| #parent: #root
| StaticMethod Create (
| Product_MP owner,
| StockingPoint_MP stockingpoint,
| String id,
| Date startdate,
| Real quantity,
| Real price,
| String priorityname,
| String salessegmentname,
| String currencyname,
| String unitofmeasurename,
| Boolean isexcludedfromfulfillmentkpi,
| String customername,
| String customerid,
| String orderid,
| String orderlineid,
| Boolean isfornetting,
| Boolean isfirmed,
| Boolean isfromdb
| ) as CustomerOrder
| {
| Description: 'Create sales demand from the given arguments.'
| TextBody:
| [*
| priority := owner.MacroPlan().FindPriority( priorityname ); // Get Priority
| salessegment := owner.MacroPlan().FindSalesSegment( salessegmentname ); // Get SalesSegment_MP
| currency := owner.MacroPlan().FindCurrency( currencyname ); // Get Currency_MP
| unitofmeasure := owner.MacroPlan().FindUnitOfMeasure( unitofmeasurename ); // Get UnitOfMeasure_MP
|
| // Create Customer order
| co := CustomerOrder::Create( id,
| owner,
| stockingpoint,
| startdate,
| quantity,
| price,
| priority,
| salessegment,
| currency,
| unitofmeasure,
| false,
| false,
| isexcludedfromfulfillmentkpi,
| customername,
| customerid,
| orderid,
| orderlineid,
| isfornetting,
| isfirmed,
| isfromdb
| );
|
| // If the given instance is not exists in the model, update the attribute with the given string.
| if( isnull( priority )
| or isnull( salessegment )
| or isnull( currency )
| or isnull( unitofmeasure ) )
| {
| co.UpdateForeignKey( owner.ID(),
| stockingpoint.ID(),
| salessegmentname,
| priorityname,
| currencyname,
| unitofmeasurename );
| }
|
| return co;
| *]
| }
|
|