Dynamischer Daten Import / Export

datenbank

weil Einfach - produktiver ist
Mit der Freeware Version können bis zu 10.000 Datensätze verarbeitet werden!
Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:
Willkommen im FlowHeater Support Forum!

Hier werden Fragen zum Umgang mit dem FlowHeater beantwortet.

THEMA: Gruppierung in separate Textdatei schreiben

Gruppierung in separate Textdatei schreiben 5 Jahre 9 Monate her #305

  • FlowHeater-Team
  • FlowHeater-Teams Avatar
  • Offline
  • Administrator
  • Beiträge: 1102
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.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: Gruppierung in separate Textdatei schreiben 5 Jahre 9 Monate her #306

  • FlowHeater-Team
  • FlowHeater-Teams Avatar
  • Offline
  • Administrator
  • Beiträge: 1102
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 nicht gefunden

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.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: Gruppierung in separate Textdatei schreiben 5 Jahre 9 Monate her #315

  • Carsten Schweickert
  • Carsten Schweickerts Avatar
  • Offline
  • New Member
  • Beiträge: 19
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
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: Gruppierung in separate Textdatei schreiben 5 Jahre 9 Monate her #322

  • FlowHeater-Team
  • FlowHeater-Teams Avatar
  • Offline
  • Administrator
  • Beiträge: 1102
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.
@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.
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.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: Gruppierung in separate Textdatei schreiben 5 Jahre 4 Monate her #539

  • Carsten Schweickert
  • Carsten Schweickerts Avatar
  • Offline
  • New Member
  • Beiträge: 19
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
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: Gruppierung in separate Textdatei schreiben 5 Jahre 4 Monate her #540

  • FlowHeater-Team
  • FlowHeater-Teams Avatar
  • Offline
  • Administrator
  • Beiträge: 1102
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.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: Gruppierung in separate Textdatei schreiben 5 Jahre 4 Monate her #541

  • Carsten Schweickert
  • Carsten Schweickerts Avatar
  • Offline
  • New Member
  • Beiträge: 19
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 nicht gefunden

Anhang:
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: Gruppierung in separate Textdatei schreiben 5 Jahre 4 Monate her #542

  • FlowHeater-Team
  • FlowHeater-Teams Avatar
  • Offline
  • Administrator
  • Beiträge: 1102
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.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: Gruppierung in separate Textdatei schreiben 5 Jahre 4 Monate her #547

  • Carsten Schweickert
  • Carsten Schweickerts Avatar
  • Offline
  • New Member
  • Beiträge: 19
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
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: Gruppierung in separate Textdatei schreiben 5 Jahre 4 Monate her #550

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

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.
Der Administrator hat öffentliche Schreibrechte deaktiviert.
Moderatoren: FlowHeater-Team
Ladezeit der Seite: 0.093 Sekunden