sapdev logo background
sapdev logo sapdev logo
Comments

SAP ST ADDRESSING SUBNODES documentation, setup help and example usage



Return to SAP documentation index


ARTICLE

ST - Addressing Subnodes
When addressing subnodes, you must distinguish between a defined and an undefined current node .

Subnodes When the Current Node is Undefined
If the current node is undefined, you can address the subnodes of the data root of the template as follows:
name.node1.node2. ...
Here, name is the symbolic name of a data root and node1 , node2 , ... are the actual names of components of the hierarchy levels 1, 2, ... When the transformation is executed, the ABAP data object bound to the data root must have a structured type with these components.

Note
If the current node is undefined, the first name of a chain is always interpreted as the name of a data root. In particular, name is used for the data root itself.

Subnodes When the Current Node is Defined
  • The subnodes of the current node can be addressed in the following way:

  • node1.node2. ..
    Here, node1 , node2 , ... are the actual names of components of the hierarchy levels 1, 2, ... below the current node. If the current node is defined, the first name of a chain is always interpreted as the name of a component of the current node. The chain above therefore has the same meaning as
    $ref.node1.node2. ...
    where $ref is the current node.
  • The subnodes of the data root of the template can be addressed in the following way:

  • .name.node1.node2. ...
    Here, name is the symbolic name of a data root and node1 , node2 , ... are the actual names of components of the hierarchy levels 1, 3.... The period ( . ) bypasses the shading by the current node.
    When the transformation is executed, the ABAP data object bound to the current node or to the data root must have a structured type with these components.

    Note
    If the current node is defined, the first name of a chain is always interpreted as the name of a subcomponent of the current node. In particular, node does not stand for a data root, but for a direct subcomponent of the current node.

    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>
    <(><<)>X1>
    tt:value ref="ROOT.COL1" /
    <(><<)>/X1>
    <(><<)>X2>
    tt:value ref="ROOT.COL2" /
    <(><<)>/X2>
    <(><<)>X3>
    <(><<)>X1>
    tt:value ref="ROOT.STRUC2.COL1" /
    <(><<)>/X1>
    <(><<)>X2>
    tt:value ref="ROOT.STRUC2.COL2" /
    <(><<)>/X2>
    <(><<)>/X3>
    <(><<)>/X>
    <(><<)>/tt:template>
    /tt:transform
    For each tt:value command , the current node is set individually to a subnode of the data root. Otherwise the current node is undefined and you can address the data root ROOT using its name. Also see the example for calling a transformation in the tt:value , Structures section.
    Documentation extract taken from SAP system, � Copyright SAP AG. All rights reserved




    ST_ADDRESSING_ROOT_NODE
    ST_ASSIGNMENTS




    comments powered by Disqus