- Beiträge: 14
XML-Write - Rechnungen mit Rechnungspositionen
- Jonathan Guerre
- Autor
- Offline
- Benutzer
-
Weniger
Mehr
4 Tage 4 Stunden her #5324
von Jonathan Guerre
XML-Write - Rechnungen mit Rechnungspositionen wurde erstellt von Jonathan Guerre
Hallo Herr Stark,
wir haben aktuell zwei CSV-Dateien (1. Rechnungskopf und 2. Rechnungspositionen), ziel ist aus diesen CSV-Datei eine XML-Datei zu erstellen (siehe Beispiel als Anhang).
Die <kunde><id> ist fest und soll nur einmal in der XML vorkommen.
Pro Rechnung gibt es dann das Element <Abrechnungsfall> und innerhalb die Positionen über das Element:
<Positionen>
---<Produkt>Produkt 1</Produkt>
---<Produkt>Produkt 2</Produkt>
usw.
</Positionen>
Wie bekommen wir die Positionen CSV-Datei in das richtige <Abrechnungsfall>.? Ich habe es schon mit XML Update in einem zweiten Verarbeitungschritt versucht aber leider ohne Erfolg.
Vielen herzlichen Dank für Ihre Unterstützung.
Schöne Grüße
wir haben aktuell zwei CSV-Dateien (1. Rechnungskopf und 2. Rechnungspositionen), ziel ist aus diesen CSV-Datei eine XML-Datei zu erstellen (siehe Beispiel als Anhang).
Die <kunde><id> ist fest und soll nur einmal in der XML vorkommen.
Pro Rechnung gibt es dann das Element <Abrechnungsfall> und innerhalb die Positionen über das Element:
<Positionen>
---<Produkt>Produkt 1</Produkt>
---<Produkt>Produkt 2</Produkt>
usw.
</Positionen>
Wie bekommen wir die Positionen CSV-Datei in das richtige <Abrechnungsfall>.? Ich habe es schon mit XML Update in einem zweiten Verarbeitungschritt versucht aber leider ohne Erfolg.
Vielen herzlichen Dank für Ihre Unterstützung.
Schöne Grüße
Anhänge:
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
-
- Offline
- Administrator
-
Weniger
Mehr
- Beiträge: 2062
4 Tage 1 Stunde her #5325
von FlowHeater-Team
gruß
Robert Stark
FlowHeater-Team antwortete auf XML-Write - Rechnungen mit Rechnungspositionen
Hallo Herr Guerre,
als erstes müssen Sie die 2 CSV-Dateien in eine Datenquelle überführen. Das können Sie mit 2 vorgelagerten Verarbeitungsschritten mittels des InMemory Adapters durchführen. Der erste Verarbeitungsschritt liest die Werte der Positionen ein. Im zweiten Verarbeitungsschritt werden dann nur noch die Positionen mit den Rechnungsdaten angereichert bzw. aktualisiert.
Im dritten Verarbeitungsschritt fangen wir an die XML-Datei zu schreiben. Hier wird als erstes der Rechnungskopf bzw. die Kundennummer geschrieben.
Im letzten (vierten) Verarbeitungsschritt wird nun die InMemory Adapter Tabelle gelesen und die Rechnungen mit den Positionen in die XML-Datei ausgegeben.
Achten Sie darauf, dass Sie die Daten an eine bestehende XML-Datei anfügen möchten, nicht dass der Rechnungskopf wieder überschrieben wird. Damit die Rechnungspositionen dynamisch im richtigen XML Node „Positionen“ landen müssen Sie hier einen kleinen Trick anwenden. Sie benötigen hier ein „Dummy“ Feld „RechNr“ als XML-Kommentar. Für dieses Feld müssen Sie die Option „Schlüsselfeld für Gruppierung“ aktivieren, siehe Screenshot.
Sie landen in dem Node nur die Daten, die auch zu der jeweiligen Rechnung gehören. Achtung, die Daten müssen sortiert nach „RechNr“ vorliegen!
Hinweis: Im XML Adapter muss noch die Option implementiert werden, dass das Schlüsselfeld für die Gruppierung nicht mit in XML-Datei ausgegeben werden soll. Der Workaround über den XML-Kommentar sollte aber für die weitere Verarbeitung keine Rolle spielen. Das wird mit der nächsten Version nachgeholt. Der JSON Adapter unterstützt das Unterdrücken der Ausgabe bereits.
Im Anhang finden Sie ein kleines Beispiel dazu.
als erstes müssen Sie die 2 CSV-Dateien in eine Datenquelle überführen. Das können Sie mit 2 vorgelagerten Verarbeitungsschritten mittels des InMemory Adapters durchführen. Der erste Verarbeitungsschritt liest die Werte der Positionen ein. Im zweiten Verarbeitungsschritt werden dann nur noch die Positionen mit den Rechnungsdaten angereichert bzw. aktualisiert.
Im dritten Verarbeitungsschritt fangen wir an die XML-Datei zu schreiben. Hier wird als erstes der Rechnungskopf bzw. die Kundennummer geschrieben.
Im letzten (vierten) Verarbeitungsschritt wird nun die InMemory Adapter Tabelle gelesen und die Rechnungen mit den Positionen in die XML-Datei ausgegeben.
Achten Sie darauf, dass Sie die Daten an eine bestehende XML-Datei anfügen möchten, nicht dass der Rechnungskopf wieder überschrieben wird. Damit die Rechnungspositionen dynamisch im richtigen XML Node „Positionen“ landen müssen Sie hier einen kleinen Trick anwenden. Sie benötigen hier ein „Dummy“ Feld „RechNr“ als XML-Kommentar. Für dieses Feld müssen Sie die Option „Schlüsselfeld für Gruppierung“ aktivieren, siehe Screenshot.
Sie landen in dem Node nur die Daten, die auch zu der jeweiligen Rechnung gehören. Achtung, die Daten müssen sortiert nach „RechNr“ vorliegen!
Hinweis: Im XML Adapter muss noch die Option implementiert werden, dass das Schlüsselfeld für die Gruppierung nicht mit in XML-Datei ausgegeben werden soll. Der Workaround über den XML-Kommentar sollte aber für die weitere Verarbeitung keine Rolle spielen. Das wird mit der nächsten Version nachgeholt. Der JSON Adapter unterstützt das Unterdrücken der Ausgabe bereits.
Im Anhang finden Sie ein kleines Beispiel dazu.
gruß
Robert Stark
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
-
- Offline
- Administrator
-
Weniger
Mehr
- Beiträge: 2062
1 Tag 7 Stunden her #5326
von FlowHeater-Team
gruß
Robert Stark
FlowHeater-Team antwortete auf XML-Write - Rechnungen mit Rechnungspositionen
Hallo Herr Guerre,
in der aktuellen Beta Version wurde das mit den XML Dummy Feldern angepasst. Sie können nun steuern, ob das Gruppierungsfeld in der XML Ausgabe erscheinen soll oder nicht. Das Beispiel (siehe Anhang) habe ich dementsprechend angepasst. Weiterhin wurden die einzelnen Positionen noch weiter eingegrenzt.
in der aktuellen Beta Version wurde das mit den XML Dummy Feldern angepasst. Sie können nun steuern, ob das Gruppierungsfeld in der XML Ausgabe erscheinen soll oder nicht. Das Beispiel (siehe Anhang) habe ich dementsprechend angepasst. Weiterhin wurden die einzelnen Positionen noch weiter eingegrenzt.
gruß
Robert Stark
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
Ladezeit der Seite: 0.290 Sekunden