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
  | Quintiq file version 2.0 
 |  #parent: #root 
 |  Method CreateUpdateCommercialHierarchy (String setId_i, String id_i, String parentID_i,  
 |    String name_i, String auxString_i, String segmentLevelid_i) as LibDMC_CommercialHierarchy 
 |  { 
 |    Description: 
 |    [* 
 |      Logic to check if a commercial hierarchy 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: 
 |    [* 
 |      hierarchy := LibDMC_CommercialHierarchy::FindCommercialHierarchy( setId_i, id_i ); 
 |       
 |      if( isnull( hierarchy ) ) 
 |      { 
 |        hierarchy := LibDMC_CommercialHierarchy::Create( this, 
 |                                                         setId_i, 
 |                                                         id_i ); 
 |      } 
 |       
 |      hierarchy.Update( parentID_i, 
 |                        name_i, 
 |                        auxString_i, 
 |                        segmentLevelid_i ); 
 |       
 |      return hierarchy; 
 |    *] 
 |  } 
 |  
  |