EDI EDI-Konvertierung

Wie Sie CSV-Dateien mit i‑effect® in eine DB2-Datenbank konvertieren

Kurzfassung - In diesem Blogartikel möchten wir Ihnen anhand eines praktischen Beispiels erläutern, wie man mithilfe eines EDI-Konverters wie beispielsweise i‑effect® CSV-Daten in eine DB2-Datenbank konvertiert. Auch wenn sich der Artikel konkret auf zwei Datenformate beschränkt so sind diese gegen beliebige andere Formate austauschbar (XML, FLATFILE, EDIFACT, MYSQL, usw.).

Dienstag, 10. Dezember 2019
Wie Sie CSV-Dateien mit i‑effect<sup>®</sup> in eine DB2-Datenbank konvertieren

Ziel

Zunächst sollte das Ziel eindeutig definiert werden. Als funktionales Ziel gibt es die Anforderung, die Daten die ein Lagersystem erzeugt in Echtzeit ab zugreifen und an einem weiteren Speicherort zu speichern. Dies soll für Backup- und Statistikzwecke dienen: Beispielweise dazu um das System nachträglich um eine Visualisierungkomponente zu erweitern.

Als Ziel wird in diesem Fall die automatisierte Konvertierung von CSV-Dateien in eine DB2-Datenbank mit Fehlerbenachrichtigung definiert. Die Quell CSV-Datei stellt eine, regelmäßig von einem Lagersystem erstellte Nachricht dar, die den zu- und Abfluss von Paletten darstellt. Bei dieser Nachricht handelt es sich um eine CSV-Datei.

Visualisierung des Prozesses in der Produktion CSV Quelldatei: Visualisierung des Prozesses in der Produktion

Voraussetzungen

Durch die Definition des Ziels hat sich nun eine konkrete Aufgabe ergeben: Konvertierung der Quelldatei in das Zielformat. Um diese Aufgabe zu realisieren benötigt man also zunächst einmal eine geeignete technische Lösung für das Konvertieren der Daten. Häufig ist der erste Gedanke: "Programmierung". Grundsätzlich ist dieser Gedanke auch nicht falsch. Allerdings gibt es für die Konvertierung von Daten zwischen Standardformaten schon seit Jahrzehnten Standardsoftware - nämlich EDI- oder EAI-Tools. Standardsoftware dieser Art bewerkstelligt diese Aufgaben "out-of-the-box" mit allen eventuell benötigen Features und das auch ohne Programmierkenntnisse, denn diese werden im Unternehmen häufig für komplexere Programmierarbeiten benötigt. Für die weitere Betrachtung dieses Beispiel gehen wir nun davon aus, dass eine geeignete Standardsoftware wie beispielsweise i‑effect® vorhanden ist.

Quellformat

Der erste Schritt liegt nun in der formalen Beschreibung der Quellstruktur (bei einer CSV-Datei ist diese Beschreibung verglichen mit anderen Formaten relativ einfach). Diese Beschreibung benötigt die Standardsoftware um Dateien dieses Typs zu lesen oder zu erzeugen. Um diese Beschreibung zu erstellen muss man sich also zunächst die Schnittmenge aller bestehenden Dateien ansehen (bei CSV ist das vermutlich nicht notwendig - hier kann auch eine Datei reichen, da diese bereits alle Elemente enthält). Allerdings fällt beispielsweise in diesem Anwendungsfall bei der Betrachtung mehrer Dateien auf, dass es auch Dateien gibt in denen lediglich eine Zeile pro Datei gefüllt ist. Es können also 1-N Zeilen in der Datei vorkommen.

id;lager;palettennummer;x-koordinate;y-koordninate;z-koordinate;aktion;datum;uhrzeit 1;L1;4711;1;2;4;auslagerung;31.10.2019;14:14 2;L2;4800;3;4;1;einlagerung;31.10.2019;14:21 3;L3;4801;6;1;1;einlagerung;31.10.2019;14:25

Nach der Analyse der Datei kann nun die Beschreibung zu diesem CSV-Dateityp erstellt werden. Das Format einer solchen Beschreibung variiert von Software zu Software. Die wesentliche Informationen sind allerdings gleich (siehe hierzu auch CSV Artikel im Glossar).

Definiert werden:
  • Felder und Feldtypen (sowie die Reihenfolge)
  • Trennzeichen
  • Zeilenumbruch


    CRLF
    ;
    "
    
        
        
        
        
        
        
        
        
        
    

Im EDI-Mapping sieht die erstellte Beschreibung dann wie folgt aus:

CSV EDI-Mapping Beschreibung
Zielformat

Nach der Betrachtung des Quellformats ist nun die Analyse des Zielformats notwendig. In diesem Beispiel ist dies sehr einfach, da die Struktur nahezu 1-zu-1 in die Datenbank übernommen werden soll.

Die folgende Datenbankstruktur wird nun als Zielformat verwendet: CSV Datenbankstruktur definition für Zielformat

Die DB2-Datei wird wie folgt definiert:

CREATE TABLE X006.WHOUSEMOV (
       MID BIGINT,
       WHOUSE VARCHAR(30),
       PALLETID BIGINT,
       XCOOR SMALLINT,
       YCOOR SMALLINT,
       ZCOOR SMALLINT,
       DIR VARCHAR(1),
       MDATE DATE,
       MTIME TIME,
       ARCFILE VARCHAR(160),
       CONVDTM TIMESTAMP
);

Konvertierung (Mapping)

Im Datenmapping werden nun die Daten einander zugeordnet, das Mapping ist gleichsam der "Routenplaner" für die Daten. Das Mapping zu dieser Aufgabe sähe unter Verwendung eines graphischen Mappingeditors wie i‑effect® *MAPGUI dann so aus:

CSV Konvertierung zu DB2 mit i‑effect<sup>®</sup> MapGUI

Das Ergebnis des folgenden Mappings sieht also in der Datenbank auch wie erwartet aus:

CSV Ergebnis in der Datenbank

In der EDI-Software kann man das Ergebnis der Konvertierung nachvollziehen.

CSV EDI-Mapping Ergebnis EDI-Software i‑effect<sup>®</sup> WebControl CSV zu DB2 EDI-Mapping Ergebnis in EDI-Software: i‑effect<sup>®</sup> WebControl überprüfen Zurück zur Übersicht