Skip to main content
Weil einfach - produktiver ist

Der Daten Spezialist

Konvertieren Sie die Daten mühelos zwischen verschiedenen Formaten ohne Programmierkenntnisse dank Visual Designer. Effizient und super einfach.
Flowheater Download

Zusatzzeile in csv Datei generieren

Mehr
3 Jahre 1 Monat her - 3 Jahre 1 Monat her #4190 von Oliver Barz
Zusatzzeile in csv Datei generieren wurde erstellt von Oliver Barz
Hallo Herr Stark,

ich habe eine Aufgabe, die ich nicht gelöst bekomme.

Eine Textdatei (input) enthält Auftragsdaten für einen oder mehrere Aufträge.

Bestellnummer;Vorname;Name;Straße;PLZ;Ort;Land;Artikelnummer;Artikelname;Preis (Brutto);Versandart;Versandkosten
1;Vorname1;Nachname1;Straße 12;12345;Teststadt;Deutschland;ART123;T-Shirt;10;Paketversand;4
1;Vorname1;Nachname1;Straße 12;12345;Teststadt;Deutschland;ART124;Hose;15;Paketversand;4
2;Vorname2;Nachname2;Platz 1;54321;Beispieldorf;Deutschland;ART125;Bluse;20;Briefversand;2,50
2;Vorname2;Nachname1;Platz 1;54321;Beispieldorf;Deutschland;ART126;Rock;15;Briefversand;2,50


Aus dieser Textdatei, die alle Daten für den Artikel als auch für den Versand enthält muß eine Datei erstellt werden,
die den Aufbau des u.s. Beispiels hat.
Produkt- und Versandpositionen müssen in unterschiedlichen untereinander stehende Zeilen aufgeführt werden.

Kann ich das mit dem FH realisieren?

Bestellnummer;Vorname;Name;Straße;PLZ;Ort;Land;Artikelnummer;Artikelname;Preis (Brutto);Menge;Positionstyp
1;Vorname1;Nachname1;Straße 12;12345;Teststadt;Deutschland;ART123;T-Shirt;10;2;Artikel
1;Vorname1;Nachname1;Straße 12;12345;Teststadt;Deutschland;ART124;Hose;15;1;Artikel
1;Vorname1;Nachname2;Straße 12;12345;Teststadt;Deutschland; ;Paketversand;4;1;Versandposition
2;Vorname2;Nachname2;Platz 1;54321;Beispieldorf;Deutschland;ART125;Bluse;20;1;Artikel
2;Vorname2;Nachname2;Platz 1;54321;Beispieldorf;Deutschland;ART126;Rock;15;2;Artikel
2;Vorname2;Nachname2;Platz 1;54321;Beispieldorf;Deutschland; ;Briefversand;2,50;1;Versandposition


VG Oliver Barz
Letzte Änderung: 3 Jahre 1 Monat her von FlowHeater-Team. Begründung: Testdaten neutralisiert

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
3 Jahre 1 Monat her #4195 von FlowHeater-Team
FlowHeater-Team antwortete auf Zusatzzeile in csv Datei generieren
Hallo Herr Barz,

wäre machbar aber ist etwas komplizierter. Woher kommen denn Versandpositionen?

Um mehrere CSV Dateien mit unterschiedlichen Satzarten / Satzaufbau zu erzeugen wäre es denkbar die CSV Dateien über den TextFile Adapter in eine InMemory Adapter Tabelle einzulesen, also nacheinander über 2 separate Verarbeitungsschritte einmal die Produktinformationen und einmal die Versandoptionen. Beim Einlesen darauf achten nicht die Spalten einzeln zu importieren, sondern die Komplette CSV Zeile in ein Feld. Im dritten Verarbeitungsschritt wird dann die InMemory Tabelle so sortiert, dass die Ausgabe zu dem passt wie Sie sich das vorstellen.

Ich habe mal ein einfaches Beispiel basierend auf Ihren Testdaten dazu erstellt, siehe Anhang.

Dateianhang:

Dateiname: csv-unters...rten.zip
Dateigröße:14 KB

gruß
Robert Stark

Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Anhänge:

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
3 Jahre 1 Monat her #4196 von Oliver Barz
Oliver Barz antwortete auf Zusatzzeile in csv Datei generieren
Guten Morgen Herr Stark,

vielen Dank für die Hilfestellung, ich werde das gleich einmal austesten.

Die Spalte Positionstyp muß zusätzlich generiert werden.
Der Postionstyp gibt an ob es sich um einen Artikel oder um die Versandposition handelt.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
3 Jahre 1 Monat her #4198 von Oliver Barz
Oliver Barz antwortete auf Zusatzzeile in csv Datei generieren
Ich glaube, so klappt es nicht, da hier 2 Import Dateien vorhanden sind.
Ich versuche nochmal den Fall etwas genauer darzulegen, mit abgespeckten Daten:

Das sind die Rohdaten, zwei Aufträgen mit je 2 ArtikelPositionen.

Bestellnummer;Name;Artikelnummer;Artikelname;Preis;Menge;Versandart;Versandkosten
1;Franke;ART123;Shirt;10;2;Brief;0,00
1;Franke;ART124;Hose;15;1;Paket;2,50
2;Peters;ART125;Bluse;20;1;Paket;2,50
2;Peters;ART126;Rock;25;2;ExpressPaket;3,50

Das Ergebnis soll so aussehen:

Bestellnummer;Name;Artikelnummer;Artikelname;Preis;Menge;Versandart;Versandkosten;Postitionstyp
1;Franke;ART123;Shirt;10;2;Paket;1,50;Artikel
1;Franke;ART124;Hose;15;1;Paket;2,50;Artikel
1;Franke;;Versand;4,00;1;Paket;;Versandposition
2;Peters;ART125;Bluse;20;1;Paket;2,50:Artikel
2;Peters;ART126;Rock;25;2;Paket;3,50;Artikel
2;Peters;;Versand;6,00;2;Paket;;Versandposition

Zu jedem Auftrag (egal wieviele Auftragspositionen dieser hat) muß eine zusätzliche Zeile geschrieben werden, die die Versandposition darstellt.
und es muß eine Spalte "Postionstyp" hinzugefügt werden.

Das alles sehe ich noch nicht als Problem an, ich würde einfach in zwei Verarbeitungsschritten zwei Dateien erzeugen:

Datei 1:
Bestellnummer;Name;Artikelnummer;Artikelname;Preis;Menge;Versandart;Versandkosten;Postitionstyp
1;Franke;ART123;Shirt;10;2;Paket;1,50;Artikel
1;Franke;ART124;Hose;15;1;Paket;2,50;Artikel
2;Peters;ART125;Bluse;20;1;Paket;2,50:Artikel
2;Peters;ART126;Rock;25;2;Paket;3,50;Artikel

Datei 2:
Bestellnummer;Name;Artikelnummer;Artikelname;Preis;Menge;Versandart;Versandkosten;Postitionstyp
1;Franke;;Versand;4,00;1;Paket;;Versandposition
2;Peters;;Versand;6,00;2;Paket;;Versandposition

Aber wie bekomme ich diese beiden Dateien jetzt zusammen?
Und da ist es auch wichtig, dass die Versandpositionszeile eben immer am Ende des jeweiligen Auftrags steht.

Oder gibt es doch einen anderen, sinnvolleren Weg?

Vielen Dank und VG Oliver Barz
Anhänge:

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
3 Jahre 1 Monat her - 3 Jahre 1 Monat her #4199 von Oliver Barz
Oliver Barz antwortete auf Zusatzzeile in csv Datei generieren
Ich bin fast am Ziel.
Habe nun Ihre Vorgehensweise umgesetzt, und in einem vorgelagerten Schritt, die weitere Importdateien für den Versand generiert.

Allerdings ist das Ergebnis noch nicht korrekt.
Im letzten Verarbeitungsschritt in dem der InMemoryAdrapter in das Textfile geschrieben wird,
erhalte ich zu jeder Artikelposition auch eine Versandposition.
Es soll aber nur eine Versandposition zu einem Auftrag erstellt werden.

Ich werde morgen weiter testen.
Letzte Änderung: 3 Jahre 1 Monat her von Oliver Barz.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
3 Jahre 1 Monat her #4201 von FlowHeater-Team
FlowHeater-Team antwortete auf Zusatzzeile in csv Datei generieren
Hallo Herr Barz,

Ich habe das Beispiel nochmal etwas angepasst. Hier wird nun eine InMemory Adapter Tabelle mit drei Verarbeitungsschritten befüllt und im vierten Verarbeitungsschritt sortiert wieder ausgegeben. Die Sortierung erfolgt anhand der Bestellnummer sowie einem zusätzlichen Feld Reihenfolge. Hier müssen Sie lediglich im 3 Verarbeitungsschritt darauf achten, dass der Startwert des AutoID Heater größer der maximal zu erwartenden Anzahl Zeilen der ersten CSV Datei ist, ich habe hier mal „99999“ verwendet.

Folgendes wird gemacht:

Verarbeitungsschritt 1)
Einlesen der CSV Feldnamen in die InMemory Tabelle statisch über den TestData Adapter und einem X-Value Heater. Für die ID bzw. Bestellnummer wird hier 0 verwendet. So wird dann bei der Ausgabe diese Zeile als erstes ausgegeben.

Verarbeitungsschritt 2) Einlesen der CSV Zeilen der ersten Textdatei. Bestellnummer für die Sortierung sowie ein weiteres Feld für die ursprüngliche Reihenfolge wird gesetzt.

Verarbeitungsschritt 3) Einlesen der CSV Zeilen der zweiten Textdatei, Rest wie bei Step 2. Der Autowert für die Reihenfolgesortierung startet hier bei „99999“.

Verarbeitungsschritt 4) Ausgeben der InMemory Tabelle in eine CSV Datei, Sortierung über Bestellnummer, sowie die ursprüngliche Reihenfolge.


Schauen Sie sich das Beispiel einmal an. Wenn Sie weiterhin Problem damit haben können Sie auch mal Ihre erstellte Definition zur weitere Analyse posten.


Dateianhang:

Dateiname: csv-unters...3-02.zip
Dateigröße:15 KB

gruß
Robert Stark

Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Anhänge:

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
3 Jahre 1 Monat her #4204 von Oliver Barz
Oliver Barz antwortete auf Zusatzzeile in csv Datei generieren
Hallo Herr Stark,

vielen Dank für die Unterstützung.
Ich bin sehr begeistert.
Beide Modelle haben jetzt funktioniert.
Auch der Batch Aufruf funktioniert.

VG Oliver Barz

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Ladezeit der Seite: 0.298 Sekunden
FlowHeater Logo

FlowHeater - Der Daten Spezialist

Effiziente Datenintegration und Transformation mit FlowHeater - Ihre Lösung für nahtlosen Datentransfer.

Rechtliches

Support & Kontakt

Kontaktinformation

Telefon:
0951 / 99339792

E-Mail:
Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein.


Copyright © 2009-2024 by FlowHeater GmbH. Alle Rechte vorbehalten.