Skip to content

ABAP Keyword Documentation →  ABAP − Reference →  Data Interfaces and Communication Interfaces →  ABAP and XML →  Transformations for XML →  ST - Simple Transformations →  ST - Addressing ABAP Data →  ST - Addressing Data Nodes 

ST - Addressing the Current Node

In all ST commands in which the name of a node can be specified, the current node can be addressed explicitly with $ref. An alias name can be also be defined for $ref in tt:loop loops where internal tables are transformed. If specification of the node is optional, ST commands use the current node by default.

Other versions: 7.31 | 7.40 | 7.54


Note

If the current node is undefined, it cannot be addressed using $ref and ST commands that work implicitly with the current node cannot be executed.


Example

The following ST program can be used to serialize a nested ABAP structure:

<tt:transform
  xmlns:tt="http://www.sap.com/transformation-templates">
  <tt:root name="ROOT"/>
  <tt:template>
    <X tt:ref="ROOT">
      <X1 tt:ref="$ref.COL1">
        <tt:value ref="$ref" />
      </X1>
      <X2 tt:ref="$ref.COL2">
        <tt:value ref="$ref" />
      </X2>
      <X3 tt:ref="STRUC2">
        <X1 tt:ref="COL1">
          <tt:value/>
        </X1>
        <X2 tt:ref="COL2">
          <tt:value/>
        </X2>
      </X3>
    </X>
  </tt:template>
</tt:transform>

In the example, subnodes COL1 and COL2 are set as the current node in the surrounding elements of the tt:value commands with ROOT and STRUC2, respectively. In the first two elements, the current node is addressed explicitly using $ref for demonstration purposes. The current node is also specified using $ref in the first two tt:value commands, while specification is implicit in the other two tt:value commands.

Also see the example for calling a transformation in the tt:value, Structures section.