XMLPort - CSV-Import mit mehreren Zeilentypen

3. September 2015 10:00

Ich benötige einen XMLPort der eine CSV-Datei importiert, die mehrer Zeilentypen beinhaltet (Kopfzeile + Positionszeilen + Bemerkungszeilen "TXT" sowohl für Kopf als auch Positionen).
Vereinfacht könnte die CSV-Datei wie folgt aussehen:

Code:
HDR; BelegNr; Datum
TXT; beliebigerHeaderText
POS; PosNr; Artikel; Menge
TXT; beliebigerPositionsText1
TXT; beliebigerPositionsText2
POS; PosNr; Artikel; Menge
TXT; beliebigerPositionsText


oder mit Beispiel-Werten:

Code:
HDR;12345;20151103
TXT;laut Angebot 123
POS;1;A1502;130
TXT;Kommission 123
TXT;Projekt 321
POS;2;A3612;15
TXT;Kommission 333


Diese Zeilen sollen nun in eine NAV-Tabelle eingelesen werden, die wie folgt aufgebaut ist:
Tabellen-Aufbau.jpg

Mein Problem ist, wie stelle ich es am geschicktesten an, das je nach eingelesener Zeilenart verschiedene Felder der NAV-Tabelle gefüllt werden?
Ist das überhaupt übersichtlich mit "Node Names" im XMLPort realisier- und darstellbar oder muss ich das komplett mit Variablen im Code umsetzen?

Habt Ihr hierzu einen Typ oder evtl. sogar einen Beispiel-XMLPort für mich?

Gruß
Ralf
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: XMLPort - CSV-Import mit mehreren Zeilentypen

3. September 2015 14:09

Hallo,

schau dir den XML Port ID 5050 an.

Im Grunde wurden XML und Data Ports zusammengefasst und ticken ähnlich wie in CC.
Da in der ersten Spalte dein Typ steht und der "Spaltentrenner = ;" würde ich immer eine Case Anweisung davor setzen und je nach Fall ins entsprechende Feld schreiben.
Das Einlesen der CSV Spalten in Variablen packen und danach weiter verarbeiten.

Der XML Port hat das Property Format : XML oder Textformat (Variable Text)