yanweiyuan3
2023-08-09 fd693f0faf305ec98d7ea03e09fe6787817e71d7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Quintiq file version 2.0
#parent: #root
Method GetKPIMinimumInventoryLevel (
  constcontent ProductInStockingPointInPeriodPlannings pispips
) const declarative remote as Real
{
  Description: 'Return the penalty of not reaching the minimum inventory level'
  TextBody:
  [*
    value := sum( pispips, Elements, pispip,
                  pispip.Period_MP().IsWithinKPIHorizon() and pispip.GetHasMinLevel(),
                  maxvalue( pispip.MinInventoryLevel() - pispip.InventoryDemandFulfilledQuantity(), 0 )
                  * pispip.ProductInStockingPoint_MP().DefaultUOMConversionFactor() );
    
    return value;
  *]
}