
Mit diesem Objekt können Sie Werte zwischenspeichern, die Sie beim nächsten Aufruf der gleichen benutzerdefinierten Funktion aus dem gleichen Kontext wieder auslesen wollen. Eine Instanz des Container-Objekts wird jeder benutzerspezifischen Funktion über den Parameter container übergeben.
Mit dem Container-Objekt speichern Sie nicht nur vorübergehend Werte für eine benutzerdefinierte Funktion, Sie greifen auch auf eine Reihe von weiteren Objekten zu:
Auf ein AbstractTrace-Objekt, um Meldungen in den Trace zu schreiben.
Auf ein GlobalContainer-Objekt, um zwischen verschiedenen benutzerdefinierten Funktionen Werte auszutauschen.
Auf eine Map, mit der Sie auf Konstanten der Mapping-Laufzeit zugreifen.
Die folgende Grafik zeigt, wie GlobalContainer- und Container-Objekte auf Konstanten der Mapping-Laufzeit zugreifen:

Methoden des Objekts Container
Methode(n) |
Verwendung |
void setParameter (String parName, Object obj); |
Speichert das Objekt obj unter dem Namen parName in einen Container zur benutzerspezifischen Funktion. |
Object getParameter (String parName); |
Gibt das Objekt zurück, das über die Methode setParameter in dieser benutzerspezifischen Funktion unter dem Namen parName gespeichert wurde. Gibt es keinen solchen Parameter, gibt getParameter den Wert null zurück. |
AbstractTrace getTrace(); |
Gibt ein AbstractTrace-Objekt zurück, mit dem Sie Meldungen an den Mapping-Trace übergeben können. |
GlobalContainer getGlobalContainer(); |
Gibt ein GlobalContainer-Objekt zurück, mit dem Sie Werte speichern können, die von beliebigen benutzerspezifischen Funktionen des gleichen Message-Mappings gelesen werden können. |
java.util.Map container.getTransformationParameters() |
Gibt eine Map mit den Konstanten der Mapping-Laufzeit zurück. Unter Java-Mapping-API (SAP NetWeaver 2004 und 7.0) ist beschrieben, auf welche Konstanten Sie über diese Map zugreifen können. Die Konstanten sind Attribute der Klasse com.sap.aii.mapping.api.StreamTransformationConstants (siehe auch das Beispiel unten). |
Der folgende Quellcode fragt in einer benutzerdefinierten Funktion die Konstante INTERFACE_NAMESPACE ab, gibt sie über das AbstractTrace-Objekt als Information aus und als Ergebnis der Funktion zurück:
AbstractTrace trace; String headerField; java.util.Map map;
trace = container.getTrace();
// get constant map map = container.getTransformationParameters();
headerField = (String) map.get( StreamTransformationConstants.INTERFACE_NAMESPACE); trace.addInfo("INTERFACE_NAMESPACE:" + headerField);
return headerField;
Zur Design-Zeit haben die Konstanten der Mapping-Laufzeit noch keinen Wert. Der Mapping-Editor gibt daher in der Testumgebung nur einen Test-String für die jeweilige Konstante aus.
Weitere Informationen: Spezieller Zugriff auf Mapping-Laufzeitkonstanten .