Show TOC Anfang des Inhaltsbereichs

Syntaxdokumentation Zuweisung eines Werts  Dokument im Navigationsbaum lokalisieren

Mit der Anweisung tt:assign kann einer Datenwurzel, einer Variablen oder einem Parameter ein Wert zugewiesen werden:

 

<tt:assign [to-ref="node"|to-var="variable"]
           [ref="
node"|val="value"|var="variable"] />

 

Mit to-ref oder to-var wird das Zielfeld, mit ref, val oder var das Quellfeld angegeben. Wenn kein Zielfeld oder kein Quellfeld angegeben ist, wird implizit der aktuelle Knoten verwendet. Ziel- und Quellfelder können sein:

      ein gemäß den Adressierungsregeln angegebener Knoten node

      eine Variable oder ein Parameter variable

      ein gemäß den Regeln für ABAP-Werte angegebener Wert value (nur Quellfeld)

 

Eine Zuweisung zwischen Referenzvariablen ist mit tt:assign nur möglich, wenn der statische Typ der Quellvariablen spezieller oder gleich dem statischen Typ der Zielvariablen ist (Up Cast). In allen anderen Fällen kann mit der Anweisung tt:cast ein Down Cast durchgeführt werden.

 

Serialisierung

Bei der Serialisierung werden nur Variablen (bzw. Parameter) mit dem aktuellen Wert des Quellfelds versorgt. Wenn als Zielfeld mit to-ref ein Datenknoten oder implizit der aktuelle Knoten angegeben ist, hat tt:assign bei der Serialisierung keinen Effekt.

 

Deserialisierung

Bei der Deserialisierung werden nur Variablen (bzw. Parameter) oder direkt angegebene Werte als Quellfeld ausgewertet. Wenn als Quellfeld mit ref ein Knoten oder implizit der aktuelle Knoten angegeben ist, hat tt:assign bei der Deserialisierung keinen Effekt.

 

Wenn der aktuelle oder hinter to-ref angegebene Knoten eine interne Tabelle ist, ist folgende Syntax möglich:

 

<tt:assign [to-ref="itab"]>

  <tt:assign [to-ref="comp"]
             [val="
value"|var="variable"] />

  ...

</tt:assign>

 

Damit wird eine Zeile in die angegebene interne Tabelle eingefügt. Die Werte der Komponenten werden durch die inneren Anweisungen tt:assign gesetzt.  Bei der Serialisierung hat diese Anweisung keine Wirkung.

 

Beispiel

Die folgende Transformation demonstriert Wertzuweisungen:

 

<tt:transform xmlns:tt="http://www.sap.com/transformation-templates">

  <tt:root name="ROOT"/>
  <tt:variable name="VARI" val="11"/>
  <tt:parameter name="
PARA" val="22"/>

  <tt:template>
    <tt:assign to-var="VARI" var="
PARA"/>
    <tt:assign to-ref="ROOT" var="VARI"/>
  </tt:template>

</tt:transform>

 

Bei einer Deserialisierung wird dem an die Datenwurzel ROOT angebundenen ABAP-Datenobjekt der Wert 22 zugewiesen.

 

Ende des Inhaltsbereichs