[Inhalt] [Zurück] [Weiter] [Thema] [Index]

PackRead()


Syntax:

PackRead (String datei, Relation rel, Bool overwrite, Bool merge, Bool aneu, String logdatei, Bool mitstatus [, Bool aenderlog])
datei: zu importierende Datei
rel: Information, welche Packs importiert werden sollen
overwrite: steuert, ob vorhandene Daten überschrieben werden
merge: steuert, ob Werte mit vorhandenen zusammengemischt werden
aneu: steuert, welche Interpretationsattribute sich durchsetzen
logdatei: Name der Log-Datei, ggf. mit =ALL
mitstatus: sollen Ablaufmeldungen ausgegeben werden?
modrec: optional: sollen für die importierten Bereich ein Eintrag in den Modification-Recordings rfolgen. Voreinstellung: True

Beispiel:

PackRead("pack.zpa", rel, True, False, True, "pack.log", False)

Beschreibung:

Liest die Packs aus einer Packdatei und schreibt sie in die entsprechenden Zeitreihen. Es werden dabei nur die Packs bearbeitet, deren Tupel in rel ein gesetztes Feld Select besitzen (siehe PackInfo()). Das Feld Nummer eines Tupels bestimmt, zu welchem Pack es gehört. Packs, zu denen kein Tupel gehört, werden nicht importiert. Der Benutzer kann also vorher wählen, welche Zeitreihen importiert werden sollen.

Die Attribute der importierten Zeitreihen richten sich nach dem jeweiligen Tupel in rel und nicht nach den in datei gespeicherten Attributen. Es ist also möglich, die Attribute (z.B. den Ort()) beim Import zu beeinflussen, indem man sie zwischen PackInfo() und PackRead umsetzt.

Das Feld OrtSynchro der Tupel in rel gilt nur für Reihen-Reihen, also Reihen, die als Y-Werte andere Reihen referenzieren. Ist OrtSynchro False (Voreinstellung nach PackInfo()), so richtet sich der Ort der referenzierten Reihe nach dem Pack in datei. Ist OrtSynchro True, dann erben die referenzierten Reihen stattdessen den Ort von der Reihen-Reihe.

Enthält die Packdatei mehrere Tausend Packs, ist es nicht sinnvoll, den Benutzer eine explizite Auswahl treffen zu lassen. Der Parameter overwrite steuert dann lediglich, ob bereits vorhandene Daten überschrieben werden sollen, oder nicht.

Der Parameter merge legt fest, ob die Werte in die vorhandenen hineingemischt werden, oder diese ersetzen. Das Standardverhalten von Zeitreihen ist immer, die vorhandenen zu ersetzen. Hineinmischen ist sinnvoll, wenn die Werte als einzelne Messwerte betrachtet werden, von denen keiner verloren gehen soll. Dies ist nur selten der Fall.

Mit aneu legt man fest, ob die Interpretationsattribute der Zeitreihe im Pack die der vorhandenen Zeitreihe ersetzen sollen (TRUE) oder nicht (FALSE).

Wenn der Name einer Logdatei angegeben ist, wird darin zu Packs ein Eintrag geschrieben, die zu einer Änderung der Attribute bzw. der Folgen-Formeln führten. Folgt hinter dem Namen der Logdatei =ALL, wird zu jedem Pack ein Eintrag geschrieben, was nützlich ist, um Abstürze genau zu lokalisieren. Die Logdatei wird daher nach jedem Schreiben einer Zeile geflusht.

Ist mitstatus True, so wird für jede eingelesene Zeitreihe eine Meldung in der Statuszeile (oder auf der Konsole) ausgegeben.

Ist modrec True, so führen die importierten Daten zu Einträgen im Änderungslogbuch (Modification Recordings).

Zeitreihen, die lokal nicht vorhanden sind, werden lokal neu angelegt. Dies wird in der log-Datei vermerkt.

Siehe auch PackInZR(), PackWrite(), PackHeader() und PackInfo().



toposoft 28.10.2024