Show TOC Anfang des Inhaltsbereichs

Syntaxdokumentation Bedingungen für Variablen  Dokument im Navigationsbaum lokalisieren

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

 

<tt:cond-var check="cond">
  ...
</tt:cond-var>

 

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

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

 

Beispiel

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

 

<tt:transform xmlns:tt="http://www.sap.com/transformation-templates">

  <tt:root name="ROOT"/>

  <tt:template>
    <tt:apply name="SUB">
      <tt:with-parameter name="
PARA" ref="ROOT"/>
    </tt:apply>
  </tt:template>

  <tt:template name="SUB">
    <tt:context>
      <tt:parameter name="PARA"/>
    </tt:context>
    <tt:cond-var check="PARA&lt;100">
      <X val="small">...</X>
    </tt:cond-var>
    <tt:cond-var check="PARA&gt;=100">
      <X val="big">...</X>
    </tt:cond-var>
 
</tt:template>

</tt:transform>

 

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.

 

Ende des Inhaltsbereichs