ConvertFixRecordToCsvPreParser
|
Gruppe |
|
|
Funktion |
Dieser Preparser transformiert eine Feste-Länge-Datei in eine CSV-Datei. |
|
Konfigurationsdatei |
./conf/samples/sample_split_fix2csv.xml |
Beschreibung
Dieser Preparser transformiert eine Feste-Länge-Datei in eine CSV-Datei - wobei immer nur eine Zeile im Arbeitsspeicher ist.
Der Preparser erwartet zur Konfiguration eine XML-Datei (Beispiel weiter unten). Folgende Parameter können verwendet werden.
|
config |
Element |
Übergeordnetes Element der XML-Konfigurationsdatei. |
|
length |
Attribut von Element config |
Bei -1 wird angemommen, dass die Zeilen in der Feste-Länge-Datei durch einem Zeilenumbruch getrennt sind. Ansonsten muss man die Zeilenlänge angeben. |
|
delim |
Attribut von Element config |
Bestimmt das Trennzeichen, das in der erzeugten CSV-Datei verwendet werden soll. |
|
segment |
Element |
Pro Satzart der Feste-Länge-Datei gibt es ein XML-Element segment, das die Felder beschreibt. |
|
matchcode |
Attribut von Element segment |
Kann entweder leer sein (damit werden alle Zeilen erkannt) oder definiert, falls gefüllt, die Satzarterkennung wie Starts with in Knoten (z.B. matchcode="123" ). Alternativ kann ein regulärer Ausdruck angegeben werden (z.B. matchcode="regex:123.*"). |
|
insert |
Attribut von Element segment |
Ist optional und kann eine neue (erste) Spalte im CSV mit einem Festwert füllen. Das Attribut kann also verwendet werden, um in den CSV-Zeilen eine Satzartkennung einzufügen. |
|
column |
Sub-Element von Element segment |
Beschreibt ein Feld der Satzart, die im übergeordeten Element segment beschrieben ist. Die Reihenfolge wird beachtet. |
|
length |
Attribut von Element column |
Die Länge des Feldes in der Feste-Länge-Satzart (Zeile). |
|
trim |
Attribut von Element column |
true oder false. Gibt ab, ob führende oder folgende Leerzeichen des Feste-Länge-Feldes im CSV-Feld entfernt werden sollen. |
|
type |
Attribut von Element column |
Gibt den Datentyp des CSV-Feldes an (wie in der GUI im Zielfeld-Attribut "Typ"). Kann Integer, Float, Double, String, Date, Timestamp, BigInt, oder BigDecimal sein. |
|
format |
Attribut von Element column |
Gibt das Format des CSV-Feldes an (wie in der GUI im Zielfeld-Attribut "Vorlage"). |
Beispiel
Wir möchten die Feste-Länge-Zeile
|
001Hello world 110915 |
umwandeln in die CSV-Zeile
|
A;1;Hello World;2015-09-11 |
Das können wir mit der folgenden XML-Konfigurationsdatei erreichen:
<?xml version="1.0" encoding="ISO-8859-1"?><config length="-1" delim=";"> <segment matchcode="" insert="A"> <column length="3" trim="false" type="Integer" /> <column length="12" trim="true" type="String"/> <column length="6" trim="false" type="Date" format="ddMMyy" /> </segment></config>Hinweis: Zu beachten ist hier die Typumwandlung von String 001 zu Integer 1 und String 110915 zu Date 2015-09-11, wie sie auch in Mappings durchgeführt werden würde.
Beispiel-Datei in Auslieferung
<?xml version="1.0" encoding="ISO-8859-1"?> <!-- length = -1: new line is used. Otherwise define length of record delim: which delimiter should be used--><config length="-1" delim=";"><!-- matchcode: check if line 'starts with' or use regular expression by matchcode="regex:...." insert: if not empty, this value will be added as first column--> <segment matchcode="" insert="A"> <column length="10" trim="true" type="String" /> <column length="10" trim="false" type="String" format="" /> <column length="2" trim="false" type="Integer" format="" /> <column length="2" trim="false" type="Integer" format="N6.2" /> <column length="8" trim="false" type="Date" format="ddMMyyyy" /> </segment></config>