| Quintiq file version 2.0 | 
| #parent: #root | 
| Method SynchronizeInputGroup ( | 
|   Boolean isfromdb, | 
|   Boolean isondelete | 
| ) | 
| { | 
|   Description: 'Create operation input group if required.' | 
|   TextBody: | 
|   [* | 
|     // DWE2 Mar-30-2016 (created) | 
|     operation := this.GetInputOperation(); | 
|      | 
|     // If is input | 
|     if( not isnull( operation ) ) | 
|     { | 
|       operationinputgroup := OperationInputGroup::FindOperationInputGroupTypeIndex( operation.ID(), this.GetInputGroupID() ); | 
|       siblingsize := this.GetSiblingInputs().Size(); | 
|        | 
|       // add siblings | 
|       if( isnull( operationinputgroup ) and siblingsize > 0 ) | 
|       { | 
|         OperationInputGroup::Create( operation, | 
|                                      this.GetInputGroupID(), | 
|                                      this.MacroPlan().GlobalParameters_MP().DefaultOperationInputOutputQuantity(), | 
|                                      isfromdb ); | 
|       }                                   | 
|       else | 
|       { | 
|         // operation is already in group and there is just 1 sibling left, remove group | 
|         // when is ondelete and there is only 1 sibling left, delete operationinputgroup | 
|         if(  siblingsize < 1  or ( siblingsize =1 and isondelete ) ) | 
|         { | 
|           inputgroups := selectset( operation, OperationInputGroup, oig, oig.GetCanBeDeleted( this ) ) | 
|           OperationInputGroup::Delete( inputgroups ); | 
|         }  | 
|       } | 
|     } | 
|   *] | 
| } |