Skip to content

ABAP Keyword Documentation →  ABAP - Reference →  Data Interfaces and Communication Interfaces →  ABAP and XML →  Simple Transformations →  ST - Serialization and Deserialization →  ST - Flow Control →  ST - Flow Control with Variables 

ST - tt:cond-var, Condition for Variables

Other versions: 7.31 | 7.40 | 7.54

Syntax


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

Effect

The statement tt:cond-var allows conditional transformations for which, unlike tt:[s-ld-]cond, only data content can be specified and not conditions for the data flow. The content of tt:cond-var is processed in accordance with a check condition. cond is the same as general conditions, with the exception that you can specify variables and values as operands, but not data nodes.

Outside of tt:switch-var, you must specify a condition check.

Serialization and Deserialization

During serialization and deserialization, the condition is checked and the content of the element tt:cond-var is only processed if the condition is met.


Note

Unlike general conditional transformations with tt:[s-|d-]cond, the content of the XML input stream for tt:cond-var is irrelevant.


Example

The following transformation demonstrates a condition for a 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<100">
      <X val="small">...</X>
    </tt:cond-var>
    <tt:cond-var check="PARA>=100">
      <X val="big">...</X>
    </tt:cond-var>
  </tt:template>
</tt:transform>

In tt:apply, the value of the data root ROOT is passed to the parameter PARA of the subtemplate SUB and checked there. Depending on whether the ABAP data object bound to ROOT is smaller, greater than, or equal to 100, the serialization generates either of the following:

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

or

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

is created. In the check conditions, you could also write var(PARA) instead of PARA.