Diese Funktionalität ist nur in bestimmten Ausbaustufen verfügbar.

Sie befinden sich hier: EEC > BASIS > Variantenmanagement > Erweiterungen > Auswahlformel

Auswahlformel

Für Einfügeplätze und Erweiterungspunkte kann eine Auswahlformel angegeben werden (siehe folgende Abbildung), durch die beim Instanziieren bzw. Aktualisieren ermittelt wird, welche der sichtbaren Bibliothekskomponenten instanziiert werden soll. Bei der manuellen Konfiguration kann die Auswahl auf eine Untermenge der Bibliothekskomponenten des Erweiterungspunkts eingeschränkt werden.

Für die Berechnung der Auswahlformel gelten folgende Regeln:

true bedeutet, dass jede mögliche Komponente genau einmal instanziiert wird bzw. die Instanz erhalten bleibt,
false bedeutet, dass keine Komponente instanziiert bzw. die Instanz gelöscht wird.

Eine Ganzzahl gibt die Anzahl der zu instanziierenden Komponenten an.

Liefert die Auswahlformel keinen booleschen Wert, oder tritt ein Formelfehler auf, wird dies nach Aktualisierung der Erweiterungspunkte angezeigt: Die betroffenen Bibliothekskomponenten werden instanziiert und es wird - analog zum Disabler - auf der Parameterseite das Ergebnis der Auswahlformel für diese Projektkomponente angezeigt. Das Ergebnis ist mit dem Formel-Inspektor analysierbar.

Hinweis:

Kann die Auswahlformel keinen Wert ermitteln, verhält sich der Einfügeplatz, bzw. Erweiterungspunkt so als ob keine Auswahlformel angegeben ist.

Die Modellvariable Maximale Anzahl der Klassen, die für die Auswahlformel eines Einfügeplatzes auszuwerten sind definiert einen Grenzwert, ab dem eine Warnung ausgegeben wird. Die Warnung weist den Benutzer darauf hin, dass die Auswertung der Auswahlformel eine längere Zeit in Anspruch nehmen wird. Dieser Fall tritt ein, wenn zahlreiche Bibliothekskomponenten dem Typ des Erweiterungspunkts entsprechen (wenn z.B. Engineering.Component als Typ gewählt wird). Die Auswahlformel muss dann für jede in Frage kommende Bibliothekskomponente berechnet werden.

Beispiel:

Auswahlformel:

=mc.$SelectionConditionAndType.name.startsWith('A')

Hier wird die Instanziierung von einer Bedingung in der umhüllenden, mechatronischen Komponente, kombiniert mit einer Namenskonvention der Klasse abhängig gemacht.

Hinweis:

Beim Instanziieren per Drag & Drop wird die Auswahlformel für den Einfügeplatz oder Erweiterungspunkt während des Drag-Vorgangs nicht berechnet, sodass die Instanziierung nicht ausgeschlossen werden kann. Sind in der instanziierten Komponente weitere Erweiterungspunkte mit Auswahlformeln enthalten, werden diese ausgewertet.