Ausdruckseditor verwenden
Mit dem Ausdruckseditor können Sie Ausdrücke definieren bzw. auswählen. Sie haben folgende Möglichkeiten:
● Konstante definieren
● Variablen (Containerelemente) auswählen
● Auf ein bestimmtes Feld einer Message zugreifen
Um Ihnen die Eingabe zu erleichtern, passt sich das Aussehen des Ausdruckseditors automatisch an die aktuelle Situation an: Der Ausdruckseditor zeigt nur die Felder, die in der aktuellen Situation relevant sind. Daher können Sie nicht immer alle der genannten Funktionen ausführen.

Beachten Sie, dass bei der Verwendung des Ausdruckseditors im Integration Directory alle Eingaben für Konstanten als string interpretiert werden. Dies gilt insbesondere auch für Datums- und Zeitangaben.
Bei der Angabe von Ausdrücken in Integrationsprozessen wird für die Eingabe von Datumswerten und Zeiten ein besonderes Format erwartet (siehe Verwendbare XSD-Datentypen).
Konstanten definieren Sie z. B. um den Vergleichswert für eine Bedingung zu definieren.
...
1. Geben Sie den Namen für die Konstante ein.
2. Wählen Sie den entsprechenden XSD-Datentyp (siehe auch: Verwendbare XSD-Datentypen).

Wenn Date und Time in einem Integrationsprozess verwendet werden sollen, müssen Sie folgendes Format verwenden:
Date: CCYY-MM-DD
Time: hh:mm:ss
Das bedeutet, dass Sie insbesondere keine negativen Zeitangaben (negatives Vorzeichen) und keine Zeitzonen verwenden dürfen. Andernfalls wird eine Warnung ausgegeben.
...
1. Wählen Sie die gewünschte Variable aus.
Folgende Variablen können zur Auswahl stehen:
○ Einfache Variable: Zeigt Containerelemente der Kategorie Einfacher Typ, die z. B. für Zähler verwendet wird.
○ Empfänger: Zeigt Containerelemente der Kategorie Empfänger, die für Empfänger von Messages verwendet wird.
○ Interface-Variable: Zeigt Containerelemente der Kategorie Abstraktes Interface, die für Messages verwendet wird.
2. Ist die Variable als Liste definiert, geben Sie im Feld Index die Position der Liste an, auf die Sie zugreifen möchten.
Sie können die Position als Ganzzahl eingeben (z. B. 2 für die zweite Position der Liste) oder den Ausdruck auswählen, der die gewünschte Position liefert.
Eine Variable ist eine Liste, wenn bei der Definition der Variable im Container das Kennzeichen Mehrzeilig gesetzt wurde.
Auf ein bestimmtes Feld einer Message können Sie über ein Kontextobjekt oder die Angabe des XPath zugreifen.
...
1. Wählen Sie die gewünschte Interface-Variable aus.
2. Legen Sie den Zugriff auf das Feld fest:
○ Um über ein Kontextobjekt zuzugreifen, wählen Sie das entsprechende Kontextobjekt aus.
Der Ausdruckseditor zeigt die
Kontextobjekte,
die für das entsprechende Message-Interface definiert sind, und die
technischen
Kontextobjekte (Namensraum http://sap.com/xi/XI/System).
Darüber hinaus werden
Kontextobjekte für alle vorhandenen
Adapterspezifischen
Attribute im Message-Header angezeigt.

Der Namensraum für ein Adapterspezifisches Attribut setzt sich folgendermaßen zusammen:
<Namensraum des Adaptermetadaten-Objektes>/<Name des Adaptermetadaten-Objektes>
Beachten Sie diese Konvention insbesondere bei Eigenentwicklungen von Adaptern (die Sie in einem eigenen Namensraum durchführen).
Alle von SAP ausgelieferten Adaptermetadaten liegen im Namensraum http://sap.com/xi/XI/System. Daher setzt sich der Namensraum der Kontextobjekte für diese Adapterspezifischen Attribute folgendermaßen zusammen: http://sap.com/xi/XI/System/<Name des Adaptermetadaten-Objektes>.

Beispiel für ein Adapterspezifisches Attribut des RFC-Sender-Adapters: RfcDestination http://sap.com/xi/XI/System/RFC
Hierbei ist RfcDestination der Name des Attributes und RFC der Name des Adaptermetadaten-Objektes (im Namensraum http://sap.com/xi/XI/System), in dem das Attribut definiert ist.

Wenn Sie auf ein Adapterspezifisches
Attribut im Message-Header zugreifen möchten, müssen Sie bei der Konfiguration
des jeweiligen Adapters sicher stellen, dass das Attribut aktiviert ist (siehe
Adapterspezifische
Attribute im Message-Header).
○ Um über den XPath zuzugreifen, expandieren Sie die Struktur der Message und doppelklicken auf das gewünschte Feld.
Enthält das Feld eine Struktur, markieren Sie Mehrzeilig.

Ein XPath-Ausdruck ist mehrzeilig, wenn er eine Liste zurückgibt. Wenn das entsprechende Ankreuzfeld markiert ist, wird bei der Auswertung des Ausdruckes berücksichtigt, dass es sich um eine Liste (und nicht einen Einzelwert) handelt.

Die Bedingung <Ausdruck>=a wird unterschiedlich interpretiert, je nachdem, ob der Ausdruck <Ausdruck> als einfach oder mehrzeilig gekennzeichnet ist:
<Ausdruck> einfach: <Ausdruck> ist gleich a
<Ausdruck> mehrzeilig: <Ausdruck> ist eine Liste, die den Wert a enthält
Beachten Sie, dass mit dem Ausdruckseditor erfasste XPath-Ausdrücke nur Items vom Typ Knoten (node, node set) zurückgeben dürfen. Andere Typen (beispielsweise Boolescher Wert (boolean)) sind aus technischen Gründen nicht erlaubt.
Um dennoch komplexere logische Ausdrücke und Bedingungen zu formulieren, können Sie beispielsweise im XPath-Ausdruck Prädikate (Syntax-Bestandteile in eckigen Klammern) verwenden.

Sie möchten folgende Bedingung formulieren: Die Buchungsnummer (BookingNumber) ist größer als 0100.
Da im Bedingungseditor kein Operator > zur Verfügung steht, bietet sich folgende Lösung an: Sie definieren den entsprechenden logischen Ausdruck im Ausdruckseditor mit Hilfe eines XPath-Prädikates und ordnen ihn einem Knotenelement zu. Mit dem Bedingungseditor fragen Sie dann lediglich die Existenz dieses Knotenelementes ab (mit Hilfe des Existenz-Operators (EX)).
Das heißt, Sie erfassen zunächst mit dem Ausdruckseditor den folgenden Ausdruck:
/FlightBookingOrderConfirmation [BookingID/BookingNumber > 0100]
Mit dem Bedingungseditor formulieren Sie dann folgende Bedingung:
(/FlightBookingOrderConfirmation [BookingID/BookingNumber > 0100] EX)
In natürliche Sprache übersetzt, lautet diese Bedingung:
Das Knotenelement FlightBookingOrderConfirmation existiert, für das folgendes gilt: Der Inhalt des Unterelementes BookingID/BookingNumber ist größer als 0100.

Bei einem Ausdruck der folgenden Form /A/B/C = G wird auf den Knoten <C> genau genommen die getText()-Methode angewandt, die den Inhalt dieses Knotens ermittelt.