Quintiq file version 2.0
|
#parent: #root
|
Method GetOrCreateMatchingConfiguration (KpiMetaDatas kpis) as DssKpiConfiguration
|
{
|
Description: 'Gets or creates a Kpi Configuration that matches the Kpi specified in the argument.'
|
TextBody:
|
[*
|
// First try to find a matching configuration.
|
configurations := selectset( this, Configuration, config, config.NumberOfKpis() = kpis.Size() );
|
configuration := null( DssKpiConfiguration );
|
kpiCompareString := DssKpiConfiguration::CreateKpiCompareString( kpis );
|
|
traverse( configurations, Elements, config, isnull( configuration ) )
|
{
|
if ( config.Matches( kpiCompareString ) )
|
{
|
configuration := config;
|
}
|
}
|
|
// If no matching configuration has been found, then create a new one.
|
if ( isnull( configuration ) )
|
{
|
configuration := DssKpiConfiguration::Create( this, kpis );
|
}
|
|
return configuration;
|
*]
|
InterfaceProperties { Accessibility: 'Module' }
|
}
|