lazhen
2025-01-09 8afe90b633046db39042aada36b88193062f8cff
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
Quintiq file version 2.0
#parent: #root
StaticMethod Create (
  InventorySpecification owner,
  ServiceLevelBase servicelevel
) as InventorySpecificationInServiceLevel
{
  Description: 'Creates the inventoryspecificationinservicelevel instance that links the input inventory specification to the input servicelevel'
  TextBody:
  [*
    // Martijn Oct-18-2016 (created)
    invspecproductid := owner.ProductID();
    invspecstockingpointid := owner.StockingPointID();
    invspecstart := owner.Start();
    servicelvelid := servicelevel.ID();
    // Check whether there already is a invspecinsl linking the input servicelevel to the input inventoryspecification
    invspecinsl := InventorySpecificationInServiceLevel::FindInventorySpecificationInServiceLevelTypeIndex( invspecproductid,
                                                                                                            invspecstockingpointid,
                                                                                                            invspecstart,
                                                                                                            servicelvelid );
    
    // If it does not yet exist, create it                                                                                                        
    if( isnull( invspecinsl ) )
    {
      invspecinsl := owner.InventorySpecificationInServiceLevel( relnew,
                                                                 InventorySpecificationProductID := invspecproductid,
                                                                 InventorySpecificationStockingPointID := invspecstockingpointid,
                                                                 InventorySpecificationStart := invspecstart,
                                                                 ServiceLevelID := servicelvelid );
      
      invspecinsl.ServiceLevelBase( relset, servicelevel );
    }
    
    return invspecinsl;
  *]
}