
Record
Definition
Konzept, um mehrfach bewertete Bewertungsarten (d.h. Bewertungsarten mit mehreren Datensätzen) im EH&S Expert abzubilden.
Verwendung
Es kann vorkommen, daß Datensätze einer mehrfach bewerteten Bewertungsart (z.B: Dichte eines Stoffes bei unterschiedlichen Temperaturen gemessen) in einer Regel benötigt werden oder daß der EH&S Expert zu einer Bewertungsart mehrere Datensätze anlegen soll (d.h. die Bewertungsart mehrfach bewerten soll). Hierzu müssen Sie den Fakt, der dem Merkmal der Bewertungsart entspricht, einem Record zuweisen.

Ein mehrfach bewertbares Merkmal können Sie innerhalb eines Datensatzes einer Bewertungsart durch den EH&S Expert mehrfach bewerten lassen, indem Sie im THEN-Teil der Regel dem entsprechenden
Struktur
Die Records befinden sich in der Fakt-Sektion und werden mit
RECORD <Recordname> eingeleitet und mit END beendet. Ein Record wird ähnlich einer Zusammensetzung formuliert.
Die Bewertungsart Orale Toxizität enthält drei Datensätze: einen Wert für den Typ LD50, einen für LD100 und einen für LD0. Die Formulierung des Records könnte folgendermaßen aussehen:
|
RECORD OraTox | ||
|
Typ, | ||
|
Genauigkeit, | ||
|
Wert | ||
|
END | ||

Wenn Sie ein Regelwerk mit Hilfe des Regeleditors erstellen, dann erzeugt dieser automatisch eine Regeldatei mit der korrekten Syntax.
Integration
Die Fakten eines Records werden über
<RECORDNAME>.<FAKTNAME> angesprochen. Regeln, die Records enthalten, werden für alle Instanzen des Records ausgeführt.Records können auch innerhalb von Zusammensetzungen auftreten. Dann werden die Fakten des Records über <
ZUSAMMENSETZUNGSNAME>.<RECORDNAME>.<FAKTNAME> angesprochen.Innerhalb des Regelwerkes können neue Instanzen eines Records angelegt werden. Die Fakten des neuen Records werden mittels <
RECORDNAME>.NEW.<FAKTNAME> mit Daten belegt. Das Anlegen neuer Records innerhalb einer Zusammensetzung ist nicht zulässig.Erst durch das Kommando
COMMIT wird die neue Instanz des Records wirklich angelegt und ist für normale Regelzugriffe vorhanden.
Eine neue Instanz für die akute orale Toxizität könnte wie folgt angelegt werden:
|
OraTox.NEW.TYP := "LD50", | |
|
OraTox.NEW.WERT := 2000, | |
|
OraTox.NEW.Genauigkeit := "ca.", | |
|
COMMIT(OraTox) |

Das folgende Regelwerk berechnet die minimale orale Toxizität für alle vorhandenen Typen in den Stoffen der Zusammensetzung. Die Vorbelegung des Fakts UsedOraTypes ist wichtig, da die Aktion der Regel CreateInstances sonst nie ausgeführt wird (siehe
Wann wird eine Regel ausgeführt?).|
FACTS | ||||
|
UsedOraTypes := [], | ||||
|
RECORD OraTox | ||||
|
Typ, | ||||
|
Wert | ||||
|
END | ||||
|
COMPOSITION COMP | ||||
|
RECORD OraTox | ||||
|
Typ, | ||||
|
Wert | ||||
|
END | ||||
|
END | ||||
|
RULES | ||||
|
// Lege EINE Instanz für jeden vorhandenen OraTox-Wert an. In UsedOraTypes wird gespeichert, was schon angelegt worden ist. | ||||
|
RULE CreateInstances | ||||
|
IF Not(COMP.OraTox.Typ [<] UsedOraTypes) | ||||
|
THEN | ||||
|
UsedOraTypes += COMP.OraTox.Typ, | ||||
|
OraTox.NEW.Typ := COMP.OraTox.Typ, | ||||
|
OraTox.NEW.Wert := COMP.OraTox.Wert, | ||||
|
COMMIT(OraTox) | ||||
|
END | ||||
|
RULE SetMinimalValues | ||||
|
IF OraTox.Typ = COMP.OraTox.Typ, | ||||
|
OraTox.Wert > COMP.OraTox.Wert | ||||
|
THEN | ||||
|
OraTox.Wert := COMP.OraTox.Wert | ||||
|
END | ||||
|
END | ||||
Wenn bei diesem Beispiel in fünf Komponenten je drei Typen von OraTox-Werten gepflegt wurden, dann wird die Regel CreateInstances für alle 3*5=15 gepflegten OraTox-Werte aufgerufen und kann dabei dreimal die Aktion ausführen. Danach existieren drei Instanzen des Records OraTox. Die Regel SetMinimalValues wird danach für alle 15*3=45 Kombinationen aus COMP.OraTox- und OraTox-Records angewendet.