ConvertFixRecordToCsvPreParser

Gruppe

Preparser

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



sample_split_fix2csv.xml
<?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>