Show TOC Anfang des Inhaltsbereichs

Vorgehensweisen Pfad ermitteln  Dokument im Navigationsbaum lokalisieren

Verwendung

Die Ermittlung des Pfads zum Wert eines Parameters stellt den zweiten Schritt dar, die Pfad-Ersetzung zur dynamischen Parametrisierung von Befehlen und Web Items zu nutzen.

Vorgehensweise

Der Pfad zum Wert eines Parameters lässt sich in zwei Abschnitte teilen. Der erste Abschnitt ist ein Präfix, welches das Element der dynamischen Ersetzung beschreibt, und den Data Provider, das Web Item oder die Seite referenziert. Nach einem „? wird im zweiten Abschnitt dann der Pfad angegeben, welcher der XPath-Notation entspricht.

path=<XML_PROVIDER_OBJECT>?<XPath>

Der Platzhalter <XML_PROVIDER_OBJECT> hat einen der folgenden Werte:

      DATA_PROVIDER für Data Provider

      ITEM für Web Items

      VARIABLE_CONTAINER für Variablenwerte

      PAGE für Seite einer Web Application

Der Platzhalter <XPath> enthält den Pfad in der XPath-Notation. Bei der XPath-Notation werden verschachtelte XML-Knoten und XML-Elemente als Pfad dargestellt, wobei jedes XML-Element durch ein „/“ getrennt wird. Mit @ können die Attribute eines XML-Element abgefragt werden (zum Beispiel @name, @type oder @text). Mit der Funktion text() kann der Inhalt eines XML-Elements abgefragt werden (siehe Beispiel unten).

Einfaches Beispiel für die Pfadermittlung

Der Wert „true“ vom XML-Element HAS_INPUT_VARIABLES soll als Pfad angegeben werden:

<PAGE>    

  <VARIABLE_CONTAINER>

    <HAS_INPUT_VARIABLES value="true"/>

  </VARIABLE_CONTAINER>

</PAGE>

Die XML-Knoten und XML-Elemente bis zum Wert werden durch „/“ getrennt. Der Wert vom Attribut value wird mit @value abgefragt:

/PAGE/VARIABLE_CONTAINER/HAS_INPUT_VARIABLES/@value

Es gibt XML-Knoten, die Wiederholungen von XML-Elementen enthalten. Diese XML-Elemente unterhalb des XML-Knoten müssen über den Index oder ein Attribut adressiert werden. Der Index wird mit [<Index>] (zum Beispiel [1]) angegeben, wobei <Index> durch eine Zahl ersetzt werden muss. Das erste XML-Element hat den Index 1. Ein Attribut wird mit [@<Attribut>=’<Wert>’] (zum Beispiel [@name=’0D_PRODUCT’]) angegeben.

Beispiele für XML-Knoten und deren XML-Elemente:

      CHARACTERISTICS enthalten CHARACTERISTIC (Adressierung über Index oder Attribut)

      VARIABLES enthalten VARIABLE (Adressierung über Index oder Attribut)

      SELECTIONS enthalten SELECTION (SELECTION hat kein Attribut, deshalb muss die Adressierung über den Index erfolgen)

Komplexes Beispiel mit XML-Knoten und deren XML-Elemente

Der Pfad zum Wert „Candy tin“ soll ermittelt werden:

Der XML-Knoten CHARACTERISTIC kann mehrere XML-Elemente enthalten (in diesem Beispiel ist nur ein Merkmal vorhanden). CHARACTERISTIC kann über Index [1] oder das Attribut name [@name=’0D_PH2’] adressiert werden. SELECTION enthält mehrere XML-Elemente. Es ist jedoch kein eindeutiges Attribut, dass für die Adressierung verwendet werden kann. Aus diesem Grund muss mit einem Index gearbeitet werden.

<BICS_VIEW>

   ...

<SELECTION_STATE>

<SELECTION type="CARTESIAN_PRODUCT">

<CHARACTERISTICS>

<CHARACTERISTIC name="0D_PH2">

<SELECTIONS>

<SELECTION type="SINGLE_MEMBER">

<MEMBER name="PDS03" type="MEMBER" text="A4 Writing Case"/>

</SELECTION>

<SELECTION type="SINGLE_MEMBER">

<MEMBER name="PDS05" type="MEMBER" text="Candy tin"/>

</SELECTION>

</SELECTIONS>

</CHARACTERISTIC>

</CHARACTERISTICS>

</SELECTION>

</SELECTION_STATE>

Pfade zum Wert “Candy tin” (mit Index und mit Attribut bei CHARACTERISTIC)

BICS_VIEW/SELECTION_STATE/SELECTION/CHARACTERISTICS/CHARACTERISTIC[1]/SELECTIONS/SELECTION[2]/MEMBER/@name

BICS_VIEW/SELECTION_STATE/SELECTION/CHARACTERISTICS/CHARACTERISTIC[@name='0D_PH2']/SELECTIONS/SELECTION[2]/MEMBER/@name

Ergebnis

Sie haben einen Pfad zum Wert eines Parameters ermittelt, um diesen Pfad im Web Template einzusetzen.

Weitere Informationen:

Pfad verwenden

Beispiel

Beispiel mit Navigationszustand und Ergebnismenge eines Data Provider

Die folgenden Beispiele zeigen die Pfade auf den Namen und die Beschreibung der Query des Data Providers DP_1.

XML (angezeigt mit path="DATA_PROVIDER:DP_1?/BICS_VIEW" und &debug=x)

Path XML
<?xml version="1.0" encoding="UTF-8"?>
<BICS_VIEW>

<SERVICE_DESCRIPTION>

<SYSTEM_ALIAS>BR9CLNT000</SYSTEM_ALIAS>

<QUERY>0D_DX_Q01</QUERY>

</SERVICE_DESCRIPTION>

<INFO_PROVIDER name="0D_DX_C01" text="Demo Szenario DalSegno Company Umsatz Daten"/>

<QUERY name="0D_DX_Q01" text="DalSegno Umsatz Daten">

...

/QUERY>

<VARIABLES>

...

   </BICS_VIEW>

Pfad auf Name der Query (Wert „OD_DX_Q01“)

DATA_PROVIDER:DP_1?/BICS_VIEW/QUERY/@name

Pfad auf Beschreibung der Query (Wert „DalSegno Umsatz Daten“)

DATA_PROVIDER:DP_1?/BICS_VIEW/QUERY/@text

Beispiel mit aktuellem Zustand eines Web Items

Das Beispiel gibt den Wert des Parameters Aktiv (ENABLED) der ersten Schaltfläche des Web Items Button-Group mit dem Namen BUTTON_GROUP_1 zurück.

XML (angezeigt mit path="ITEM:BUTTON_GROUP_1?/ITEM" und &debug=x)

Path XML
<?xml version="1.0" encoding="UTF-8"?>
<ITEM>

<INIT_PARAMETERS>

<BUTTON_LIST value="">

<BUTTON value="" index="1">

<ENABLED value="true"/>

...

</BUTTON>

</BUTTON_LIST>

...

</INIT_PARAMETERS>

</ITEM>

Pfad (Wert „true“)

ITEM:BUTTON_GROUP_1?/ITEM/INIT_PARAMETERS/BUTTON_LIST/BUTTON[1]/ENABLED/@value

Beispiel mit aktuellem Zustand einer Variablen

Das Beispiel liefert den Wert der Variablen 0P_MAT im Data Provider DP_1 (Einzelwertvariable, deshalb mit Index [1]).

XML (angezeigt mit path="VARIABLE_CONTAINER?/VARIABLES" und &debug=x)

Path XML
<?xml version="1.0" encoding="UTF-8"?>
<VARIABLES>

<VARIABLE name="0P_MAT" type="INFO_OBJECT_MEMBER" text="Material (Einzelwert, Pflicht)">

<SELECTIONS>

<SELECTION type="SINGLE_MEMBER">

<MEMBER name="000000000000000002" type="MEMBER" text="2"/>

</SELECTION>

</SELECTIONS>

</VARIABLE>

</VARIABLES>

Pfad (Wert „000000000000000002“)

DATA_PROVIDER:DP_1?/BICS_VIEW/VARIABLES/VARIABLE[@name='0P_MAT']/SELECTIONS/SELECTION[1]/MEMBER/@name

Beispiel mit dem aktuellen Zustand der Seite einer Web Application

In dem Beispiel soll eine Schaltfläche nur aktiviert sein, wenn eingabebereite Variablen in der Web Application vorhanden sind.

XML (angezeigt mit path="PAGE?/PAGE" und &debug=x)

Path XML

<?xml version="1.0" encoding="UTF-8"?>
<PAGE>

<PERSONALIZATION>

<IS_PERSONALIZED value="false"/>

<USE_PERSONALIZATION value="false"/>

</PERSONALIZATION>

<STATE>

<HAS_PERVIOUS_STATE value="false"/>

</STATE>

<VARIABLE_CONTAINER>

<HAS_INPUT_VARIABLES value="true"/>

</VARIABLE_CONTAINER>
</PAGE>

Pfad (Wert „true“)

PAGE?/PAGE/VARIABLE_CONTAINER/HAS_INPUT_VARIABLES/@value

Web Item mit Pfad-Referenzierung

<bi:param name="BUTTON" index="1">

...

<bi:param name="ENABLED" path="PAGE?/PAGE/VARIABLE_CONTAINER/HAS_INPUT_VARIABLES/@value">

</bi:param>

...

</bi:param>

Beispiel mit dem ersten Merkmal in den Zeilen eines Data Provider

Das folgende Beispiel zeigt den Pfad auf den technischen Namen des ersten Merkmals in den Zeilen des Data Providers DP_1. Um den technischen Namen auszugeben, wird die Funktion text() verwendet.

XML (angezeigt mit path="DATA_PROVIDER:DP_1?/BICS_VIEW" und &debug=x)

Path XML

<?xml version="1.0" encoding="UTF-8"?>

<BICS_VIEW>

...

<AXES>

     <AXIS name="ROWS">

       ...

<CHARACTERISTICS>

         <CHARACTERISTIC>0D_PH2</CHARACTERISTIC>

         ...

       </CHARACTERISTICS>

       <CUSTOM_PARAMETERS />

     </AXIS>

...

   </BICS_VIEW>

Pfad auf den technischen Namen des Merkmal (Wert „OD_PH2“)

DATA_PROVIDER:DP_1?/BICS_VIEW/AXES/AXIS[@name=”ROWS”]/CHARACTERISTICS/CHARACTERISTIC[1]/text()

Ende des Inhaltsbereichs