Import von Zählpunkten und weiteren Daten per CSV

CSV-Import für den Zählpunkt-Index

Dieser Service kann in der B2B als Scheduler konfiguriert werden. Der Service importiert aus einem Verzeichnis eine oder mehrere CSV-Dateien und schreibt die darin enthaltenen Daten in einen Lucene-Index. Der Standardfall ist, dass die CSV-Datei Zählpunktdaten enthält und daraus entsprechend der Zählpunktindex aufgebaut wird. Dieser Zählpunktindex wird dann von der Systemweiche verwendet, um Nachrichten oder Vorgänge an die konfigurierten Zielsysteme zu verteilen.

Service

Der Service ist ein Scheduler. Weitere Details zur Einrichtung und Konfiguration eines Schedulers finden sie in der Dokumentation unter Administration/Services/Scheduler/Scheduler Services.

Als Klasse ist die folgende Serviceeigenschaft zu setzen:

B3P_SCHEDULER_REGISTER_CLASSNAME = org.b2bbp.dividing.network.scheduler.CsvToMeterinpointIndexJob

Global Properties

Der Service benutzt die folgenden beiden Global Properties:

B3P_METERINGPOINT_INDEX

Zielpfad für den Zählpunkindex (Beispiel: "../tomcat_all/index/systemsplit1")

B3P_METERINGPOINT_TEMP_INDEX

Temporärer Pfad für den Zählpunktindex (Beispiel: "../tomcat_all/index/systemsplit2")

Der Service legt immer einen neuen Index im temporären Verzeichnis an. Danach werden die Global Properties geändert (getauscht), so dass das temporäre Verzeichnis zum produktiven wird.

Extension

Der Service wird über eine Extension B3P_CSV_CONFIGURATION konfiguriert.

Eigenschaft

Wert

Beschreibung

NUMBER_OF_FILES

Zahlwert

Anzahl der CSV-Dateien, die verarbeitet werden sollen.

x_FILENAME

Pfad zur Datei inkl. Dateiname mit x = 1 bis i und i = NUMBER_OF_FILES

Pro CSV-Datei muss ein Pfad mit Dateiname angegeben werden.

DuplikatsCheck

Der Duplikatscheck, der standardmäßig beim Import durchgeführt wird, kann ausgestellt werden. Hierzu muss die Eigenschaft B3P_ACCEPT_DUPLICATES am Service gesetzt und auf true gestellt werden. Der default-Wert ist false und muss nicht gesetzt werden.

Fehlerhafte Einträge in der CSV

Gibt es in der zu importierenden CSV fehlerhafte, leere oder vertauschte Datumsfelder, so geht der Job hiermit folgendermaßen um:

  • bei einer fehlerhaften Datumsangabe, wie z.B 13.1a.2017, wird der Eintrag nicht in den Index übernommen und der Job läuft weiter
  • bei leerem End- oder Startdatum wird ein default Wert verwendet, der Eintrag wird in den Index übernommen und der Job läuft weiter
  • bei größerem Start- als Enddatum wird der Eintrag nicht in den Index übernommen und der Job läuft weiter

Die Anzahl der gelöschten Einträge aufgrund von vertauschten oder fehlerhafter Datumswerten, sowie die Anzahl der aufgefüllten Einträge werden in einem Protokoll in den technischen Details geloggt. Die ersten zehn fehlerhaften Datumswerte werden zusätzlich ausgegeben.

Beispielkonfiguration:

#Configuration for Import of MeteringPoints from CSV for SystemSplit
NUMBER_OF_FILES=2
1_FILENAME=./tomcat_all/files/systemsplit_csv_import/meteringpoint_system1.csv
2_FILENAME=./tomcat_all/files/systemsplit_csv_import/meteringpoint_system2.csv

Beispiel-CSV:

ext_ui;system;mandant;start;end
400000000000000000000000000000FFF;P01;100;01.01.1970;31.12.9999
500000000000000000000000000000FFF;P01;100;01.01.1970;31.12.9999
DE0000000000000000000000000XXXXXX;BEL;VIS;01.01.1970;31.12.9999
LU0000000000000000000000000XXXXXX;BEL;VIS;01.01.1970;31.12.9999
DE0000000000000000000000000YYYYYY;SOP;VIM;01.01.1970;31.12.9999
LU0000000000000000000000000YYYYYY;SOP;VIM;01.01.1970;31.12.9999

Analog zu dieser notwendigen Eigenschaft ist die Konfiguration zahlreicher optionaler Eigenschaft möglich. Dies sind zum Beispiel:

Allgemeine Einstellung bzgl. der CSV: CSV_TYPE, CSV_DELIMITER, CSV_DATEPATTERN, IGNORE_FIRST_LINES, SFTP_PASSWORD

Spaltenbezeichnungen: COLUMN_METERINGPOINT, COLUMN_SYSTEMNAME, COLUMN_MANDANT, COLUMN_BUSINESSUNIT, COLUMN_CONTRACT, COLUMN_SERVICEID, COLUMN_SERVICE, COLUMN_SERVICESTART, COLUMN_SERVICEEND

Vorbelegte Werte: VALUE_SYSTEMNAME, VALUE_MANDANT, VALUE_BUSINESSUNIT, VALUE_CONTRACT, VALUE_SERVICEID, VALUE_SERVICE, VALUE_SERVICESTART, VALUE_SERVICEEND

View Me   Edit Me