Show TOC

Das Container-ObjektLocate this document in the navigation structure

Verwendung

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.

Integration

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:

  1. Auf ein AbstractTrace-Objekt, um Meldungen in den Trace zu schreiben.

  2. Auf ein GlobalContainer-Objekt, um zwischen verschiedenen benutzerdefinierten Funktionen Werte auszutauschen.

  3. 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:

Abbildung 1: Zugriff von GlobalContainer- und Container-Objekten auf Konstanten der Mapping-Laufzeit
Funktionsumfang

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).

Beispiel

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 .