chenqinghong
2024-05-07 3ec06a830367465068963156dcc1d8e522571c13
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' }
}