Quintiq file version 2.0 #parent: #root Method SelectScenarioReadOnly ( Scenario scenario ) as Boolean id:Method_ApplicationLibMacroPlanner_SelectScenarioReadOnly { #keys: '[144528.3.487223653]' Body: [* // Select the active MacroPlan based on passed in scenario // Set active MacroPlan to the application // ComponentMDS::Create( Application ) is not available in Editor -- still finding, if exist, all this code will be moved. status := false; if( not isnull( scenario ) ) { loop := true; p := Progress::Level( 'Loading scenario...', 10 ); // changed the operation in "p.Current() < p.Maximum()" from <= to < as p.Maximum will never be reached // causing an infinite loop when a dataset is no longer available while( loop and p.Current() < p.Maximum() ) { componentmds := ComponentMDS::CreateForLoadedMDSsOnly( Application ); mdsinstance := select( componentmds, ComponentMDSKinds.ComponentMDSInstances, m, m.MDSID().MDSKey() = scenario.DatasetMDSID() ); if( not isnull( mdsinstance ) ) { mdsinstance.ComponentMDSKind().SelectInstance( mdsinstance ); componentmds.Apply(); // To set the data holder if only a scenario has changed. if( DataHolderActiveScenario.Data() <> scenario ) { DataHolderActiveScenario.Data( scenario ); } status := true; loop := false; } p.Increment(); } } return status; *] }