| Quintiq file version 2.0 | 
| #parent: #root | 
| Method GetHasSameExcludeFromOptimizer ( | 
|   Strings feedback_o, | 
|   Strings sanitycheckfeedback_o | 
| ) declarative remote as Boolean | 
| { | 
|   Description: 'Check whether all the proudcts in the group has same IsExcludeFromOptimizer value' | 
|   TextBody: | 
|   [* | 
|     // cye1 Nov-14-2016 (created) | 
|     isvalid := true; | 
|      | 
|     numberofexclude := counter( this,  | 
|                                 OperationInput.ProductInStockingPoint_MP.Product_MP,  | 
|                                 p,  | 
|                                 p.IsExcludedFromOptimization() ); | 
|      | 
|     numberofinput := this.OperationInput( relsize ) | 
|     different := numberofinput - numberofexclude; | 
|      | 
|     isvalid := ( different = numberofinput ) or ( different =0 ); | 
|                                  | 
|                         | 
|     if( not isnull( feedback_o ) and not isvalid ) | 
|     { | 
|       instance := Translations::MP_OperationInputGroup_Instance( this.InputGroupID(), this.Operation().Name() ); | 
|       message :=  Translations::MP_OperationInputGroup_ViolateHasSameIsExcludeFromOptimizer(); | 
|       feedback_o.Add( SanityCheckMessage::GetFormattedMessage( instance, message ) ); | 
|       sanitycheckfeedback_o.Add( SanityCheckCategoryLevel::GetSanityCheckCategoryDataIssue() ); | 
|     } | 
|                         | 
|      | 
|     return isvalid; | 
|   *] | 
| } |