!--a11y-->
Multi-Mappings 
Ein Multi-Mapping ist ein
Mapping-Programm, das sich nicht auf die Transformation einer Ausgangs-Message
auf eine Ziel-Message beschränkt. Sie können ein Multi-Mapping im
Transformationsschritt
eines
Integrationsprozesses
verwenden. Die Mapping-Laufzeit unterstützt 1:n-, n:1- und
n:m-Transformationen. Sie können also eine beliebige Anzahl von
Ausgangs-Messages auf eine beliebige Anzahl von Ziel-Messages
abbilden.
Wie bei allen Mapping-Programmen müssen Sie auch ein Multi-Mapping-Programm einem Interface-Mapping zuordnen, das Sie später im Integration Directory verwenden, um die Mapping-Programme für Ausgangs- und Ziel-Interfaces zu konfigurieren.
Multi-Mappings beziehen sich auf mehrere Message-Strukturen. Um diese Strukturen aufeinander abzubilden, nimmt die Mapping-Laufzeit alle Ausgangs-Messages eines Multi-Mappings in eine gemeinsame Ausgangsstruktur und alle Ziel-Messages eines Multi-Mappings in eine gemeinsame Zielstruktur auf. Auf diese Weise reduziert sich die Anforderung mehrere Messages aufeinander abzubilden darauf, eine Ausgangsstruktur auf eine Zielstruktur abzubilden.
Grundsätzlich können Sie mit allen Mapping-Programm-Typen ein Multi-Mapping implementieren. Der folgende Abschnitt geht zur Vereinfachung davon aus, dass Sie ein Multi-Mapping als Message-Mapping implementieren.
Gegeben seien folgende Message-Typen, die Sie aufeinander abbilden wollen:
Message-Typen für Ausgangsstruktur
Message-Typ |
Message-Typ |
OrderHeader (1) |
Order (1) |
OrderItem (0..unbounded) |
OrderInfo (1) |
Diese Message-Typen können Sie im Mapping-Editor auf der Registerkarte Messages angeben, wobei Sie pro Message-Typ eine Häufigkeit angeben können. Sobald die Ausgangs- oder die Zielstruktur aus mehreren Messages bestehen kann, baut der Mapping-Editor sowohl für die Ausgangs- als auch für die Zielstruktur jeweils eine übergeordnete Struktur auf, in die die Ausgangs- und Ziel-Messages aufgenommen werden. Das Wurzelelement ist in so einem Fall immer <Messages>, für jede Ausgangs- beziehungsweise Ziel-Message fügt der Mapping-Editor ein Element <MessageN> ein, wobei N die Position der Message laut Registerkarte Messages ist. Eine Message-Instanz zu den oben angegebenen Messages sieht folgendermaßen aus:

Für jedes Message-Schema (hier: für jeden Message-Typ) gibt es also ein <MessageN>-Element. Message-Typ <OrderItem> kann in der Message-Instanz beliebig oft als Unterelement von <Message2> vorkommen. Welche Elemente in dem Multi-Mapping aufeinander abgebildet werden, ist über die Nummern angedeutet.
Zur Laufzeit werden die Message-Instanzen in einem Integrationsprozess gesammelt, in eine Struktur aufgenommen und nach der Ausführung des Mapping-Programms wieder in verschiedene Message-Instanzen überführt.
Wenn Sie im Mapping-Editor mehrere Ausgangs- oder Ziel-Messages angeben, zeigt der Mapping-Editor den oben beschriebenen Aufbau der Ausgangs- und Zielstruktur unmittelbar in der Strukturübersicht an. Der Mapping-Editor unterstützt folgende Message-Schemata für Multi-Mappings:
· (Fault-)Message-Typen
· IDocs, RFCs (Request-, Response- oder Fault-Messages), siehe Import von IDocs und RFCs.
· Message-Strukturen aus externen Definitionen
Sie können darüber hinaus auch Multi-Mappings als externe Mapping-Programme entwickeln, indem Sie das Message-Schema der Request-Message aus einem Interface-Mapping exportieren.
Siehe auch:
Multi-Mappings für Integrationsprozesse entwickeln