| Quintiq file version 2.0 | 
| #parent: #root | 
| Method GetHasValidDate ( | 
|   output Strings feedback_o, | 
|   output Strings sanitycheckfeedback_o | 
| ) declarative remote as Boolean | 
| { | 
|   Description: "Checks if date is within macroplan's horizon" | 
|   TextBody: | 
|   [* | 
|     // ju jinn Nov-10-2014 (created) | 
|      | 
|     date := this.Date(); | 
|     macroplan := this.MacroPlan(); | 
|      | 
|     startdate := guard( macroplan.FirstPlanningPeriod().StartDate(), Date::MaxDate() ); | 
|     enddate := guard( macroplan.LastPlanningPeriod().EndDate(), Date::MinDate() ); | 
|      | 
|     isvalid := date >= startdate and date <= enddate; | 
|      | 
|     if( not isnull( feedback_o ) and not isvalid ) | 
|     { | 
|       instance := InventorySupply::GetInstanceText( this.Product_MP(), this.StockingPoint_MP(), date ); | 
|       feedback_o.Add( SanityCheckMessage::GetFormattedMessage( instance, | 
|                                                                Translations::MP_InventorySupply_ViolateHasValidDate( date, startdate, enddate ) ) ); | 
|       sanitycheckfeedback_o.Add( SanityCheckCategoryLevel::GetSanityCheckCategoryDataIssue() ); | 
|     } | 
|      | 
|     return isvalid; | 
|   *] | 
| } |