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

Gruppierung in separate Textdatei schreiben

  • FlowHeater-Team
  • Autor
  • Offline
  • Administrator
  • Administrator
Mehr
13 Jahre 1 Monat her #305 von FlowHeater-Team
Gruppierung in separate Textdatei schreiben wurde erstellt von FlowHeater-Team
Anfrage per Email erhalten.

Hallo,

ich habe ein paar technische Frage im Bezug auf Ihren Flow Heater.

Ich habe einen Lagerscanner der die Datei Projekte.txt erzeugt.

KDI-11-0027;100392;20
KDI-11-0027;100395;90
KDI-11-0027;100395;60
AUF-11-1007;100395;90
AUF-11-1007;100395;60
@EOF;;3

Jetzt muß diese Datei Gruppiert werden nach den jeweiligen Auftragsnummern. Bedeutet alles was z.B. KDI-11-0027 ist soll in Datei 1 und alles was AUF-11-1007 ist soll in Datei 2.

Zudem sollte die letzte Zeile (Zeilenanzahl ist immer Variabel) sozusagen Ignoriert werden und am besten wenn alles bearbeitet wurde soll die Ursprungsdatei gelöscht werden.

Als guter Letzt sollte noch der Dateinamen die jeweils aus der Gruppierten Datei enthaltenen Auftragsnummer generiert werden und der Zeitstempel dazu in den Dateinamen gesetzt werden.

Beispiel Dateiname:
AUF-10-0135 17.11.2010 07-53-47 MO.txt

Und zusätzlich in der als erstes Gruppierten Zwischendateien sollte dann nur noch Nummer und Menge stehen.

Ist echt kompliziert aber geht das mit dem FlowHeater???

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 um der Konversation beizutreten.

  • FlowHeater-Team
  • Autor
  • Offline
  • Administrator
  • Administrator
Mehr
13 Jahre 1 Monat her #306 von FlowHeater-Team
FlowHeater-Team antwortete auf Aw: Gruppierung in separate Textdatei schreiben
Um mehrere Textdateien während einer FlowHeater Ausführung zu generieren, muss der Dateiname über den .NET Script Heater geändert werden. Ich habe Ihnen dazu mal ein kleines Beispiel erstellt, Siehe Anlage. In der Definition sind noch 2 weitere Heater (Filter, IF-THEN-ELSE). Diese dienen dazu die Zeile mit dem @EOF zu filtern.

Wenn Sie das Beispiel über die "projekt.cmd" Command Skript Datei ausführen, wird für jede Gruppierung eine separate Ausgabedatei geschrieben. Über dieses CMD Skript können Sie dann anschließend noch die Eingangsdatei nach erfolgreicher Ausführung löschen. (siehe Kommentar im Skript).

Hinweis: Das Beispiel geht davon aus, dass die Auftragsnummern aufeinander folgen bzw. sortiert in der Textdatei vorliegen. Ist das nicht gewährleistet, müsste die Definition noch etwas modifiziert werden.

Achtung: Damit das Umsetzen des Dateinamens funktioniert, muss die Definition im Massendatenmodus ausgeführt werden!

Anhang projekt.zip wurde nicht gefunden.


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 um der Konversation beizutreten.

Mehr
13 Jahre 1 Monat her #315 von Carsten Schweickert
Carsten Schweickert antwortete auf Aw: Gruppierung in separate Textdatei schreiben
Jetzt tritt folgender Fall nicht auf:

Hinweis: Das Beispiel geht davon aus, dass die Auftragsnummern aufeinander folgen bzw. sortiert in der Textdatei vorliegen. Ist das nicht gewährleistet, müsste die Definition noch etwas modifiziert werden.

Wie wird das Gelösst ???

Zudem noch eine zusätzliche Frage:

Welchen Dateizielort soll den angegeben werden wenn der Zielname "Felxibel" ist ??? Und zudem auch noch im Netzwerk ???

CS

Bitte Anmelden um der Konversation beizutreten.

  • FlowHeater-Team
  • Autor
  • Offline
  • Administrator
  • Administrator
Mehr
13 Jahre 1 Monat her #322 von FlowHeater-Team
FlowHeater-Team antwortete auf Aw: Gruppierung in separate Textdatei schreiben
Sortieren geht normalerweise über den Sort Heater . Der Sort Heater kommt allerdings nicht mit dem Massendatenmodus zurecht. Die andere Lösung, dass über die TextFile Adapter Option "An vorhanden Datei anfügen" zu erledigen, kommt aufgrund des gewählten Dateienamens (mit Uhrzeit) auch nicht in Frage. Hier würden Sie je nach Laufzeit sonst mehrere Dateien erzeugen!

Sie können das aber vorgelagert über eine weitere FlowHeater Definition sortieren lassen. Erstellen Sie eine Definition, die auf der READ sowie auf der WRITE Seite die gleichen Felder enthält. Verbinden Sie die Felder 1:1 miteinander. Ziehen Sie nun noch einen Filter Heater auf den Designer und verbinden das erste Feld der READ Seite mit dem Filter Heater.
Diese Definition lassen Sie im Command Skript einfach vor der eigentlichen Definition ablaufen.
Code:
@echo off FHBatch.exe Sortierung.fhd FHBatch.exe /massdata Import.fhd
Den Speicherort können Sie im .NET Skript Heater leicht selbst anpassen. Ich habe das Skript leicht angepasst, ersetzen Sie hier C:\Temp\ einfach mit dem gewünschten Speicherort. Es werden Netzlaufwerke sowie UNC Pfade unterstützt.
Code:
string letzterAuftrag = String.Empty; public object DoWork() { string auftrag = (string)InValues[0].GetString(); if (auftrag != "@EOF" && letzterAuftrag != auftrag) { // Zugriff auf den Textfile Adapter der WRITE Seite TextFileAdapter adapter = (TextFileAdapter)AdapterWrite; // neuen Dateinamen setzen Pfad ggf. ändern string path = @"C:\Temp\"; adapter.Filename = path + auftrag + " " + DateTime.Now.ToString("dd.MM.yyyy HH-mm-ss dddd") + ".txt"; // letzte Auftragsnummer merken. letzterAuftrag = auftrag; } // für die weitere Verarbeitung = Filter zurückliefern return auftrag; }

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 um der Konversation beizutreten.

Mehr
12 Jahre 8 Monate her #539 von Carsten Schweickert
Carsten Schweickert antwortete auf Aw: Gruppierung in separate Textdatei schreiben
Hallo Herr Stark, alles Lief mal bestens aber leider hatte ich ein Serverproblem. Jetzt habe ich die gesicherte Datei vom Flow Heater wieder geladen aber das Zielverzeichniss motzt rum.

Woran liegt das ??? Habe die FHD und die Batch mit Angehängt, Batch läuft auch aber die Zieldateien laut FHD soll ja Flexibel sein und aus der Projekte.txt ja generiert werden. Können Sie mir Helfen, mache da jetzt schon seit drei Tagen dran rum

CS

Bitte Anmelden um der Konversation beizutreten.

  • FlowHeater-Team
  • Autor
  • Offline
  • Administrator
  • Administrator
Mehr
12 Jahre 8 Monate her #540 von FlowHeater-Team
FlowHeater-Team antwortete auf Aw: Gruppierung in separate Textdatei schreiben
Hallo Herr Schweickert,

um Anlagen hier einzufügen müssen Sie diese vorher in ein ZIP Archiv packen!

Können Sie bitte auch noch die Fehlermeldung posten, momentan kann ich mit Ihrer Meldung noch nicht viel anfangen :unsure:

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 um der Konversation beizutreten.

Mehr
12 Jahre 8 Monate her #541 von Carsten Schweickert
Carsten Schweickert antwortete auf Aw: Gruppierung in separate Textdatei schreiben
Habe jetzt eine ZIP gemacht aber irgendwie kann ich Sie nicht hoch LAden, Schicke iHnen jetzt ne Mail mit der ZIP

CS

Anhang Neuer_Ordner.zip wurde nicht gefunden.

Anhänge:

Bitte Anmelden um der Konversation beizutreten.

  • FlowHeater-Team
  • Autor
  • Offline
  • Administrator
  • Administrator
Mehr
12 Jahre 8 Monate her #542 von FlowHeater-Team
FlowHeater-Team antwortete auf Aw: Gruppierung in separate Textdatei schreiben
Hallo Herr Schweickert,

das Skript sieht gut aus und läuft hier. Hiermit wird pro Zeile aus der Importdatei eine neue Exportdatei im Verzeichnis der FlowHeater Definition erstellt.

Was aufgefallen ist, dass Ihre Pfadangaben nicht zusammenpassen. In der CMD/BAT Datei geben Sie S:\ als Laufwerk an in der Import/Export Definition steht aber C:\

Bitte prüfen Sie zuerst ob diese Definition über den Designer bei Ihnen läuft. Danach versuchen Sie mal diese Definition von Hand mit dem Batch Modul (FHBatch.exe) in der Konsole zu starten.

C:\> C:\Programm Files\FlowHeater V2\Bin\FHBatch.exe S:\Ihr_Pfad\Ihre_Import_Export_Defintion.fhd

Wenn das läuft passen Sie Ihre CMD/BAT Datei an. Fangen Sie aber mit einem Aufruf an, die restlichen Aufrufe am besten aus der CMD/BAT Datei löschen. Läuft das können Sie die einzelnen weiteren Aufrufe wieder einfügen.

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 um der Konversation beizutreten.

Mehr
12 Jahre 8 Monate her #547 von Carsten Schweickert
Carsten Schweickert antwortete auf Aw: Gruppierung in separate Textdatei schreiben
Habe das jetzt nochmals alle Getestet: Definition läuft einwandfrei solange eine Zieldatei da ist. Der Haken ist, das die Zeildatei von einem Printer gedruckt wird und dann verschoben wird, also eine Zielvorlage gibt es dann nicht mehr. Dies betrifft auch das Batch, wenn kein ziel mehr da ist ist kein Ziel mehr da.

Noch ein Tip ???

Ich weiß nicht was hier passiert ist aber das lief jezt seit Monaten

Bitte Anmelden um der Konversation beizutreten.

  • FlowHeater-Team
  • Autor
  • Offline
  • Administrator
  • Administrator
Mehr
12 Jahre 8 Monate her #550 von FlowHeater-Team
FlowHeater-Team antwortete auf Aw: Gruppierung in separate Textdatei schreiben
Was meinen Sie mit Zieldatei? Die Datei die der Textfile Adapter anlegen/exportieren soll?

Die Definition läuft hier selbst wenn ich auf der WRITE Seite den Dateiname (Filename) entferne. Der Name wird nach jeder geschriebenen Zeile bzw. Auftragsnummer vom .NET Script Heater ja wieder auf einen neuen Dateinamen gesetzt. Wenn die Exportdatei nicht existiert wird sie vom Textfile Adapter neu angelegt.

Ich könnte mir vorstellen, dass das an Datei Berechtigungen, etc. liegt. Die Exportdateien werden mit dem Skript im Verzeichnis der FlowHeater Definition angelegt. Verwenden Sie mal u.s. Skript hier können Sie zusätzlich noch einen Exportpfad angeben.

Code:
string letzterAuftrag = String.Empty; public object DoWork() { if (InValues.Length != 1) throw new Exception("1 Eingangsparameter erwartet"); string auftrag = (string)InValues[0].GetString(); if (auftrag != null && auftrag != "@EOF" && letzterAuftrag != auftrag) { // Zugriff auf den Textfile Adapter der WRITE Seite TextFileAdapter adapter = (TextFileAdapter)AdapterWrite; // Exportpfad setzen/anpassen. Achtung Backslash am Ende nicht vergessen! string exportpfad = @"C:\Temp\"; // neuen Dateinamen setzen adapter.Filename = exportpfad + auftrag + " " + DateTime.Now.ToString("dd.MM.yyyy HH-mm-ss") + " MO" + ".txt"; // letzte Auftragsnummer merken. letzterAuftrag = auftrag; } // für die weitere Verarbeitung = Filter zurückliefern return auftrag; }

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 um der Konversation beizutreten.

Ladezeit der Seite: 0.326 Sekunden

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.