Datenbank DEX_MasterData
Für die Stammdatentabellen wird eine separate SQL Datenbank DEX_MasterData mit diversen Tabellen für MS SQL Server und MySQL Server zur Verfügung gestellt. Die Datenbank DEX_Workflow verwaltet hingegen sämtliche Konfigurationen und Einstellungen.
Das DEXPRO Template-Lösungen bieten im Standardumfang eine detaillierte SQL basierte Tabellenstruktur an, welche aus externen Systemen befüllt werden kann. Die in den Templates hinterlegte Programmlogik greift auf die definierten Tabellen zu und kann deren Inhalte direkt in den dafür vorgesehenen Szenarien verwenden. Zu den einzelnen Tabellen existieren passende Felder und die Pop-Up-Auswahlfenster und Autocomplete-Funktionen sind auf diese Datenbank-Tabellen ausgerichtet. Sobald die Tabellen mit Stammdaten gefüllt wurden und die zugehörigen Felder aktiviert wurden können die Funktionen in der Anwendung getestet werden.
Der Großteil der Stammdatentabellen kann fixen Daten zugeordnet werden. So wurde die Tabelle Accounting_GLAccount für Sachkonten erstellt und die Tabelle OrderData stellt Bestell-Daten bereit. Weitere Tabellen wie Accounting_Category oder Accounting_Custom sind Platzhalter für zusätzliche Stammdaten. Genauere Erläuterungen gibt es in den einzelnen Kapiteln zu den Tabellen.
Es gibt einen grundsätzlichen Aufbau für die Stammdatentabellen. Einige Spalten sind in allen Tabellen enthalten und werden in der folgenden Tabellarischen Ansicht einmal erläutert.
| Spaltenname | Typ | NULL-Werte zulassen | Erläuterung |
| ID | bigint | Nein | Eindeutige ID (Auto-Inkrement). |
| Licence | nvarchar(50) | Nein | Documents-Lizenzname (PEM). |
| Principal | nvarchar(50) | Nein | Technischer Mandant oder 'ANY' |
| CompanyCode | nvarchar(50) | Nein | Technischer Buchungskreis oder 'ANY' |
| InsertTS | datetime | Nein | Wird automatisch beim Insert gesetzt |
| UpdateTS | datetime | Ja | Wird automatisch bei einem Update gesetzt |
Die ID-Spalte wird technisch zwingend in den Pop-Ups und für die WEB-Darstellung benötigt. Der Großteil der Tabellen kann bei Bedarf auch manuell über Konfigurationen der WEB-Anwendung erfolgen. Hierfür wird die ID-Spalte ebenfalls zwingend benötigt.
Alle Abfragen auf die Datenbank-Tabellen beinhalten den Documents-Lizenznamen. Die Licence-Tabellenspalten können in der Datenbank mit dem Lizenznamen vorbelegt werden.
In der Regel benötigen Kunden nur eine Angabe,Angabe um interne Mandanten zu unterscheiden. Einige Buchungs-Systeme wie SAP bieten zusätzlichjedoch die Möglichkeit zwischen Mandant und Buchungskreis zu unterscheiden. Die Spalten Principal und CompanyCode werden in allen Abfragen verwendet und es wird jeweils nach dem spezifischen Wert aus der Vorgangsakte gesucht. Zusätzlich wird mit einem 'Oder' verknüpft in beiden Spalten nach dem fixen Wert 'ANY' gesucht. HierdurchDurch die Angabe von 'ANY' müssen Mandanten- oder Buchungskreis-übergreifende Stammdaten nicht mehrfach angelegt werdenwerden. undWenn wennzum Beispiel der Buchungskreis nicht verwendet wird kann in allen Tabellen an den CompanyCode-Spalten dieser fixe Wert hinterlegt werden.
Beim Schreiben in die Datenbank wird der Spaltenwert InsertTS automatisch auf den aktuellen Zeitstempel gesetzt. Hierdurch kann der Support sehen wann die Stammdaten zuletzt geschrieben wurden. Häufig werden die Tabellen bei der Stammdatenübertragung aus dem führenden System komplett gelöscht und neu geschrieben. Während der Übertragung stehen die Stammdaten temporär nicht komplett zur Verfügung. Bei großen Stammdaten-Mengen bietet sich ein Job-Lauf ausserhalb der Arbeitszeiten an. Wie häufig Stammdaten aktualisiert werden können muss projektspezifisch entschieden werden und ist stark abhängig von der Laufzeit der Übertragung. Ein häufiger genannter Fall ist die Anlage neuer Kreditoren im führenden System bei der Validierung von Rechnungen. Die neuen Kreditor-Stammdaten stehen erst bei einer erneuten Stammdaten-Übertragung zur Verfügung. Für solche Fälle kann eine Übertragung eines einzelnen Datensatzes erstellt werden oder es wird am Mittag eine zusätzliche Übertragung ausgeführt oder die Anwender setzen sich die Rechnung auf Wiedervorlage für den nächsten Tag.
Alternativ können die Stammdaten auch aktualisiert werden. Aktualisierungs-Jobs sind jedoch deutlich aufwändiger - haben bei großen Datenmengen aber den Vorteil, dass man den Job häufiger durchführen kann, ohne dass zwischendurch Daten fehlen. Bei einer Aktualisierung einer Spalte bleibt der InsertTS-Zeitstempel bestehen und der UpdateTS wird automatisch auf den aktuellen Zeitstempel gesetzt.
