Datenverwaltungsfunktionen > Teilestrukturen verwalten > WindchillOptions- und Variantenfunktionen > Konfigurierbare Produktstrukturen mit dem Optionenfilter filtern > Ausdrücke während des Filterns von Optionen auswerten
  
Ausdrücke während des Filterns von Optionen auswerten
Beim Filtern des Verwendungs-Link werden zwei Arten von Ausdrücken berücksichtigt: Ausdrücke, die dem Verwendungs-Link zugewiesen sind, und Ausdrücke, die dem Kind-Teil des Verwendungs-Links zugewiesen sind. Wenn dem Kind-Teil ein Ausdruck zugewiesen ist, wird dieser immer zum Filtern des konfigurierbaren Kind-Teil verwendet. Wenn das Teil nicht-konfigurierbar ist, wird der Ausdruck nur dann berücksichtigt (und kann nur dann über die Benutzeroberfläche zugewiesen werden), wenn die Einstellung Allow Assignment of Expressions to Non-Configurable Items auf true festgelegt wird.
Der Verwendungs-Link wird herausgefiltert, wenn die Auswertung einer der Ausdrucksarten (sofern beide Arten vorhanden sind) FALSE ergibt.
Auswertungen von booleschen Ausdrücken
Während der Filterung wertet das System die zugewiesenen Ausdrücke aus, indem sie mit den im Optionenfilter vorgenommen Auswahlen verglichen werden. Wenn für eine Option mehrere Auswahlmöglichkeiten ausgewählt sind, wird diesen ausgewählten Auswahlmöglichkeiten der Wert true zugewiesen, während den nicht ausgewählten Auswahlmöglichkeiten der Wert false zugewiesen wird. Diese Werte werden im Ausdruck ersetzt, und der Ausdruck wird ausgewertet. Die Schnellauswertung eines booleschen Ausdrucks bestimmt den Wert des Ausdrucks, auch wenn einige Variablen des Ausdrucks nicht definiert sind. Betrachten Sie die folgenden Beispiele.
Fall 1
Der Ausdruck lautet RED && LARGE
Wenn der Wert der Variablen RED oder LARGEFALSE ist, ist der Wert des gesamten Ausdrucks FALSE, ungeachtet des Werts der anderen Variablen.
Fall 2
Der Ausdruck lautet RED||LARGE
Wenn der Wert der Variablen RED oder LARGETRUE ist, ist der Wert des gesamten Ausdrucks TRUE, ungeachtet des Werts der anderen Variablen.
Allgemeiner Fall
Diese Beispiele können auf den allgemeinen Fall von booleschen Ausdrücken erweitert werden, da sie in verschachtelte Konjunktionen/Disjunktionen/Negationen zerlegt werden können. Betrachten Sie z.B. diesen Ausdruck:
(X || Y) && (Z && W) && (V || W)
Wenn der Wert der Variablen ZFALSE ist, ergibt die Auswertung des gesamten booleschen Ausdrucks FALSE, unabhängig von den Werten der Variablen X, Y, W und V.
Zusätzliche Anwendungsfälle zum Filtern
Es gibt zusätzliche Anwendungsfälle, die beim Filtern einer konfigurierbaren Struktur berücksichtigt werden müssen:
In einer Produktstruktur können einfache und erweiterte Ausdrücke zu verschiedenen Modulvarianten zugewiesen werden. Beim Filtern von Optionen gilt Folgendes:
Im Falle von einfachen Ausdrücken berücksichtigt der Filter die Summe der Auswahl für das Element und den Verwendungs-Link. Wenn mindestens ein Ausdruck TRUE ausgibt, wird die Modulvariante nicht herausgefiltert.
Im Falle von erweiterten Ausdrücken wird die Modulvariante nicht herausgefiltert, wenn der Ausdruck für das Element und der Ausdruck für den Verwendungs-Link dieses Elements TRUE ausgeben müssen.
Ein Ausdruck wird dem Verwendungs-Link und den Vorkommen der Modulvariante in der konfigurierten Produktstruktur zugewiesen. Der Optionenfilter wertet in der folgenden Reihenfolge zuerst den Ausdruck aus, der dem Verwendungs-Link zugewiesen ist, und dann den Ausdruck, der seinen Vorkommen zugewiesen ist:
Wenn der zugewiesene Ausdruck FALSE ausgibt, wird die Modulvariante einschließlich all ihrer Vorkommen herausgefiltert.
Wenn der zugewiesene Ausdruck TRUE ausgibt, wertet der Optionenfilter den Ausdruck aus, der den Vorkommen zugewiesen ist. Bei FALSE wird ein Vorkommen herausgefiltert.