Also wir hätten einen Lösungsvorschlag.
Hier wird ein Datastore-Ansatz benutzt in Kombination dem Mappingset-String. Das ist ein Mappingset, welches direkt im Mapper definiert werden kann, ohne dafür ein Mappingset unter Data Management anzulegen. Quasi ein "on-the-fly Mappingset".
Vorteil:
Man kann alle verschiedenen Technologie-Sprache-Kombinationen zentral in einem Datastore verwalten.
Den AddUpdateMappingset Step braucht man nicht.
1. Erstellen Sie einen Datastore. Die Spalten stellen die verschiedenen Sprachen dar.
2. Für Sie einen Mapper im Flow hinzu, der die Mappingsets pro Sprache erstellt:
hier nochmal in der Detailansicht:
Dieser Step dient dazu, die Mappingset-Strings zu erstellen. Die Gruppierung nach Spalte "datastorename" ist ein Hilfsmittel, um exact eine Zeile zu erhalten.
Der Trick, der das Mappingset erstellt Aggregatfunktion "Alle Werte auflisten". Diese fügt alle gruppierten Werte (die Key=Value Paare) hineinander. Durch den Zeilenumbruch am Ende des Wert-Feldes entsteht ein String, der wie ein Mappingset aussieht.
3. In Ihrem eigentlichen Mapper / SpreadsheetMapper , in dem Sie die Mappingsets verwenden wollen machen sie folgendes:
Dort holen Sie sich das generierte Mappingset aus dem vorherigen Hilfs-SpreadsheetMapper (Schritt 2), in der gewünschten Sprache und fügen das bei Mappingset / Mappingset String ein.
${meta.spreadsheet@SpreadsheetMapper_3.firstRow("DE")}
Die Funktion .firstRow("DE") holt sich den entsprechenden Wert aus der ersten Zeile und nutzt diesen als Mappingset.
Im Beispiel haben wir oben im Wert-Feld mal exemplarisch einen hart-codierten Wert reingeschrieben, um die Funktionsweise zu demonstrieren.
Wenn Sie Unterstützung bei der Umsetzung brauchen, dann können Sie sich gern per Ticket an den Support wenden (das wäre dann kostenpflichtig, da dies den Forensupport übersteigt).