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
  | Quintiq file version 2.0 
 |  #parent: #root 
 |  Method CreateUpdateDemand (String setId_i, String id_i, String productId_i,  
 |    String locationId_i, String commercialSegmentId_i, DateTimeVector dateTimes_i,  
 |    RealVector quantities1_i, RealVector quantities2_i, RealVector quantities3_i,  
 |    String unitOfMeasureId_i, String currencyId_i, String priorityId_i) as LibDMC_ManufacturingDemand 
 |  { 
 |    Description: 
 |    [* 
 |      Logic to check if a demand exists before creating/updating it 
 |      1) We handle checking logic here as it minimizes the risk of forgetting to check if an instance exists before creating it 
 |      2) Instance exists checking is not done in static create as it violates model metrics 
 |    *] 
 |    TextBody: 
 |    [* 
 |      demand := LibDMC_ManufacturingDemand::FindManufacturingDemand( setId_i, id_i ); 
 |       
 |      if( isnull( demand ) ) 
 |      { 
 |        demand := LibDMC_ManufacturingDemand::Create( this, setId_i, id_i ); 
 |      } 
 |       
 |      demand.Update( productId_i, locationId_i, commercialSegmentId_i, dateTimes_i, 
 |                     quantities1_i, quantities2_i, quantities3_i, 
 |                     unitOfMeasureId_i, currencyId_i, priorityId_i ); 
 |       
 |      return demand; 
 |    *] 
 |  } 
 |  
  |