- Beiträge: 26
Datanorm - Zeilen zusammenfasseb
- Andre Seiffert
- Autor
- Offline
- Benutzer
Spaltenüberschriften Write-Seite: Satz;HAN;Kurztext1;Kurztext2;Preiseinheit;Mengeneinheit;Preis;Preistyp;Rabattgruppe;Langtext;Langtext_Satz;EAN
Zeile 1 Read Seite: A;0120708;Artikel 1 kurztext1; Artikel 1 kurztext2;0;ST;651,00;Bruttopreis;;;;
Zeile 2 Read Seite: B;0120708;;;0;0;40.280.630.015,32;0;;;;4123463001532
Von der Spalte B möchte ich jetzt das Feld EAN (also hier den Wert 4123463001532) in die 1 Zeile pro Artikel geschrieben haben. Leider erstellt der FlowHeater derzeit eine 2. Zeile für den identischen Artikel. Vermutlich muss der String Append Heater verwendet werden. Das bekomme ich leider nicht hin.
Wer kann helfen?
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
Sie benötigen dafür einen weiteren Verarbeitungsschritt. Das Problem ist, die Verarbeitung im FlowHeater geht Satzweise/Zeilenweise. Sie können nicht direkt während der Verarbeitung von Zeile 1 bereits Daten von Zeile 2 lesen, die sind da noch nicht um Zugriff.
So geht´s aber)
Fügen Sie Ihrer Definition einen weiteren Verarbeitungsschritt hinzu (siehe Screenshot) und schieben den an den Anfang der Verarbeitungskette. In diesem Step verarbeiten Sie nur die Sätze mit „B“, also alles andere Filtern. Auf der WRITE Seite erzeugen Sie eine einfache CSV Datei mit 2 Spalten, einmal die Artikelnummer und zum anderen den EAN Code. Die Datei benennen Sie z.B. replace.csv. Die verwenden Sie im zweiten Step zusammen mit dem String Replace Heater . In dem Step verarbeiten Sie nur Sätze mit „A“. Über den String Replace Heater und einem CSV Lookup mit der gerade erzeugten Datei können Sie nun anhand der Artikelnummer den EAN Code in die jeweilige Zeile holen.
Beispiele zum CSV Lookup finden Sie hier:
PS: Ausblick auf die nächste Version. Hier wird es möglich sein das ganz ohne eine Zwischendatei zu fahren, die Daten können hier in einer temporären Hauptspeicher Tabelle für die Verarbeitung vorgehalten werden.
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.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Andre Seiffert
- Autor
- Offline
- Benutzer
- Beiträge: 26
ich habe es entsprechend angepasst und es funktioniert wunderbar.
Danke.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Andre Seiffert
- Autor
- Offline
- Benutzer
- Beiträge: 26
Es gibt folgende Inhalte:
D;Nummer1;1;Hier ist die erste Zeile
D;Nummer1;2;Hier ist die zweite Zeile
D;Nummer1;3;Hier ist die dritte Zeile
Ich habe jetzt mit einem 3. Verarbeitungsschritt die D-Sätze erfolgreich in eine weitere replace2.csv extrahiert. Diese sieht wie folgt aus:
Nummer1;Hier ist die erste Zeile
Nummer1;Hier ist die zweite Zeile
Nummer1;Hier ist die dritte Zeile
Mittels replace Adapter wird dieses Feld auch in meine Write Seite unter einem Feld gebracht. Jedoch wird nur eine Zeile dort dargestellt.
Es sollte aber alle Zeilen in einer Spalte LANGTEXT dargestellt werden. Als Trennzeichen sollte hier ein Leerzeichen verwendet werden.
So soll es aussehen:
LANGTEXT
Hier ist die erste Zeile Hier ist die zweite Zeile Hier ist die dritte Zeile
So wird es aktuell generiert:
LANGTEXT
Hier ist die erste Zeile
Woran kann das liegen?
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
Sie müssen die CSV Lookup Datei bereits so erzeugen, dass hier die zusammengefasst werden. Das können Sie über den GroupBy Heater zusammen mit dem String Append Heater durchführen. Im Anhang finden Sie ein kleines Beispiel dazu.
Hinweis: Die Datenquelle muss dazu sortiert sein! Evtl. vorher mit dem Sort Heater sortieren.
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.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Andre Seiffert
- Autor
- Offline
- Benutzer
- Beiträge: 26
Das Problem ist, dass die Langtexte auf 2 Spalten verteilt sind und "angekündigt" wird mit der Zeilennummer.
Der Inhalt auf der READ Seite sieht also wie folgt aus:
D;N;Nummer1;Zeile1;F;;Dies ist die erste Zeile;Zeile2;F;;Dies ist die zweite Zeile;
D;N;Nummer1;Zeile3;F;;Dies ist die dritte Zeile;Zeile4;F;;Dies ist die vierte Zeile;
D;N;Nummer1;Zeile5;F;;Dies ist die fünfte Zeile;Zeile6;F;;Dies ist die sechste Zeile;
usw.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
das können Sie über einen weiteren String Append Heater , der zuerst die 2 Spalten der Zeile zusammenfasst. Der zweite String Append Heater fasst dann die Werte der gruppierten Zeilen zusammen, siehe Beispiel im Anhang.
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.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Andre Seiffert
- Autor
- Offline
- Benutzer
- Beiträge: 26
Siehe Anlage
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
Sie müssen im zweiten String Append Heater (siehe Screenshot und Markierung) die GroupBy Option aktivieren. So wird hinter dem Heater die gescheifte Klammer angezeigt.
PS: Anscheinend stimmt Ihre Auswahl der Codepage nicht, Umlaute werden nicht richtig angezeigt! Versuchen Sie mal auf der READ Seite UTF8 oder aber CP 1252 zu verwenden.
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.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Andre Seiffert
- Autor
- Offline
- Benutzer
- Beiträge: 26
Bezüglich der Langtexte: Ich habe das GroupBy bei dem 2. Append Heater eingestellt. Es wird jedoch immer nur der Langtext des letzten Artikels in den Daten
richtig gruppiert und in die Read Seite geschrieben. Siehe Bild
Entferne beim auslesen des D-Satzes ich den GroupBy Heater bei der Artikelnummer, so werden alle Langtexte gelesen, jedoch nicht
gruppiert in eine Zeile geschrieben. Aber es wird dann bei allen Artikel zumindest die erste Zeile des Langtextes in die Read Seite geschrieben.
Ich bin da echt ratlos.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
in der CSV Replace/Lookup Datei müssen natürlich zu ALLEN Artikeln die Langtexte vorhanden sein. Nach Ihrem Screenshot zu Urteilen ist da nur der Langtext von ArtikelNr. 0121256?
Die angezeigten Zeilenumbrüche im Langtext werden nur durch den automatischen Umbruch angezeigt und sind nicht physikalisch vorhanden, oder? Wenn ja müsste der Prozess etwas umgebaut werden, das der CSV Lookup nur jeweils eine Zeile interpretieren kann! Bitte hierfür eine neue Frage hier im Forum posten, Danke.
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.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Andre Seiffert
- Autor
- Offline
- Benutzer
- Beiträge: 26
Ein Zeilenumbruch ist nicht wirklich vorhanden. Vielmehr sind die Zeilen immer durchnummeriert:
D;N;Nummer1;Zeile1;F;;Dies ist die erste Zeile;Zeile2;F;;Dies ist die zweite Zeile;
D;N;Nummer1;Zeile3;F;;Dies ist die dritte Zeile;Zeile4;F;;Dies ist die vierte Zeile;
D;N;Nummer1;Zeile5;F;;Dies ist die fünfte Zeile;Zeile6;F;;Dies ist die sechste Zeile;
siehe Anlage 2
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
in Ihrem ersten Screenshot (siehe Anlage) sehe ich, dass hier nur ein Langtext für einen Artikel vorhanden ist, bitte prüfen Sie das mal, Danke.
Für eine weitere Analyse bräuchte ich bitte mal die erstellte Defintion und ein paar Beispieldaten.
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.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
vielen Dank für die Zusendung der Definition sowie Testdaten per Email. Sie haben hier einen Fehler aufgedeckt! Das Problem war/ist, dass wenn der GroupBy Heater zusammen mit dem Filter Heater verwendet wird hier alle Datensätze zu einem zusammengefasst werden und nicht wie gewünscht lediglich pro Gruppenwechselkriterium.
Der Fehler wurde in der aktuellen Beta Version (4.1.3.2 Beta4) gefixt. Über unten stehende Links können Sie sich die aktuelle Beta Version herunterladen.
Dann habe ich Ihnen Ihre Definition (siehe Anhang) auf die in der Beta Version verfügbaren InMemoryAdapter Tabellen umgestellt. Sie werden hier sofort einen enormen Geschwindigkeitsschub feststellen. Um die Definition testen zu können müssen Sie Ihre DATANORM CSV Datei direkt in das Verzeichnis der Definition kopieren oder aber in der Definition die Pfade anpassen.
Beta Version Download
FlowHeater Beta 32 Bit
FlowHeater Beta 64 Bit
FlowHeater Server Beta
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.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Andre Seiffert
- Autor
- Offline
- Benutzer
- Beiträge: 26
ich konnte es nun mit der neuen Beta Version testen und es klappt wunderbar.
Auch die Geschwindigkeit ist nun super!!!
Vielen Dank für die Unterstützung!
Bitte Anmelden oder Registrieren um der Konversation beizutreten.