Hello World 3, Testdaten mit festen Längen (FlatFile) generieren
Zu guter letzt werden wir den TestData Adapter etwas mehr fordern und die Texte "Hello" und "World" aus einer zufälligen Liste auswählen lassen, fangen wir an.
Dynamisch Testdaten
Öffnen Sie die Definition HelloWorld2.fhd und speichern diese über Datei->Speichern unter mit dem Namen HelloWorld3.fhd ab. Öffnen Sie danach den Configurator vom TestData Adapter auf der Read Seite und wählen den Reiter "Felder / Datentypen" aus. Selektieren Sie das Feld "NewColumn1" und stellen die Generierungsmethode von None auf List (siehe rote Markierung). Tragen Sie in der Liste nacheinander die Worte "Hello" und "World" ein und verfahren Sie mit dem Feld NewColumn2 genauso. Dann Verlassen Sie den Dialog über den OK Button.
Fortlaufende Nummer hinzufügen
Ändern Sie die Feldnamen des WRITE Adapters nun von "Feld für Hello" auf "Zufall1" und das Feld "Feld von World" auf "Zufall2". Fügen Sie danach über das Kontextmenü des WRITE Adapter (rechte Seite) ein neues Feld hinzu und benennen es auf "ID" um. Wechseln Sie im Auswahlbereich für die Heater auf den Reiter Zahlen (siehe rote Markierung) und ziehen den Heater "AutoID" über Drag und Drop auf den Designbereich. Danach verbinden sie den soeben ausgewählten Heater mit dem Feld ID. Ihr Bildschirm sollte jetzt ungefähr wie rechts gezeigt aussehen.
Über eine Doppelklick auf den Heater AutoID öffnet sich der Konfigurationsdialog dazu. Hier können Startwert, Schrittweite und Dezimalstellen eingestellt werden. Default Werte sind 1 für Startwert und Schrittweite sowie 0 Dezimalstellen. Geben Sie hier für Dezimalstellen 2 an und für die Schrittweite zur Demonstration den Wert 1,23 an.
Führen Sie die Definition aus, die Ausgabe sollte ca. so aussehen:
world;WORLD;1,00
hello;HELLO;2,23
...
hello;WORLD;999,76
world;HELLO;1.000,99
world;HELLO;1.002,22
...
Standard Zahlenformatierung
Hier sehen wir eine wilde Aneinanderreihung der Worte "Hello" und "World" (war ja auch so gewollt). Woher nimmt der FlowHeater aber die Formatierung für das Feld ID? Um da zu verstehen öffnen Sie den Configurator für den Write Adapter und wechseln auf den Reiter Format.
Hier ist das Geheimnis verborgen. Zahlen werden (wenn nichts anderes angegeben) immer nach der Einstellung des Write Adapters Formatiert. Spielen Sie hier etwas herum und beachten Sie wie sich die untere Ausgabe ganz Zufällig ändert. Wenn Sie fertig mit Staunen :-) sind beenden Sie den Dialog am besten mit Abrechen, damit die Änderungen nicht übernommen werden.
Markieren Sie dann das Feld ID und ändern über das Eigenschaftenfenster den Wert DataType von String auf Int für Ganzzahl. Führen Sie die Definition erneut aus, folgende Ausgabe sollte erscheinen.
hello;WORLD;1
world;HELLO;2
...
world;HELLO;999
world;WORLD;1.000
hello;WORLD;1.002
Jetzt haben wir die Nachkommastellen eliminiert aber Zahlen ab den Wert 1000 werden immer noch mit einem Tausendertrennzeichen formatiert. Wir könnten jetzt die Formatierung für Zahlen so ändern, dass Zahlen immer ohne Tausendertrennzeichen formatiert werden oder aber einfach im Eigenschaftenfenster vom Feld "ID" den Wert der Eigenschaft Format von "N" auf "0" stellen. Alternativ dazu könnten wir auch den Format Heater verweden. Ein Beispiel über die Zahlenformatierung finden Sie hier.
Flat File Ausgabe
Eines müssen wir noch tun. Wir wollen ja eine Textdatei (Flatfile) mit fixen Längen bzw. festen Breiten generieren bzw. ausgeben. Öffnen Sie dazu erneut den Configurator des TextFile Adapters (rechts) und wählen hier unter Abgrenzung den Punkt "Feste Breite" aus. Weiter wollen wir in der ersten Zeile die Feldnamen ausgeben. Markieren Sie dazu lediglich die CheckBox "Erste Zeile enthält Feldnamen", das war´s.
Ziehen sie mit der Maus im unteren Bereich (siehe untere rote Markierung) die Felder so hin dass ihr Dialog ungefähr so aussieht wie rechts dargestellt.
Hinweis: Zum ziehen der Felder brauchen Sie lediglich die kleinen Dreiecke unten mit der Maus verschieben.
Führen Sie die Definition erneut aus und schauen sich das Ergebnis an. Beeindruckend wie einfach und simpel so etwas sein kann.
Zu guter letzt hier noch einen Hinweis wie Sie z.B. das Feld ID von linksbündiger Ausrichtung auf rechtsbündiger Ausrichtung umformatieren können. Dazu Markieren Sie das Feld ID im Write Adapter (rechte Seite) und stellen die Eigenschaft TextAlignment von Left auf Right (siehe rote Markierung). Hinweis: Das ganze funktioniert natürlich auch über den Configurator vom TextFile Adapter. Hier finden sie die Einstellungen auf dem Reiter "Felder / Datentypen".
Definition ausführen
Hier das Ergebnis der Test Daten Ausgabe mit rechtsbündiger Formatierung des Feldes ID.