CSV-Dateien lesen
Voraussetzungen
Modul-Lizenz für EVI-BASIS liegt im System vor
Technische Dokumentation
Komponentenübersicht
Skriptbibliothek
SC12CSVUtils
Administrationsmöglichkeiten
Administration über verfügbare Parameter in der Methode createConfig:
fileName | Dateiname | Wert aus Übergabe |
---|---|---|
charset | Zeichensatz der CSV-Datei | UTF-8 |
sep | Trennzeichen | ; |
quote | Quote-Zeichen | „ |
firstLine | Erste Zeile (1-basiert) | 1 |
lastLine | Letzte Zeile (maximal) | Integer.MAX_VALUE |
maxErrors | Anzahl Fehler bis Abbruch | 10 |
debug | Testausgaben in Process.log (0: nein, 1: ja) | 0 |
checkColumnCount | Zeilenanzahl prüfen (0: nein, 1: ja) | 1 |
headLine | Überschriftenzeile (1-basiert) | 0 (keine) |
formats | List oder Map von Formaten zur Konvertierung | |
classes | List oder Map von Klassen zur Konvertierung |
Übersteuerungsmöglichkeiten
Grundsätzlich können die mit dem Modul bereitgestellten Komponenten wie BPM-Prozesse, -teilprozesse, Suchen und Skriptbibliotheksmethoden übersteuert werden, um diese an individuelle Anforderungen und Bedürfnisse anzupassen.
Nach dem Einspielen eines Moduls sollte geprüft werden, ob Methoden im Projekt übersteuert wurden und die Methodenänderung im Standard im Projekt übernommen werden sollte.
Technische Ablaufbeschreibung
Mit den Methoden der SC12CSVUtils lassen sich CSV-Dateien auslesen und in das richtige Datenformat umwandeln. Durch die unterschiedlichen Methoden kann eine CSV Datei als eine Liste mit einzelnen Zeilen, die wiederum Listen von Werten der Zeile beinhaltet, dargestellt werden. Außerdem können die Werte, vorher definierten Überschriften, in einer Map zugeordnet werden.

Durch die Methode SC12CSVUtils.createConfig wird zunächst eine Map mit Konfigurationen erzeugt, in der die Basiskonfigurationen wie der Dateiname oder die erste und letzte Zeile enthalten sind.
Zum Erstellen der Config wird der vollständige Dateiname einer bestehenden CSV-Datei benötigt.
Die Map kann anschließend mit weiteren Parametern ergänzt werden → Verfügbare Parameter siehe AdministrationsmöglichkeitenDie Methode SC12CSVUtils.parseLines, die mit einer Config-Datei und einer logMap aufgerufen wird, erstellt eine Liste, in der die einzelnen Zeilen enthalten sind.
Durch den Aufruf der Methode SC12CSVUtils.parseLine auf die einzelnen Zeilen, werden die Zeilen ebenfalls in eine Liste von Werten umgewandelt. Als Headline definierte Zeilen, werden nicht mit in die Liste übernommen.
Durch die Methode SC12CSVUtils.convertLines werden die String-Werte der Zeilen in die gewünschten Klassen umgewandelt. Hierfür müssen die Klassen und Formate der Werte als Liste oder als Map übergeben werden.
Werden die Formate in der Liste mit null definiert, wird über die Methode SC12CSVUtils.guessFormats versucht die entsprechenden Formate herauszufinden.Die Methode ruft wiederum die Methode SC12CSVUtils.guessFormat auf, um die einzelnen Formate herauszufinden.
Je nachdem welche Klassen angegeben ist, werden hier die Methoden SC12CSVUtils.convertToBigDecimal, SC12CSVUtils.convertToBoolean, SC12CSVUtils.convertToDate, SC12CSVUtils.convertToDouble, SC12CSVUtils.convertToInteger oder SC12CSVUtils.convertToTimestamp aufgerufen.Innerhalb dieser Methoden werden die String-Werte anhand des Formats umgewandelt.
Mit der Methode SC12CSVUtils.mapByHeadline werden die Listen (einzelne Zeilen), die sich innerhalb der Liste aus SC12CSVUtils.parseLines oder SC12CSVUtils.convertLines befinden, durch Maps ersetzt.
Die Map ordnet die definierten Überschriften den entsprechenden Werten zuJede Methode der Skriptklasse erwartet außerdem eine logMap. Mit dem Aufruf der Methode addError fügen die anderen Methoden Fehlermeldungen zur mitgegebenen logMap hinzu.