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
Abschnitt betitelt „Typ ändern“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.
Wo der Typ noch wirkt
Abschnitt betitelt „Wo der Typ noch wirkt“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.