Quintiq file version 2.0
|
#parent: #root
|
StaticMethod UpdateKPITotalValue (
|
KPIValue kpivalue,
|
MacroPlan macroplan
|
)
|
{
|
Description:
|
[*
|
Update the total kpi value.
|
Called to get the total value directly because not all kpis can retrieve calculation from KPIValueInPeriod
|
*]
|
TextBody:
|
[*
|
kpiname := kpivalue.KPI().Name();
|
|
// non financial kpis
|
// Target inventory level KPI
|
if( kpiname = Translations::MP_GlobalParameters_KPISafetyStock() )
|
{
|
kpivalue.Value( macroplan.GetKPITargetInventoryLevel() );
|
kpivalue.Percentage( macroplan.GetKPITargetInventoryLevelInPecentage() );
|
}
|
// Fulfillment KPI
|
else if( kpiname = Translations::MP_GlobalParameters_KPIFulfillmentName() )
|
{
|
kpivalue.Value( macroplan.GetKPIFulfillment() );
|
kpivalue.Percentage( macroplan.GetKPIFulfillmentInPercentage() );
|
}
|
// Sales demand priority KPI
|
else if( kpiname = Translations::MP_GlobalParameters_KPISalesDemandPriorityName() )
|
{
|
kpivalue.Value( macroplan.GetKPISalesDemandPriority() );
|
}
|
// Minimum unit capacity KPI
|
else if( kpiname = Translations::MP_GlobalParameters_KPIMinimumUnitCapacityName() )
|
{
|
kpivalue.Value( macroplan.GetKPIMinimumUnitCapacity() );
|
}
|
// Fulfillment target KPI
|
else if( kpiname = Translations::MP_GlobalParameters_KPIFulfillmentTargetName() )
|
{
|
kpivalue.Value( macroplan.GetKPIFulfillmentTarget() );
|
kpivalue.Percentage( macroplan.GetKPIFulfillmentTargetPercentage() );
|
}
|
// Volume KPI
|
else if( kpiname = Translations::MP_GlobalParameters_KPIVolumeName() )
|
{
|
kpivalue.Value( macroplan.GetKPIVolume() );
|
}
|
// Unit capacity KPI
|
else if( kpiname = Translations::MP_GlobalParameters_KPIUnitCapacityName() )
|
{
|
kpivalue.Value( macroplan.GetKPIUnitCapacity() );
|
}
|
// Stocking point capacity KPI
|
else if( kpiname = Translations::MP_GlobalParameters_KPIStockingPointCapacityName() )
|
{
|
kpivalue.Value( macroplan.GetKPIStockingPointCapacity() );
|
}
|
// Postponement penalty KPI
|
else if( kpiname = Translations::MP_GlobalParameters_KPIPostponementPenaltyName() )
|
{
|
kpivalue.Value( macroplan.GetKPIPostponementPenalty() )
|
}
|
// On time fulfillment KPI
|
else if( kpiname = Translations::MP_GlobalParameters_KPIOnTimeFulfillmentName() )
|
{
|
kpivalue.Value( macroplan.GetKPIOnTimeFulfillment() );
|
kpivalue.Percentage( macroplan.GetKPIOnTimeFulfillmentInPercentage() );
|
}
|
// On time in full KPI
|
else if( kpiname = Translations::MP_GlobalParameters_KPIOnTimeInFullName() )
|
{
|
kpivalue.Value( macroplan.GetKPIOnTimeInFull() );
|
kpivalue.Percentage( macroplan.GetKPIOnTimeInFullInPercentage() );
|
}
|
// Inventory turns KPI
|
else if( kpiname = Translations::MP_GlobalParameters_KPIInventoryTurnsName() )
|
{
|
kpivalue.Value( macroplan.GetKPIInventoryTurns() );
|
}
|
// Supply target KPI
|
else if( kpiname = Translations::MP_GlobalParameters_KPISupplyTargetName() )
|
{
|
kpivalue.Value( macroplan.GetKPISupplyTarget() );
|
kpivalue.Percentage( macroplan.GetKPISupplyTargetInPercentage() );
|
}
|
// Minimum inventory KPI
|
else if( kpiname = Translations::MP_GlobalParameters_KPIMinimumInventoryLevelName() )
|
{
|
kpivalue.Value( macroplan.GetKPIMinimumInventoryLevel() );
|
}
|
// Maximum inventory KPI
|
else if( kpiname = Translations::MP_GlobalParameters_KPIMaximumInventoryLevelName() )
|
{
|
kpivalue.Value( macroplan.GetKPIMaximumInventoryLevel() );
|
}
|
// Campaign KPI
|
else if( kpiname = Translations::MP_GlobalParameters_KPICampaignName() )
|
{
|
kpivalue.Value( macroplan.GetKPICampaign() );
|
}
|
// Lot size KPI
|
else if( kpiname = Translations::MP_GlobalParameters_KPILotSizeName() )
|
{
|
kpivalue.Value( macroplan.GetKPILotSize() );
|
}
|
// Process minimum quantity KPI
|
else if( kpiname = Translations::MP_GlobalParameters_KPIProcessMinimumQuantity() )
|
{
|
kpivalue.Value( macroplan.GetKPIProcessMinimumQuantity() );
|
}
|
// Process maximum quantity KPI
|
else if( kpiname = Translations::MP_GlobalParameters_KPIProcessMaximumQuantity() )
|
{
|
kpivalue.Value( macroplan.GetKPIProcessMaximumQuantity() );
|
}
|
// Minimum supply KPI
|
else if( kpiname = Translations::MP_GlobalParameters_KPIMinimumSupplyName() )
|
{
|
kpivalue.Value( macroplan.GetKPIMinimumSupply() );
|
}
|
// Maximum supply KPI
|
else if( kpiname = Translations::MP_GlobalParameters_KPIMaximumSupplyName() )
|
{
|
kpivalue.Value( macroplan.GetKPIMaximumSupply() );
|
}
|
// Total expired quantity KPI
|
else if( kpiname = Translations::MP_GlobalParameters_KPITotalExpiredQuantity() )
|
{
|
kpivalue.Value( macroplan.GetKPITotalExpiredQuantity() );
|
}
|
// Number of shelf-life violation KPI
|
else if( kpiname = Translations::MP_GlobalParameters_KPINumberOfShelfLifeViolation() )
|
{
|
kpivalue.Value( macroplan.GetKPINumberOfShelfLifeViolation() );
|
}
|
// Sustainability - CO2 emission
|
else if( kpiname = Translations::MP_GlobalParameters_KPICO2Emission() )
|
{
|
kpivalue.Value( macroplan.GetKPICO2Emission() );
|
}
|
// Shift pattern changes penalty KPI
|
else if( kpiname = Translations::MP_GlobalParameters_KPIShiftPatternChangesPenalty() )
|
{
|
kpivalue.Value( macroplan.GetKPIShiftPatternChangesPenalty() );
|
}
|
|
// account kpis
|
else if( kpivalue.KPI().IsAccount() )
|
{
|
account := select( macroplan, Account_MP, a, a.Name() = kpiname );
|
kpivalue.Value( guard( account.ValueWithinKPIHorizon(), 0.0 ) );
|
}
|
*]
|
}
|