Zum Inhalt springen

Datentypen

Ein Feld hat genau einen von sechs Datentypen. Die Liste ist fest; freien Typtext gibt es nicht.

Typ Wofür Beispiel
text Text beliebiger Länge Comment, PartNumber
integer ganze Zahl, gezählt GoodParts, Scrap
numeric Dezimalzahl, gemessen CycleTime, Downtime
timestamptz Zeitpunkt mit Zeitzone Timestamp
boolean ja/nein LineStopped
file eine angehängte Datei Photo

integer und numeric bleiben getrennt, weil in der Fertigung entweder gezählt oder gemessen wird. Ein file-Feld hält den Verweis auf die Datei, nicht die Datei selbst.

Typ ändern im Feldraster stellt ein Feld auf einen anderen Typ um. TrakState behandelt das in drei Stufen:

Läuft ohne Rückfrage — die Umwandlung kann nie scheitern:

integer → numeric · integer → text · numeric → text · boolean → text · timestamptz → text

Wird erst geprüft — jede andere Umstellung. TrakState prüft zuerst jeden gespeicherten Wert gegen den neuen Typ. Lassen sich alle überführen, läuft die Umstellung wie die oben. Scheitert auch nur einer, wird nichts geändert: Ein Dialog meldet {{bad}} von {{total}} Wert(en) sind nicht überführbar und nennt bis zu fünf davon. Das Feld behält seinen Typ, bis diese Werte berichtigt oder entfernt sind; die Ansicht Daten auf dieser Seite zeigt Datensätze, ändert sie aber nicht.

Ist nicht erlaubt — jede Umstellung von oder nach file: Diese Typumwandlung ist nicht erlaubt. Ein Dateiverweis ist kein Zahlen- oder Textwert und umgekehrt.

Die Zusage dahinter: kein Vorgang wirft Datensätze still weg. Was verloren gehen kann, wird vorher gezählt und benannt.

Der Typ wird beim Speichern eines Datensatzes geprüft, und zwar auf dem Server — nicht erst in der Maske. Ein integer-Feld nimmt kein abc, ein Pflichtfeld keinen leeren Wert. Das gilt für jeden Weg herein: Erfassungsmaske, Maschine, Skript.