Quintiq file version 2.0 #parent: #root Method SelectIntegrationDatasetIfExists () id:Method_LibDIF_GlobalState_SelectIntegrationDatasetIfExists { #keys: '[146730.0.571963926]' Body: [* // Get the name of the ImportExport-dataset based on the name of planning-dataset. componentMDS := null( ComponentMDSBase, owning ); mdsInstance := null( ComponentMDSInstance ); api := dhIntegrationAPI.Data(); if( not isnull( api ) ) { // Get the full name of the dataset. datasetName := LibDIF_IntegrationDataset::GetFullName( api.GetDatasetName() ); // Find the Integration-dataset. // Create a handle to the componentMDS, refresh it and get the LoadedMDSes again. // An explicit refresh is required to see the Integration-dataset when it was just loaded by GetIntegrationDataset(). componentMDS := ComponentMDS::CreateForLoadedMDSsOnly( Application ); componentMDS.Refresh(); componentMDS := ComponentMDS::CreateForLoadedMDSsOnly( Application ); mdsInstance := select( componentMDS, ComponentMDSKinds.ComponentMDSInstances, instance, instance.ComponentMDSKind().Kind() = LibDIF_IntegrationDataset::DATASETKIND() and instance.Parent().Name() = LibDIF_IntegrationDataset::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 Integration-dataset otherwise, because it belongs to a different planning-dataset. mdsInstance := select( componentMDS, ComponentMDSKinds.ComponentMDSInstances, instance, instance.ComponentMDSKind().Kind() = LibDIF_IntegrationDataset::DATASETKIND() and instance.IsSelected() ); if( not isnull( mdsInstance ) ) { mdsInstance.ComponentMDSKind().DeselectAll(); componentMDS.Apply(); } } *] }