Quintiq file version 2.0 
 | 
#parent: #root 
 | 
Method GetHasValidInput ( 
 | 
  output Strings feedback_o, 
 | 
  output Strings sanitycheckfeedback_o 
 | 
) declarative remote as Boolean 
 | 
{ 
 | 
  Description: 'check if it has valid input' 
 | 
  TextBody: 
 | 
  [* 
 | 
    feedback := ''; 
 | 
    sanitycheckfeedback := ''; 
 | 
     
 | 
    macroplan := this.MacroPlan(); 
 | 
    // Validate input for GlobalParameters_MP 
 | 
    isvalid := GlobalParameters_MP::ValidateInput( feedback, 
 | 
                                                   sanitycheckfeedback, 
 | 
                                                   macroplan, 
 | 
                                                   macroplan.DefaultShiftPattern(), 
 | 
                                                   this.DisaggregationRatio(), 
 | 
                                                   this.NumberOfDecimals(), 
 | 
                                                   this.BalanceTolerance(), 
 | 
                                                   this.LotSizeTolerance(), 
 | 
                                                   this.BottleneckTolerance(), 
 | 
                                                   this.BottleneckWindowStart(), 
 | 
                                                   this.BottleneckWindowEnd(), 
 | 
                                                   this.StartOfKPIHorizon(), 
 | 
                                                   this.EndOfKPIHorizon(), 
 | 
                                                   this.DefaultSmartPlanStrategy(), 
 | 
                                                   this.UnitLowerBottleneckThreshold(), 
 | 
                                                   this.UnitUpperBottleneckThreshold(), 
 | 
                                                   this.SanityCheckLimit(), 
 | 
                                                   this.AbsoluteUpperLimit(), 
 | 
                                                   this.AbsoluteLowerLimit(), 
 | 
                                                   this.DefaultAllocation(), 
 | 
                                                   this.DefaultEfficiency(), 
 | 
                                                   this.DefaultMinCapacityPerDayForUnit(), 
 | 
                                                   this.DefaultMaxCapacityPerDayForUnit(), 
 | 
                                                   this.DefaultMaxLoadPercentage(), 
 | 
                                                   this.DefaultMaxCapacityForStockingPoint(), 
 | 
                                                   this.DefaultOperationInputOutputQuantity(), 
 | 
                                                   this.HasDefaultInventoryHoldingCost(), 
 | 
                                                   this.DefaultAccountForInventoryHolding(), 
 | 
                                                   this.HasAbsoluteValueForInventoryHolding(), 
 | 
                                                   this.DefaultAbsoluteValueForInventoryHolding(), 
 | 
                                                   this.DefaultAnnualInterestRateForInventoryHolding(), 
 | 
                                                   this.PeriodSpecificationForUnitActual(), 
 | 
                                                   this.DefaultNumberOfPeriodsForAvgDemand(), 
 | 
                                                   this.NoiseThresholdOptimizerOutput(), 
 | 
                                                   this.NumberOfPeriodsSmartPlan(), 
 | 
                                                   this.UseSlidingWindowsApproach(), 
 | 
                                                   this.NumberOfPeriodsInWindow(), 
 | 
                                                   this.NumberOfPeriodsPerSlide(), 
 | 
                                                   this.DefaultServiceLevel(),  
 | 
                                                   this.StockingPointBottleneckThreshold() 
 | 
                                                   ); 
 | 
     
 | 
    // Add feedback text if input is not valid 
 | 
    if( not isnull( feedback_o ) and not isvalid ) 
 | 
    { 
 | 
      feedback_o.Add( feedback ); 
 | 
      sanitycheckfeedback_o.Add( sanitycheckfeedback ); 
 | 
    } 
 | 
     
 | 
    return isvalid; 
 | 
  *] 
 | 
} 
 |