| Quintiq file version 2.0 | 
| #parent: #root | 
| StaticMethod CanMerge ( | 
|   output String feedback_o, | 
|   OperationOutputs oos | 
| ) const declarative remote as Boolean | 
| { | 
|   Description: 'Validate whether the passed in outputs can be merged.' | 
|   TextBody: | 
|   [* | 
|     feedback_o := ''; | 
|      | 
|     firstElement := oos.Element( 0 ); | 
|      | 
|     if( exists( oos, Elements, oo, not oo.IsSystem() ) )  // Not allowed to merge non system operation outputs, check this before size because it is more informative | 
|     { | 
|       feedback_o := Translations::MP_Routing_ValidateMergeNonSystemOperationOutputs(); | 
|     } | 
|     else if( oos.Size() < 2 ) | 
|     { | 
|       feedback_o := Translations::MP_Routing_ValidateMergeMultipleOutputs(); | 
|     } | 
|     else if( exists( oos, Elements, oo, oo.Operation() <> firstElement.Operation() ) )  // Only allowed to merge outputs that belong to the same operation | 
|     { | 
|       feedback_o := Translations::MP_Routing_ValidateMergeOperationOutputsSingleOperation(); | 
|     } | 
|      | 
|     return feedback_o = ''; | 
|   *] | 
| } |