| Quintiq file version 2.0 | 
| #root | 
| #parent: #DomainModel | 
| Type OperationInputGroup | 
| { | 
|   #keys: '5[108486.1.161357152][108486.1.161357150][0.0.0][108486.1.161357151][108486.1.161357155]' | 
|   BaseType: Object | 
|   Description: 'MP' | 
|   OnCommit: 'this.IsManuallyConfigured( true )' | 
|   OnDelete: | 
|   [* | 
|     /* During import, the WIP SPs will be deleted. The corresponding PISP, OI/OO will also be deleted. | 
|        When the last OI in the OIG is deleted, OIG will be deleted. | 
|        Upon deletion of OIG, OperationLinkGroupID of the OperationLinks will be reset. | 
|        When the synchronization logic kicks in after the import, the OIs will be re-created in separate groups. | 
|        This check is to prevent the deletion of OIG upon deletion of the last OI. */ | 
|      | 
|     if( not isnull( this.MacroPlan() ) | 
|         and not this.MacroPlan().IsImporting() ) | 
|     { | 
|       // Remove input products from group | 
|       //IsAlive check is needed | 
|       //when deleting a operation, operation input would have been dead | 
|       //but when deleting from Oig, operation input are still alive and we will need to unassign them from OIG. | 
|       traverse( this, OperationInput, ri, true ) | 
|       { | 
|         // Remove all DependentDemandInputGroup linked to this OperationInput | 
|         // Delete the dependent demand input group from the same group | 
|         ddigs := selectset( ri, DependentDemandInputGroup, ddig, true ); | 
|         DependentDemandInputGroup::Delete( ddigs ); | 
|       } | 
|     } | 
|   *] | 
|   StructuredName: 'OperationInputGroups' | 
|   InterfaceProperties { Accessibility: 'Extensible' } | 
| } |