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
  | Quintiq file version 2.0 
 |  #parent: #root 
 |  Method CreateUpdatePISPSpecification ( 
 |    Product_MP product, 
 |    StockingPoint_MP stockingPoint, 
 |    Boolean isNegativeInventoryAllowed 
 |  ) 
 |  { 
 |    Description: 'Create or update pisp specications and set negative inventory allow/disallow.' 
 |    TextBody: 
 |    [* 
 |      isExcluded := false; 
 |      hasUnitOfMeasure := false; 
 |      isSafetyStockKept := false; 
 |      isExcludeShelfLife := false; 
 |      isExcludedFromBalancing := false; 
 |      productUoM := product.UnitOfMeasureName(); 
 |      inputLotSize := 0.0; 
 |       
 |      // Cannot use create update because type index 
 |      pispSpec := product.FindProductInStockingPoint( stockingPoint.ID() ).PISPSpecification(); 
 |      if( isnull( pispSpec ) ) 
 |      { 
 |        PISPSpecification::Create( product, 
 |                                   stockingPoint, 
 |                                   hasUnitOfMeasure, 
 |                                   productUoM, 
 |                                   isNegativeInventoryAllowed, 
 |                                   isExcluded, 
 |                                   isExcludedFromBalancing, 
 |                                   isSafetyStockKept, 
 |                                   inputLotSize, 
 |                                   isExcludeShelfLife, 
 |                                   false ) /*is from db*/ 
 |      } 
 |      else 
 |      { 
 |        pispSpec.Update( hasUnitOfMeasure, 
 |                         productUoM, 
 |                         isNegativeInventoryAllowed, 
 |                         isExcluded, 
 |                         isExcludedFromBalancing, 
 |                         isSafetyStockKept, 
 |                         inputLotSize, 
 |                         isExcludeShelfLife, 
 |                         false ) /* is from db */ 
 |                          
 |      } 
 |    *] 
 |    InterfaceProperties { Accessibility: 'Module' } 
 |  } 
 |  
  |