Stammdaten

Anleitungen zur Administration, Integration und Verwendung von Stammdaten.

Stammdaten

Stammdaten dienen in Squeeze zur Erkennung und Plausiblisierung von Merkmalen auf den jeweiligen Dokumententypen.

Stammdaten werden in Squeeze in der Datenbank als Tabelle angelegt. Dabei können beliebig viele unterschiedliche Spalten konfiguriert werden.

Es können unbegrenzt viele Stammdatentabellen angelegt werden.

Klassische Beispiele für Stammdatentabellen:

Squeeze kann die auf dem Dokument gefundenen Merkmale in den Stammdaten plausiblisieren und / oder auf zugehörige Werte umsetzen.

Die Stammdaten können auf verschiedene Art und Weise aktualisiert / gepflegt werden:

In Sonderfällen ist auch der Import mittels Datenbank-Skript möglich, allerdings nicht im Standard-Cloudbetrieb.

Anlegen einer neuen Stammdatentabelle im Webclient

Das Anlegen einer neuen Stammdatentabelle in Squeeze muss initial via CSV-Upload aus dem Webclient erfolgen.

image-1649060596506.png

Beim Klick auf den Reiter Stammdaten öffnet sich der Dialog für die Stammdatenkonfiguration.

Die Oben aufgeführten Stammdatentabellen werden aktuell mit dem Invoice Template ausgeliefert.

image-1649060706716.png

Eine neue Stammdatentabelle wird über das Symbol "Neuer Eintrag" angelegt.

Im nächsten Dialog wird der technische Name und der Anzeigenamen angegeben.

image-1649060750960.png

 

 

Konfiguration und Initialisieren einer neuen Stammdatentabelle via CSV-Upload

Im Webclient wird die Konfiguration der Spalten für diese Stammdatentabelle durchgeführt.

Stammdateneigenschaften

Mit einem Klick auf den Eintrag in der Liste öffnet sich der Konfigurationsdialog für die Stammdatentabelle.

image-1649060918611.png

Spaltenkonfiguration

Zuerst werden die Spalten konfiguriert. Beim Klick auf den Reiter Spalten öffnet sich der Dialog zum Konfigurieren der Tabellenspalten.

image-1649061004570.png

Mit dem Symbol "Neuer Eintrag" können neue Spalten hinzugefügt werden.

image-1649061054415.png

Wichtig!: Beim Betätigen des Buttons "Tabelle anlegen/zurücksetzen" werden alle Datensätze innerhalb der Tabelle gelöscht.

Hier werden folgende Informationen benötigt:

Eigenschaft Beschreibung
Name Technischer Name für der Datenbankspalte
Beschreibung Anzeigenamen für der Datenbankspalte
Quelle externer Spaltenname (z.B. die Spaltenüberschrift in einer CSV-Datei)

Jede Stammdatentabelle in Squeeze benötigt mindestens eine ID-Spalte.

Es können dann beliebig viele eigene Spalten definiert werden.

Test-Tabelle mit id-Spalte + 2 weitere Spalten:

image-1649061129272.png

Nachdem die Spalten konfiguriert sind, wird eine CSV-Datei benötigt um die Tabelle auf dem Datenbankserver initial zu erstellen.

Die CSV Datei muss die selben Überschriften enthalten, wie in der Spaltenkonfiguration unter Quelle angegeben worden ist. Die Reihenfolge der Überschriften spielt keine Rolle.

WICHTIG: die Schreibweise der Spaltenüberschriften in der CSV-Datei ist case-sensitive. Das bedeutet Groß-Kleinschreibung ist relevant.

CSV-Datei Beispiel für die obige Tabelle:

image-1583510696508.png

Für die Werte-Zeilen müssen keine ID´s angegeben werden. Die ID Spalte ist eine Auto-Inkrement Spalte und erzeugt eigene fortlaufende ID´s beim Upload.

Nachdem die CSV-Datei erstellt wurde kann die Initialisierung der neuen Stammdatentabelle erfolgen mit einem Klick auf den Reiter Upload.

image-1649061188375.png

Die übergeben Werte können mit einem Klick auf den Reiter Daten geprüft werden.

image-1649062298131.png

Daten hinzufügen

Mit dem Webclient können manuell mit dem Symbol "NeuerEintrag" weitere Werte hinzugefügt werden.

image-1649062378547.png

Den neuen Datensatz mit dem Speichern Button bestätigen.

image-1649062412805.png

 

 

Export von Stammdaten als CSV

Neben dem Import von Stammdaten als CSV gibt es ab Squeeze 2.5 auch einen Export, der sich ähnlich verhält.

Voraussetzungen

Der CSV-Export steht nur dem Admin-User zur Verfügung, nicht normalen Usern.

Export per API

Am einfachsten kann man das ganze mit Hilfe der integrierten Swagger-UI ausprobieren:

image-1690882782971.png

Als Parameter tableId gibt man die numerische ID einer existierenden Stammdatentabelle an. Das resultierende File wird danach als Download-Link in der Swagger-UI angeboten.

Export per GUI

tbd

 

Stammdaten ab Squeeze 2.5

Mit dem Release von Squeeze 2.5 haben sich bei der Benutzung von Stammdaten ein paar Details geändert. Diese Seite soll eine Übersicht geben und helfen eventuelle Probleme beim Update zu umgehen.

Lese- und Schreiboperationen

Soweit die Stammdaten nur gelesen und geschrieben werden ist keine Anpassung notwendig. Das betrifft insbesondere auch die Verwendung in DB-Link Lokatoren, welche lesend auf die Daten zugreifen.

Änderungen der Datenstruktur

Alle Änderungen der Struktur werden direkt umgesetzt. Nach dem Erzeugen einer Tabelle oder Spalte können dort direkt Daten geschrieben werden, ein separates Initialisieren der Tabelle (mit dem Verlust aller Daten) ist nicht mehr erforderlich. Die Daten in einer Tabelle werden bei Änderungen auch beibehalten, beispielsweise wenn man nur eine Tabelle oder Spalte umbenennt.

Integration existierender Tabellen

In Squeeze bis Version 2.4 gab es on-premise die Möglichkeit existierende (also nicht von Squeeze angelegte und verwaltete) DB-Tabellen oder -Views als Stammdaten zu integrieren. Dieses Feature war nie konsequent umgesetzt, was zu Bugs führte und mit Squeeze 2.5 entfernt wurde, um die Benutzung zu vereinheitlichen.

Bei einem Update auf Squeeze 2.5 sollte eine existierende Integration zunächst nicht betroffen sein, Zugriff auf Daten also weiterhin funktionieren. Was man jedoch vermeiden sollte ist die Struktur dieser Tabellen über Squeeze anzupassen. Es besteht hier die Gefahr von Datenverlusten!

Falls für eine on-premise Installation eine derartige Integration notwendig ist, müsste das als Sonderanpassung umgesetzt werden.

Falls sie vor Squeeze Stammdatentabellen entweder auf ihre eigenen SQL Tabellen- und Views oder produktinterne Tabellen eingerichtet haben, berücksichtigen Sie, dass ein Update auf Squeeze > 2.5 mit Support-Aufwänden verbunden sein kann.

Systeminterne Stammdatentabellen

Squeeze hat ein paar Stammdatentabellen die Teil des Systems selbst sind, also nicht erst durch manuelle Konfiguration oder das Invoices-Paket erstellt werden. Diese Daten werden als Stammdaten bereitgestellt, damit man mit den existierenden Mechanismen auf die Daten zugreifen kann. Insbesondere kann man per UI die Daten Pflegen und DB-Link Lokatoren auf diesen Daten erstellen. Da interne Abhängigkeiten auf die Struktur dieser Daten besteht, sind diese Tabellen ab Squeeze 2.5 geschützt. Modifikationen der Struktur werden daher vom System nicht mehr zugelassen.

Betroffen sind hiervon die folgenden Tabellen: