Show TOC

Dokumentation zur SyntaxFallunterscheidungen für Variablen Dieses Dokument in der Navigationsstruktur finden

Die Anweisung tt:switch-var erlaubt Fallunterscheidungen, bei denen im Unterschied zu tt:switch, keine Fälle für den Datenstrom sondern nur für Dateninhalte angegeben werden können:

Syntax Syntax

  1. <tt:switch-var> 
  2.   case1
  3.   case2
  4.  </tt:switch-var>
Ende des Codes

In tt:switch kann eine Liste von Fällen case1, case2, ... aufgeführt werden. Syntaktisch wird jeder Fall case1, case2, ... durch eine Bedingung für Variablen, d.h. ein Unterelement tt:cond-var formuliert. Andere direkte Unterelemente sind in tt:switch-var nicht möglich.

Es darf maximal ein Fall angegeben werden, der keine Bedingung check enthält.

Serialisierung und Deserialisierung

Serialisierung und Deserialisierung erfolgen nach folgenden Regeln:

  1. Der erste Fall tt:cond-var, dessen explizit angegebene Bedingung erfüllt ist, wird prozessiert und das Element tt:switch-var verlassen.

  2. Falls für keinen Fall mit explizit angegebener Bedingung die Voraussetzung erfüllt ist, wird, falls vorhanden, der Fall ohne Bedingung als Standard ausgeführt und das Element tt:switch-var verlassen.

  3. Falls kein Fall ohne Bedingung vorhanden ist, wird das Element tt:switch-var verlassen, ohne dass ein Fall prozessiert wird.

Hinweis Hinweis

Im Unterschied zur allgemeinen Fallunterscheidung mit tt:switch spielt der Inhalt der Fälle keine Rolle.

Ende des Hinweises.
Beispiel

Die folgende Transformation erweitert das Beispiel aus Bedingungen für Variablen.

Syntax Syntax

  1. <tt:transform xmlns:tt="http://www.sap.com/transformation-templates">
  2.   <tt:root name="ROOT"/>
  3.   <tt:template>
  4.     <tt:apply name="SUB">
  5.       <tt:with-parameter name="PARA" ref="ROOT"/>
  6.     </tt:apply>
  7.   </tt:template>
  8.   <tt:template name="SUB">
  9.     <tt:context>
  10.       <tt:parameter name="PARA"/>
  11.     </tt:context>
  12.     <tt:switch-var>
  13.       <tt:cond-var check="PARA<50">
  14.         <X val="small">...</X>
  15.       </tt:cond-var>
  16.       <tt:cond-var check="PARA<100">
  17.         <X val="medium">...</X>
  18.       </tt:cond-var>
  19.       <tt:cond-var>
  20.         <X val="big">...</X>
  21.       </tt:cond-var>
  22.     </tt:switch-var>
  23.   </tt:template>
  24. </tt:transform>
Ende des Codes

Je nach Wert des an ROOT angebundenen ABAP-Datenobjekts, wird bei der Serialisierung

<X val="small">...</X>

oder

<X val="medium">...</X>

oder

<X val="big">...</X>

erzeugt.

Die Position des Elements tt:cond-var ohne explizite Bedingung innerhalb von tt:switch-var ist irrelevant. Die Reihenfolge der Elemente tt:cond-var mit expliziten Bedingungen ist dagegen relevant.