Der Daten Import / Export Spezialist
 
Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:
Schauen Sie sich auch die verfügbaren Beispiele zum TextFile Adapter an evtl. kann Ihre Frage hiermit schon beantwortet werden: Codepage konvertieren 1 / 2 , Verarbeitung von CSV Kopf- und Fußzeilen , Import und Export von vCard Textdateien
  • Seite:
  • 1

THEMA:

Zusatzzeile in csv Datei generieren 7 Monate 2 Wochen her #4190

  • Oliver Barz
  • Oliver Barzs Avatar Autor
  • Offline
  • Beiträge: 48
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

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Letzte Änderung: von FlowHeater-Team. Grund: Testdaten neutralisiert

Zusatzzeile in csv Datei generieren 7 Monate 2 Wochen her #4195

  • FlowHeater-Team
  • FlowHeater-Teams Avatar
  • Offline
  • Beiträge: 1681
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.

Zusatzzeile in csv Datei generieren 7 Monate 2 Wochen her #4196

  • Oliver Barz
  • Oliver Barzs Avatar Autor
  • Offline
  • Beiträge: 48
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.

Zusatzzeile in csv Datei generieren 7 Monate 2 Wochen her #4198

  • Oliver Barz
  • Oliver Barzs Avatar Autor
  • Offline
  • Beiträge: 48
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.

Zusatzzeile in csv Datei generieren 7 Monate 2 Wochen her #4199

  • Oliver Barz
  • Oliver Barzs Avatar Autor
  • Offline
  • Beiträge: 48
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.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Letzte Änderung: von Oliver Barz.

Zusatzzeile in csv Datei generieren 7 Monate 2 Wochen her #4201

  • FlowHeater-Team
  • FlowHeater-Teams Avatar
  • Offline
  • Beiträge: 1681
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.

Zusatzzeile in csv Datei generieren 7 Monate 2 Wochen her #4204

  • Oliver Barz
  • Oliver Barzs Avatar Autor
  • Offline
  • Beiträge: 48
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.

  • Seite:
  • 1
Ladezeit der Seite: 0.178 Sekunden

andere Sprachen

en

FlowHeater Home

de en

Impressum/Kontakt

Datenschutz

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

Follow us on

twitter  facebook

YouTube

 de en