
Zusammensetzung
Definition
Konzept, um Zusammensetzungen von Spezifikationen aus Einzelkomponenten im EH&S Expert abzubilden.
Verwendung
Viele Spezifikationen im EH&S sind Zusammensetzungen und bestehen aus mehreren Komponenten. Häufig können dabei Daten dieser Spezifikationen aus den Daten ihrer Komponenten abgeleitet werden. Um derartige Sachverhalte im EH&S Expert abbilden zu können, gibt es das Konzept der Zusammensetzung.
Struktur
Die Zusammensetzungen befinden sich in der Fakt-Sektion und werden mit
COMPOSITION <Zusammensetzungsname> eingeleitet und mit END beendet.
Für eine Spezifikations-Zusammensetzung soll die Dichte berechnet werden. Diese berechnete Dichte soll der Mittelwert der Dichten der Komponenten sein, gewichtet nach deren prozentualen Anteilen in der Spezifikations-Zusammensetzung. Die Fakt-Sektion könnte folgendermaßen aussehen:
|
FACTS | |||
|
DICHTE, | |||
|
COMPOSITION GENAUE_STOFFZUSAMMENSETZUNG | |||
|
PROZENT, | |||
|
DICHTE | |||
|
END | |||
Die Zusammensetzung Genaue_Stoffzusammensetzung wird über eine
Mapping-Tabelle mit einer Bewertungsart vom Typ Zusammensetzung aus dem EH&S verbunden. Für jede Komponente dieser Spezifikations-Zusammensetzung wird eine Instanz der Zusammensetzung im EH&S Expert angelegt.
Wenn Sie ein Regelwerk mit Hilfe des Regeleditors erstellen, dann erzeugt dieser automatisch eine Regeldatei mit der korrekten Syntax.
Integration
Die Fakten einer Zusammensetzung werden über
<Zusammensetzungsname>.<Faktname> angesprochen.Eine Regel, die einen Fakt aus einer Zusammensetzung enthält, wird für jede Instanz der Zusammensetzung, d.h. für jede Komponente ausgeführt. Wenn Sie wollen, daß eine Regel nur für bestimmte Komponenten ausgeführt wird, dann müssen Sie die IF-Bedingung entsprechend angeben.

Wenn eine Regel Fakten mehrerer Zusammensetzungen enthält, dann wird sie für alle Kombinationen der Instanzen der Zusammensetzungen ausgeführt. Bei unbedachter Anwendung auf große Datenmengen erfolgen dann möglicherweise sehr viele Regelanwendungen.

Eine Überprüfung auf 100% in einer Spezifikations-Zusammensetzung könnte folgendermaßen aussehen:
|
FACTS | ||||
|
SUMPROZENT := 0, | ||||
|
COMPOSITION COMP | ||||
|
PROZENT | ||||
|
END | ||||
|
RULES | ||||
|
RULE SummiereProzent | ||||
|
IF COMP.PROZENT > 0 | ||||
|
THEN | ||||
|
SUMPROZENT := SUMPROZENT + COMP.PROZENT | ||||
|
END | ||||
|
RULE AbortIfNot100 | ||||
|
IF SUMPROZENT <> 100 | ||||
|
THEN | ||||
|
ERROR("EC$137", "&&&&", "Die Summe der Prozentzahlen ist fehlerhaft!"), | ||||
|
ABORT() | ||||
|
END | ||||
|
END | ||||
In diesem Beispiel wird die Regel SummiereProzent für jede Instanz der Zusammensetzung COMP, also für jeden Inhaltsstoff, genau einmal ausgeführt. Dadurch wird in dem Fakt SUMPROZENT die Prozentzahl aufsummiert. In einer zweiten Regel wird bei Prozentzahlen ungleich 100 eine Fehlermeldung generiert.

Wenn für eine Zusammensetzung keine Instanz vorhanden ist, wird eine entsprechende Regel nicht ausgeführt. Bei einer Regel die mehrere Zusammensetzungen betrifft, genügt es, wenn eine Zusammensetzung keine Instanz enthält, damit die Regel nicht ausgeführt wird.