| Quintiq file version 2.0 | 
| #parent: #root | 
| Method SelectImportExportDatasetIfExists () id:Method_LibCal_GlobalState_SelectImportExportDatasetIfExists | 
| { | 
|   #keys: '[131094.1.1095801689]' | 
|   Body: | 
|   [* | 
|     // Get the name of the ImportExport-dataset based on the name of planning-dataset. | 
|     componentMDS := null( ComponentMDSBase, owning ); | 
|     mdsInstance  := null( ComponentMDSInstance ); | 
|     importExport := dhImportExport.Data(); | 
|      | 
|     if( not isnull( importExport ) ) | 
|     { | 
|       // Get the full name of the dataset. | 
|       datasetName := LibCal_ImportExportDataset::GetFullName( dhImportExport.Data().GetDatasetName() ); | 
|      | 
|       // Find the ImportExport-dataset. | 
|       // Create a handle to the componentMDS, refresh it and get the LoadedMDSes again. | 
|       // An explicit refresh is required to see the ImportExport-dataset when it was just loaded by EnsureImportExportDataset(). | 
|       componentMDS := ComponentMDS::CreateForLoadedMDSsOnly( Application ); | 
|      | 
|       componentMDS.Refresh(); | 
|       componentMDS := ComponentMDS::CreateForLoadedMDSsOnly( Application ); | 
|      | 
|       mdsInstance  := select( componentMDS, ComponentMDSKinds.ComponentMDSInstances, instance, | 
|                               instance.ComponentMDSKind().Kind() = LibCal_ImportExportDataset::DATASETKIND()   and | 
|                               instance.Parent().Name()           = LibCal_ImportExportDataset::DATASETFOLDER() and | 
|                               instance.Name()                    = datasetName ); | 
|     } | 
|      | 
|     // Select the dataset if it exists... | 
|     if( not isnull( mdsInstance ) ) | 
|     { | 
|       mdsInstance.ComponentMDSKind().SelectInstance( mdsInstance ); | 
|       componentMDS.Apply(); | 
|     } | 
|     else | 
|     { | 
|       // ... deselect the currenly selected ImportExport-dataset otherwise, because it belongs to a different planning-dataset. | 
|       mdsInstance := select( componentMDS, ComponentMDSKinds.ComponentMDSInstances, instance, | 
|                              instance.ComponentMDSKind().Kind() = LibCal_ImportExportDataset::DATASETKIND() and | 
|                              instance.IsSelected() ); | 
|       if( not isnull( mdsInstance ) ) | 
|       { | 
|         mdsInstance.ComponentMDSKind().DeselectAll(); | 
|         componentMDS.Apply(); | 
|       } | 
|     } | 
|   *] | 
| } |