Show TOC

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

Die Anweisung tt:cond-var erlaubt bedingte Transformationen, bei denen im Unterschied zu tt:[s-ld-]cond keine Bedingungen auf den Datenstrom sondern nur für Dateninhalte angegeben werden können:

Syntax Syntax

  1. <tt:cond-var check="cond">
  2.    ... 
  3. </tt:cond-var>
Ende des Codes

Der Inhalt von tt:cond-var wird in Abhängigkeit einer Bedingung cond prozessiert. Für cond gilt das Gleiche wie bei allgemeinen Bedingungen mit der Ausnahme, dass als Operanden nur Variablen und Werte, aber keine Datenknoten angegeben werden können.

Die Angabe einer Bedingung check ist außerhalb von tt:switch-var obligatorisch.

Serialisierung und Deserialisierung

Bei Serialisierung und Deserialisierung wird die Bedingung überprüft und der Inhalt des Elements tt:cond-var nur prozessiert, wenn die Voraussetzung erfüllt ist.

Hinweis Hinweis

Im Unterschied zu allgemeinen bedingten Transformationen mit tt:[s-|d-]cond spielt der Inhalt des XML-Eingangsstroms bei tt:cond-var keine Rolle.

Ende des Hinweises.
Beispiel

Die folgende Transformation demonstriert eine Bedingung für einen Parameter:

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:cond-var check="PARA<100">
  13.       <X val="small">...</X>
  14.     </tt:cond-var>
  15.     <tt:cond-var check="PARA>=100">
  16.       <X val="big">...</X>
  17.     </tt:cond-var>
  18.   </tt:template>
  19. </tt:transform>
Ende des Codes

Der Wert der Datenwurzel ROOT wird in tt:apply an den Parameter PARA des Unter-Templates SUB übergeben und dort überprüft. Je nachdem ob das an ROOT angebundene ABAP-Datenobjekt kleiner oder größer gleich 100 ist, wird bei der Serialisierung

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

oder

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

erzeugt.

In den Bedingungen check könnte statt PARA auch var(PARA) geschrieben werden.