Quintiq file version 2.0
|
#parent: #root
|
Method DisplayGoalValue (
|
CapacityPlanningSuboptimizer_CapacityPlanningAlgorithm program,
|
const RunContextForCapacityPlanning runcontext
|
)
|
{
|
Description: 'Display goal values'
|
TextBody:
|
[*
|
slmp := this.CurrentSubOptimizerLevel().GetStrategyLevelMacroPlan();
|
|
info( Translations::Algorithm_MP_InfoGoalValuesForExecution( [String]this.CurrentSubOptimizerLevel().LevelNumber() ) );
|
info( Translations::Algorithm_MP_InfoScalingFactors( [String]runcontext.MassScalingFactor(), [String]runcontext.MonetaryScalingFactor() ) );
|
info( Translations::Algorithm_MP_InfoGoalScalingFactorForLevel( [String] slmp.GoalScaling() ) );
|
info( Translations::Algorithm_MP_InfoRelativeGoalSlackForLevel( [String] slmp.RelativeGoalSlack() ) );
|
|
weightlevels := runcontext.WeightLevelNonFinancial();
|
|
traverse( this, MacroPlan.StrategyMacroPlan.StrategyLevelMacroPlan, sl )
|
{
|
if( weightlevels.SlackLevel() = sl.Level() and weightlevels.SlackWeight() > 0.0 )
|
{
|
info( this.GetPrefix( program, weightlevels.SlackLevel() )
|
+ Translations::Algorithm_MP_InfoTotalSlack( [String]program.TotalSlackVariables().Get().OptimalValue() ) );
|
}
|
if( weightlevels.StockingPointCapacityLevel() = sl.Level() and weightlevels.StockingPointCapacityWeight() > 0.0 )
|
{
|
info( this.GetPrefix( program, weightlevels.StockingPointCapacityLevel() )
|
+ Translations::Algorithm_MP_InfoStockingPointCapacity( [String]program.TotalStockingPointCapacityVariables().Get().OptimalValue() ) );
|
}
|
|
if( runcontext.UseBlending() and weightlevels.BlendingLevel() = sl.Level() )
|
{
|
info( this.GetPrefix( program, weightlevels.BlendingLevel() )
|
+ Translations::Algorithm_MP_InfoBlending( [String]program.TotalBlendingVariables().Get().OptimalValue() ) );
|
}
|
if( weightlevels.CampaignLevel() = sl.Level() and weightlevels.CampaignWeight() > 0.0 )
|
{
|
info( this.GetPrefix( program, weightlevels.CampaignLevel() )
|
+ Translations::Algorithm_MP_InfoCampaign( [String]program.TotalCampaignVariables().Get().OptimalValue() ) );
|
}
|
|
if( weightlevels.UnitCapacityLevel() = sl.Level() and weightlevels.UnitCapacityWeight() > 0.0 )
|
{
|
info( this.GetPrefix( program, weightlevels.UnitCapacityLevel() )
|
+ Translations::Algorithm_MP_InfoUnitCapacity( [String]program.TotalUnitCapacityVariables().Get().OptimalValue() ) );
|
|
info( this.GetPrefix( program, weightlevels.UnitCapacityLevel() )
|
+ Translations::Algorithm_MP_InfoUnitSecondaryCapacity( [String]program.TotalUnitSecondaryCapacityVariables().Get().OptimalValue() ) );
|
}
|
|
if( weightlevels.InventoryMixBalancingLevel() = sl.Level() and weightlevels.InventoryMixBalancingWeight() > 0.0 )
|
{
|
info( this.GetPrefix( program, weightlevels.InventoryMixBalancingLevel() )
|
+ Translations::Algorithm_MP_InfoInventoryMixBalancing( [String]program.TotalInventoryMixBalancingVariables().Get().OptimalValue() ) );
|
}
|
if( weightlevels.LotSizeLevel() = sl.Level() and weightlevels.LotSizeWeight() > 0.0 )
|
{
|
info( this.GetPrefix( program, weightlevels.LotSizeLevel() )
|
+ Translations::Algorithm_MP_InfoLotSize( [String]program.TotalLotSizeVariables().Get().OptimalValue() ) );
|
}
|
if( weightlevels.MaximumInventoryLevel() = sl.Level() and weightlevels.MaximumInventoryLevelWeight() > 0.0 )
|
{
|
info( this.GetPrefix( program, weightlevels.MaximumInventoryLevel() )
|
+ Translations::Algorithm_MP_InfoMaximumInventoryLevel( [String]program.TotalMaximumInventoryLevelVariables().Get().OptimalValue() ) );
|
}
|
if( weightlevels.MinimumInventoryLevel() = sl.Level() and weightlevels.MinimumInventoryLevelWeight() > 0.0 )
|
{
|
info( this.GetPrefix( program, weightlevels.MinimumInventoryLevel() )
|
+ Translations::Algorithm_MP_InfoMinimumInventoryLevel( [String]program.TotalMinimumInventoryLevelVariables().Get().OptimalValue() ) );
|
}
|
if( weightlevels.MaximumSupplyLevel() = sl.Level() and weightlevels.MaximumSupplyWeight() > 0.0 )
|
{
|
info( this.GetPrefix( program, weightlevels.MaximumSupplyLevel() )
|
+ Translations::Algorithm_MP_InfoMaximumSupply( [String]program.TotalMaximumSupplyVariables().Get().OptimalValue() ) );
|
}
|
if( weightlevels.MinimumSupplyLevel() = sl.Level() and weightlevels.MinimumSupplyWeight() > 0.0 )
|
{
|
info( this.GetPrefix( program, weightlevels.MinimumSupplyLevel() )
|
+ Translations::Algorithm_MP_InfoMinimumSupply( [String]program.TotalMinimumSupplyVariables().Get().OptimalValue() ) );
|
}
|
if( weightlevels.MinimumUnitCapacityLevel() = sl.Level() and weightlevels.MinimumUnitCapacityWeight() > 0.0 )
|
{
|
info( this.GetPrefix( program, weightlevels.MinimumUnitCapacityLevel() )
|
+ Translations::Algorithm_MP_InfoMinimumUnitCapacity( [String]program.TotalMinimumUnitCapacityVariables().Get().OptimalValue() ) );
|
|
info( this.GetPrefix( program, weightlevels.MinimumUnitCapacityLevel() )
|
+ Translations::Algorithm_MP_InfoMinimumUnitSecondaryCapacity( [String]program.TotalMinimumUnitSecondaryCapacityVariables().Get().OptimalValue() ) );
|
}
|
if( weightlevels.PostponementPenaltyLevel() = sl.Level() and weightlevels.PostponementPenaltyWeight() > 0.0 )
|
{
|
info( this.GetPrefix( program, weightlevels.PostponementPenaltyLevel() )
|
+ Translations::Algorithm_MP_InfoPostponementPenalty( [String]program.TotalPostponementPenaltyVariables().Get().OptimalValue() ) );
|
}
|
if( weightlevels.ProcessMaximumQuantityLevel() = sl.Level() and weightlevels.ProcessMaximumQuantityWeight() > 0.0 )
|
{
|
info( this.GetPrefix( program, weightlevels.ProcessMaximumQuantityLevel() )
|
+ Translations::Algorithm_MP_InfoProcessMaximumQuantity( [String]program.TotalProcessMaximumQuantityVariables().Get().OptimalValue() ) );
|
}
|
|
if( weightlevels.SalesDemandPriorityLevel() = sl.Level() and weightlevels.SalesDemandPriorityWeight() > 0.0 )
|
{
|
info( this.GetPrefix( program, weightlevels.SalesDemandPriorityLevel() )
|
+ Translations::Algorithm_MP_InfoSalesDemandPriority( [String]program.TotalSalesDemandPriorityVariables().Get().OptimalValue() ) );
|
}
|
if( weightlevels.FulfillmentTargetLevel() = sl.Level() and weightlevels.FulfillmentTargetWeight() > 0.0 )
|
{
|
info( this.GetPrefix( program, weightlevels.FulfillmentTargetLevel() )
|
+ Translations::Algorithm_MP_InfoFulfillmentTarget( [String]program.TotalFulfillmentTargetVariables().Get().OptimalValue() ) );
|
}
|
|
if( weightlevels.FulfillmentLevel() = sl.Level() and weightlevels.FulfillmentWeight() > 0.0 )
|
{
|
info( this.GetPrefix( program, weightlevels.FulfillmentLevel() )
|
+ Translations::Algorithm_MP_InfoFulfillment( [String]program.TotalFulfillmentVariables().Get().OptimalValue() ) );
|
}
|
|
if( weightlevels.ServiceLevelLevel() = sl.Level() and weightlevels.ServiceLevelWeight() > 0.0 )
|
{
|
info( this.GetPrefix( program, weightlevels.ServiceLevelLevel() )
|
+ Translations::Algorithm_MP_InfoServiceLevel( [String]program.TotalServiceLevelVariables().Get().OptimalValue() ) );
|
}
|
|
if( weightlevels.SupplyTargetLevel() = sl.Level() and weightlevels.SupplyTargetWeight() > 0.0 )
|
{
|
info( this.GetPrefix( program, weightlevels.SupplyTargetLevel() )
|
+ Translations::Algorithm_MP_InfoSupplyTarget( [String]program.TotalSupplyTargetVariables().Get().OptimalValue() ) );
|
}
|
if( weightlevels.TargetInventoryLevel() = sl.Level() and weightlevels.TargetInventoryLevelWeight() > 0.0 )
|
{
|
info( this.GetPrefix( program, weightlevels.TargetInventoryLevel() )
|
+ Translations::Algorithm_MP_InfoTargetInventoryLevel( [String]program.TotalTargetInvLevelVariables().Get().OptimalValue() ) );
|
}
|
|
if( runcontext.UseExpiredQty() and weightlevels.ExpiredQtyLevel() = sl.Level() )
|
{
|
info( this.GetPrefix( program, weightlevels.ExpiredQtyLevel() )
|
+ Translations::Algorithm_MP_InfoTotalExpiredQty( [String] program.TotalExpiredQtyVariables().Get().OptimalValue() ));
|
}
|
|
if( weightlevels.CO2EmissionLevel() = sl.Level() and weightlevels.CO2EmissionWeight() > 0.0 )
|
{
|
info( this.GetPrefix( program, weightlevels.CO2EmissionLevel() )
|
+ Translations::Algorithm_MP_InfoCO2Emission( [String]program.TotalCO2EmissionVariables().Get().OptimalValue() ) );
|
}
|
if( weightlevels.ShiftPatternChangesPenaltyLevel() = sl.Level() and weightlevels.ShiftPatternChangesPenaltyWeight() > 0.0 )
|
{
|
info( this.GetPrefix( program, weightlevels.ShiftPatternChangesPenaltyLevel() )
|
+ Translations::Algorithm_MP_InfoShiftPatternChangesPenalty( [String] program.TotalShiftPatternChangesPenaltyVariables().Get().OptimalValue() ) );
|
}
|
}
|
*]
|
InterfaceProperties { Accessibility: 'Module' }
|
}
|