| 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; | 
|   *] | 
| } |