Show TOC

Ausdruckseditor verwendenLocate this document in the navigation structure

Verwendung

Mit dem Ausdruckseditor können Sie Ausdrücke definieren, um auf ein bestimmtes Feld einer Message (Payload-Element) zuzugreifen.

Funktionsumfang

Konstante definieren

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.

    Weitere Informationen: XSD-Datentypen

    Achtung

    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.

Auf ein Feld einer Message zugreifen

Auf ein Feld einer Message zugreifen

Auf ein bestimmtes Feld einer Message können Sie über ein Kontextobjekt oder die Angabe des XPath zugreifen.

Kontextobjekt angeben

  1. Wählen Sie die gewünschte Interface-Variable aus.

  2. Legen Sie den Zugriff auf das Feld fest:

    Wählen Sie das entsprechende Kontextobjekt aus.

    Der Ausdruckseditor zeigt die Kontextobjekte, die für das entsprechende Service-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

    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.

    Achtung

    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.

    Weitere Informationen:

    Adapterspezifische Attribute im Message-Header

XPath-Ausdruck angeben

  1. Wählen Sie die gewünschte Interface-Variable aus.

  2. Legen Sie den Zugriff auf das Feld fest:

    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 .

    Hinweis

    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.

    Beispiel

    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

    Wenn das Element in der Message, auf das Sie zugreifen, durch einen Namensraum genauer bestimmt ist, müssen Sie für diesen ein Präfix vergeben. Das Präfix wird dann als Abkürzung des Namensraumes in XPath-Ausdrücken verwendet.

    Um ein Präfix-Namensraum-Paar anzugeben, legen Sie in der Tabelle unter dem XPath-Ausdruck eine neue Zeile an und ordnen Sie einem Namensraum ein Präfix zu (Spalten Präfix und Namensraum ).

    Wenn Sie einen XPath-Ausdruck aus der Struktur der Message übernehmen, werden die entsprechenden Präfix-Namensraum-Paare automatisch erzeugt.

Anmerkungen zur Verwendung von XPath-Ausdrücken

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.

Beispiel

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 .

Hinweis

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.