!--a11y-->
Werte-Mappings ausführen 
Zur Konfigurations-Zeit können Sie im Integration Directory eine Werte-Mapping-Tabelle füllen. Semantisch gleichbedeutende Werte werden in dieser Tabelle in einer Gruppe zusammengefasst.
Die Mapping-Laufzeit stellt eine API zur Verfügung, um während eines Java-Mappings zu einem Ausgangswert einen Zielwert zu ermitteln.
Ein Objekt (beispielsweise eine Materialnummer) kann beim Empfänger anders identifiziert sein als beim Sender (siehe: Werte-Mapping-Tabelle); man sagt, das Objekt hat verschiedene Darstellungen. Eine Darstellung eines Objektes besteht aus:
· Einem Werte-Mapping-Kontext, um Mappings aus verschiedenen Anwendungen voneinander abgrenzen zu können.
· Einer Agentur, die ein Identifikationsschema verwaltet (beispielsweise eine Firma)
· Dem verwendeten Identifikationsschema (beispielsweise das Schema „Kundennummer“)
· Der Wert des Objekts, abhängig von dem Identifikationsschema, der vergebenden Agentur und dem Werte-Mapping-Kontext.
Das Paket com.sap.aii.mapping.value.api bietet die Interfaces IFIdentifier, IFRequest und IFResponse an, zu denen Sie sich Objekte anfordern können, um solche Darstellungen zu beschreiben. Ausgehend von IFIdentifier bauen Sie IFRequest auf, und bekommen nach der Ausführung des Werte-Mappings eine Objekt vom Typ IFResponse zurück:

Um eine Werte-Mapping-Anfrage zu stellen, verwenden Sie ein Objekt vom Typ IFRequest. Die Anfrage bauen Sie aus Ausgangskennung, Zielkennung (beide sind Objekte vom Typ IFIdentifier) und dem Ausgangswert zusammen. Als Werte-Mapping-Ergebnis bekommen Sie ein Objekt vom Typ IFResponse, mit dem Sie zusätzlich zu den Informationen in der Anfrage ein oder mehrere Zielwerte abfragen können.

Alternativ können Sie ein Werte-Mapping auch ausführen, indem Sie der Methode executeMapping() alle notwendigen Werte in einem Aufruf übergeben (siehe unten).
Zum Stellen einer Anfrage und dem Ausführen eines Werte-Mappings verwenden Sie eine Faktory- und eine Service-Klasse, deren Methoden weiter unten beschrieben sind. Die Methoden der Interfaces bestehen nur aus Zugriffsmethoden für die jeweiligen Werte:
Methoden des Interface IFIdentifier
Methode |
Rückgabewerte zur Kennung |
public java.lang.String
|
Werte-Mapping-Kontext |
public java.lang.String
|
Agentur |
public java.lang.String |
Identifikationsschemas |
Methoden des Interface IFRequest
Methode |
Rückgabewerte der Werte-Mapping-Anfrage |
public IFIdentifier getSourceIdentifier() |
Ausgangskennung |
public IFIdentifier getTargetIdentifier() |
Zielkennung |
public java.lang.String getSourceValue() |
Ausgangswert |
Methoden des Interface IFResponse
Methode |
Rückgabewerte des Werte-Mapping-Ergebnis |
public java.lang.String getSingleTargetValue()
|
Einzelner Zielwert. Wenn kein gültiger Zielwert gefunden wurde, gibt die Methode den null-Wert zurück. Wenn mehr als ein Ziel-Wert gefunden wurde, gibt die Methode den ersten (zufällig bestimmten) Wert zurück. Um sicherzugehen, dass es nur einen Ziel-Wert gibt, verwenden Sie die Methode countTargetValues(). Null-Werte können Sie auch mit der Methode hasTargetValues() abfragen. |
public java.lang.String[] getTargetValues()
|
Alle möglichen Ergebniswerte zur Anfrage |
public int countTargetValues() |
Anzahl der Ergebniswerte |
public boolean hasTargetValues() |
true, falls es mindestens einen
Ergebniswert gibt, |
public IFIdentifier getSourceIdentifier() |
Ausgangskennung |
public IFIdentifier getTargetIdentifier() |
Zielkennung |
public java.lang.String getSourceValue()
|
Ausgangswert |
Das Paket com.sap.aii.mapping.value.api bietet folgende Klassen an:
· XIVMFactory, um Objekte vom Typ IFIdentifier und IFRequest zu instanziieren
· XIVMService, um das Werte-Mapping auszuführen
Methoden der Klasse XIVMFactory
Methode |
Verwendung |
|
Konstruktor |
public static IFIdentifier newIdentifier(
|
Gibt eine Kennung zu den übergebenen Werten zurück. |
public static IFRequest newRequest(
|
Gibt eine Werte-Mapping-Anfrage zu einer Ausgangskennung, Zielkennung und zu einem Ausgangswert zurück. |
Methoden des Interface XIVMService
Methode |
Verwendung |
public XIVMService() |
Konstruktor |
public static java.lang.String executeMapping(
ValueMappingException
|
Gibt einen Ergebniswert zurück. |
public static IFResponse executeMapping(IFRequest request)
throws ValueMappingException
|
Gibt ein Werte-Mapping-Ergebnis zu einer Werte-Mapping-Anfrage zurück. |
public static IFResponse[] executeMapping(IFRequest[] requests)
throws ValueMappingException |
Gibt die Werte-Mapping-Ergebnisse zu mehreren Werte-Mapping-Anfragen zurück. |
public static java.lang.String executeMapping(
|
Gibt den Ergebniswert zurück. Genau dann, wenn kein Ergebniswert existiert oder eine Ausnahme während der Ausführung des Werte-Mappings ausgelöst wurde, gibt die Method den null-Wert zurück. |
Die Ausnahme ValueMappingException der Methode executeMapping() wird genau dann ausgelöst, wenn ein Fehler während der Ausführung des Werte-Mappings aufgetritt oder der Wert aus anderen Gründen nicht abgebildet werden kann.