OBS/System/Datenbankdefinition
Arten von Definitionsdateien
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.
Aufbau einer Datenbankdefinitionsdatei
Datenbank Flag
Flags sind besondere "Markierungen" für Felder, die an verschiedenen Stellen in OBS besondere Funktionalitäten erfüllen. Die Flags werden am Anfang einer Datei definiert, da diese zum Zeitpunkt der Verwendung in den Definition eines Tabellenfelds bekannt sein müssen.
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. |