| Quintiq file version 2.0 | 
| #parent: #root | 
| Method GetHasValidRestriction ( | 
|   output Strings feedback_o, | 
|   output Strings sanitycheckfeedback_o | 
| ) declarative remote as Boolean | 
| { | 
|   Description: 'Check if this sales demand of higher product level can be supply by at least one of the product leaf.' | 
|   TextBody: | 
|   [* | 
|     // Vincent Sep-2-2016 (created) | 
|      | 
|     isvalid := this.IsLeaf()  | 
|                or exists( this.Product_MP().GetLeaves(), | 
|                           Elements,  | 
|                           product, | 
|                           this.GetIsProductAllowed( product ) | 
|                           ); | 
|                         | 
|     if( not isnull( feedback_o ) and not isvalid ) | 
|     { | 
|       instance := SalesDemandBase::GetInstanceText( this.Product_MP(), | 
|                                                 this.SalesSegment_MP(), | 
|                                                 this.StartDate(), | 
|                                                 this.EndDate(), | 
|                                                 this.GetTypeName() ); | 
|      | 
|       feedback_o.Add( SanityCheckMessage::GetFormattedMessage( instance, Translations::MP_SalesDemand_InvalidRestriction( this.GetTypeName() ) ) ); | 
|       sanitycheckfeedback_o.Add( SanityCheckCategoryLevel::GetSanityCheckCategoryDataIssue() ); | 
|     } | 
|      | 
|     return isvalid; | 
|   *] | 
| } |