OBS/System/Datenbankdefinition
Definition von Tabellen und Feldern
OBS Standard
Die Datenbankdefinition wird beim OBS-Update mit ausgeliefert und befindet sich im OBS-Unterverzeichnis sys in der Datei obsdb.sys.
individuelle Tabellen und Felder
Standardtabellen von OBS können sich erweitern lassen oder auch neue Tabellen definiert werden. Die Definition muss ebenfalls im sys-Verzeichnis abgelegt werden. Der Dateiname muss mit User_ beginnen, auf _obsdb.sys enden und dazwischen Ihre Kundennummer enthalten. Sollten Sie mit mehreren Installationen arbeiten wird zur Kundennummer möglicherweise noch eine Sub-Identifikation benötigt.
Beispiel Dateiname: User_101234_obsdb.sys.
Definition einer Tabelle
Felder
Felder werden mit #FELDNAME hinzugefügt. Dahinter werden dann mit Komma getrennt folgende weitere Angaben gemacht:
Angabe | Beschreibung |
---|---|
Feldname | Name des Tabellenfeld bzw Tabellenspalte. Die Definition darf nur aus A bis Z, 0 bis 9 und Unterstrich bestehen. Umlaute sind nicht gültig. FELD_STRASSE ist OK FELD_STRAßE ist FALSCH |
Typ | Einzelner Buchstabe. Dieser definiert den Datentyp für die Speicherung. Aktuell Unterstützt werden in der Definition:
|
Feldlänge | Gesamtlänge der Daten, die maximal in das Feld geschrieben werden können. Wenn Sie z. B. eine OBS-Artikelnummer in ein Feld schreiben möchten, muss das Feld mindestens eine Länge von 25 haben, das dies die maximale Länge einer OBS-Artikelnummer ist. Beachten Sie, dass bei Dezimalzahlen die Gesamtlänge den Vor- und Nachkommastellen entsprechen muss. Prozentzahlen von 0 bis 100 mit zwei Nachkommastellen benötigt also eine Länge von mindestens 5. |
Nachkommastellen | Nur gültig bei Dezimalzahlen. Darf nicht gleich oder Größer sein als die Gesamtlänge - 1, da immer mindestens eine Vorkommastelle vorhanden sein muss. |
Picture/Maske | Spannend, wenn Datenbankfelder in Eingabemaske geladen werden. Die Maske sollte daher zu Typ, Feldlänge und Nachkommastellen passen. Folgende Angaben sind erlaubt:
|
Flags | Flags sind besondere Markierungen für Felder, welche zu besonderen Verhalten von OBS führen. Wenn mehrere Flags angegeben werden sollen, dann sind diese mit Komma zu trennen. Flags:
HINWEIS: Diese Auflistung kann unvollständig sein. Eine Definion und/oder Beschreibung finden Sie am Anfang der obsdb.sys. Suchen Sie nach #DBFLAG.
|
Beispiel für ein Feld mit eine OBS-Artikelnummer (Flag ARTIKELNR):
#FELDNAME MEIN_FELD , C , 25 , 0 , "CCCCCCCCCCCCCCCCCCCCCCCCC" , ARTIKELNR , ARTIKELDELCHK
Fehler in der Definition
Beim Starten von OBS erhalten Sie bei Fehlern in der Definition folgende Meldung (ID: Y006GZTPFV):
Sollte dies der Fall sein, prüfen Sie die adminerror.txt im OBS-Unterverzeichnis ..\data\debug\.
Fehler | Lösung |
---|---|
Tabelle "Tabellenname" Feldname "Feld" Maske passt nicht zur Definition! | Die Maske enthält unerlaubte Zeichen für den Typen oder ist zu lang. siehe dazu Definition Felder |
Tabelle "Tabellenname" Feldname "Feld" Feldlänge 0 nicht erlaubt! | In der Spalte für die Feldlänge steht eine 0. Tragen Sie hier die gewünschte Feldlänge ein. |