Ansicht
Dokumentation

ABENST_ADDRESSING_SUBNODES - ST ADDRESSING SUBNODES

ABENST_ADDRESSING_SUBNODES - ST ADDRESSING SUBNODES

Fill RESBD Structure from EBP Component Structure   SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3up  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

- Adressierung von Unterknoten

Bei der Adressierung von Unterknoten muss zwischen undefiniertem und definiertem aktuellen Knoten unterschieden werden.

Unterknoten bei undefiniertem aktuellen Knoten

Wenn der aktuelle Knoten undefiniert ist, sind die Unterknoten der Datenwurzeln des Templates wie folgt adressierbar:

name.node1.node2. ...

Dabei ist name der symbolische Name einer Datenwurzel und node1, node2, ... sind die tatsächlichen Namen von Komponenten der Hierarchiestufen 1, 2, ... Bei Ausführung der Transformation muss das an die Datenwurzel angebundene ABAP-Datenobjekt einen strukturierten Typ mit den entsprechenden Komponenten haben.

Hinweis

Bei undefiniertem aktuellen Knoten wird der erste Name einer Kette immer als Name einer Datenwurzel interpretiert. Insbesondere bezeichnet name die Datenwurzel selbst.

Unterknoten bei definiertem aktuellen Knoten

  • Die Unterknoten des aktuellen Knotens sind wie folgt adressierbar:
node1.node2. ...
Dabei sind node1, node2, ... die tatsächlichen Namen von Komponenten der Hierarchiestufen 1, 2, ... unterhalb des aktuellen Knotens. Bei definiertem aktuellen Knoten wird der erste Name einer Kette immer als Name einer Komponente des aktuellen Knotens interpretiert. Obige Kette ist deshalb gleichbedeutend zu
$ref.node1.node2. ...
wobei $ref den aktuellen Knoten bezeichnet.
  • Die Unterknoten der Datenwurzeln des Templates sind wie folgt adressierbar:
.name.node1.node2. ...
Dabei ist name der symbolische Name einer Datenwurzel und node1, node2, ... sind die tatsächlichen Namen von Komponenten der Hierarchiestufen 1, 3.... Der Punkt (.) umgeht die Verschattung der Wurzel durch den aktuellen Knoten.

Bei Ausführung der Transformation muss das an den aktuellen Knoten bzw. die Datenwurzel angebundene ABAP-Datenobjekt einen strukturierten Typ mit den entsprechenden Komponenten haben.

Hinweis

Bei definiertem aktuellen Knoten wird der erste Name einer Kette immer als Name einer Unterkomponente des aktuellen Knotens interpretiert. Insbesondere bezeichnet node keine Datenwurzel, sondern eine direkte Unterkomponente des aktuellen Knotens.

Beispiel

Das folgende ST-Programm ist geeignet, eine geschachtelte ABAP-Struktur zu serialisieren.

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>

Der aktuelle Knoten wird für jeden tt:value-Anweisung einzeln auf einen Unterknoten der Datenwurzel gesetzt. Ansonsten ist der aktuelle Knoten undefiniert und die Datenwurzel ROOT kann über ihren Namen angesprochen werden. Siehe das Beispiel im Abschnitt tt:value, Strukturen für einen Aufruf der Transformation.






BAL_S_LOG - Application Log: Log header data   ABAP Short Reference  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 5589 Date: 20240523 Time: 102531     sap01-206 ( 71 ms )