Dynamischer Daten Import / Export

datenbank

weil Einfach - produktiver ist
Mit der Freeware Version können bis zu 10.000 Datensätze verarbeitet werden!

Windows ANSI FlatFile zu MS DOS ASCII CSV konvertieren

Mit diesem Beispiel möchten wir Ihnen zeigen wie einfach mit dem TextFile Adapter Textdateien in andere Formate (Codepage und Gebietsschemen) umgewandelt werden können und dabei auch noch dynamische Berechnungen vollzogen werden.

Windows ANSI zu MS DOS ASCII konvertieren
Windows ANSI zu MS DOS ASCII konvertieren

Das Beispiel können Sie direkt im FlowHeater über den Menüeintrag "Beispiele->TextFileAdapter->Windows ANSI FlatFile zu ASCII CSV" öffnen. Den umgekehrten Weg (ASCII zu ANSI) können Sie sich hier ansehen.

Hinweis: Auf dem gleichen weg funktioniert auch die Umwandlung nach UNICODE (utf7, utf8, ...), EBCDIC, etc.

Soll / Ziel

Wir haben ein Windows ANSI Flatfile und sollen für einen Lieferanten in den Staaten (USA) eine MS DOS ASCII CSV Textdatei erstellen. Das Datumsformat ist für die USA m.d.yyyy (also Monat.Tag.Jahr). Der Lieferant möchte Zahlen in folgenden Format haben 1,000.23 $ - Dezimaltrennzeichen ist der Punkt, Tausendertrennzeichen ist das Komma sowie soll als Währungssymbol das Dollar Zeichen verwendet werden. Das ist momentan noch kein Problem, diese Zeichen sind alle im ASCII Zeichensatz vorhanden. In unsere Datei sind zusätzlich Umlaute (in den Staaten können die zwar immer noch nichts mit anfangen aber es ist ein gutes Beispiel) vorhanden, diese müssen von ANSI Codepage 1252 nach MS DOS Codepage 850 umgewandelt werden.

Was müssen wir tun

öffnen Sie den FlowHeater und legen über den Menübefehl "Datei->Neu" eine neue FlowHeater Definition an. Stellen Sie im Adapter Auswahldialog auf beiden Seiten den TextFileAdapter ein.

Auf der READ (linke) Seite

  1. öffnen Sie den Configurator für die READ (linke) Seite
  2. tragen Sie für den Dateinamen "ansi-flatfile.txt" ein
  3. aktivieren Sie das Kontrollkästchen "Erste Zeile enthält Feldnamen" und beantworten Sie die Frage ob die Feldnamen aus der Datei übernommen werden sollen mit nein.
  4. stellen Sie sicher, dass unter Codepage "1252, Windows-1252,Westeuropäisch (Windows)" eingetragen ist
  5. Klicken Sie bei Abgrenzung auf "Feste Breite"
  6. klicken Sie im unteren Anzeige Bereich mit der Maus auf das Lineal um weitere Feldbegrenzer einzufügen bzw. verschieben Sie diese so, dass die Feldbreiten passen. Alternativ dazu können Sie die Feld Breiten/Längen auch über den TAB "Felder / Datentypen" setzen.
  7. wechseln Sie auf den TAB "Felder / Datentypen" und vergeben Sie für die Felder vernünftige Namen

 

Das war´s auf dieser Seite.

 

Auf der WRITE (rechte) Seite

  1. öffnen Sie den Configurator für den WRITE (rechte) Seite
  2. tragen Sie für den Dateinamen z.B. output.txt ein
  3. aktivieren Sie das Kontrollkästchen "Erste Zeile enthält Feldnamen"
  4. wählen Sie für Codepage "850, ibm850,Westeuropäisch (DOS)" aus. Eigentlich wäre für die Staaten Codepage 437 richtiger, wenn Sie wollen können Sie auch die nehmen.
  5. wechseln Sie auf den TAB "Trennzeichen" und wählen aus CSV Textbegrenzer "abc" aus
  6. wechseln Sie auf den TAB "Felder / Datentypen" und fügen folgende Felder inkl. der angegeben FlowHeater Datentypen hinzu.

        ID (INT)
        Umlaute (String)
        Beschreibung (String)
        Datum (Date)
        Preis (Currency)

 

Das war´s auch auf dieser Seite.

 

Abschluss

jetzt brauchen Sie nur noch die einzelnen Felder miteinander verbinden bzw. ein paar Heater dazwischen schalten. Wie´s geht wird in den HelloWorld (1, 2, 3) Beispielen erklärt, oder schauen Sie sich die Fertige Definition im FlowHeater an.