Skip to content

ABAP Keyword Documentation →  ABAP - Reference →  Data Interfaces and Communication Interfaces →  ABAP and XML →  Simple Transformations 

ST - Structure of ST Programs

Other versions: 7.31 | 7.40 | 7.54


<?sap.transform simple?> 
<tt:transform [template="tmpl"]

  [<tt:type name="..." [...]>

  [<tt:root name="root1" [...] />
   <tt:root name="root2" [...] />
  [<tt:parameter name="para1" [...] />
   <tt:parameter name="para2" [...] />
  [<tt:variable name="vari1" [...] />
   <tt:variable name="vari2" [...] />

  <tt:template [name=="tmpl"]>
  [<tt:template [name=="..."]>



An ST program must be a valid XML document, structured as follows.

  • The first line <? ... ?> is used to identify the program type (ST). It does not need to be entered because the syntax check inserts it automatically.
  • The elements of namespace "" are ST commands. Namespace prefix tt is used in this documentation as a convention for this namespace. ST commands can be XML elements or attributes. All other components of an XML element are called literal elements, which means that they have no semantics within the ST language.
  • The possible elements of an ST program are:
  • A main template defined with tt:template and any number of subtemplates. A template is a pattern for the XML document into which ABAP data is serialized or from which data is deserialized, respectively.
These elements can be in any order.


In this documentation and in the example programs, double quotation marks (") are used as outer quotes and single quotation marks (') as inner quotes. However, as usual in XML, this is not mandatory. For example, you can also write 'not-initial(ref("X.Y"))' instead of "not-initial(ref('X.Y'))".


ST - tt:transform, Root Element

ST - tt:type, tt:front, tt:node, type definitions

ST - Data Declarations

ST - tt:template, Main Template

ST - Example of an ST Program