Show TOC Anfang des Inhaltsbereichs

Syntaxdokumentation Unter-Templates definieren  Dokument im Navigationsbaum lokalisieren

Unter-Templates werden wie das Haupt-Template mit tt:template definiert.

 

<tt:template name=“tmpl“>
  [
<tt:context>
    [<tt:root name="
root1" [[line-]type=...] />
     <tt:root name="
root2" [[line-]type=...] />
     ...]
    [<tt:parameter name="para1" [[s-|d-]val="def1"] [kind="knd1"] />
     <tt:parameter name="
para2" [[s-|d-]val="def2"] [kind="knd2"] />
     ...]
    [<tt:variable name="
vari1" [[s-|d-]val="val1"] />
     <tt:variable name="
vari2" [[s-|d-]val="val2"] />
     ...]
 
  </tt:context>]
  ...
</tt:template>

 

Über name muss ein eindeutiger Name tmpl für das Unter-Template definiert werden.

 

Daten in Unter-Templates

In einem Unter-Template können optional eigene Daten deklariert werden, indem mit tt:context ein Kontext für tt:root–, tt:variable– und tt:parameter-Befehle definiert wird. Der Befehl tt:context ist nur in Unter-Templates und die Befehle tt:root, tt:variable– und tt:parameter sind innerhalb eines Templates nur innerhalb von tt:context erlaubt.

Analog zum Haupt-Template gibt es drei Arten von Daten, die alle in einem Namensraum liegen:

·        Datenwurzeln

Die mit tt:root deklarierten Datenwurzeln haben für das Unter-Template genau die gleiche Bedeutung wie die auf der höchsten Hierarchiestufe der Transformation deklarierten Datenwurzeln für das Haupt-Template. D.h. sie spannen ebenfalls unabhängige Baumstrukturen auf. Im Unterschied zu den Datenwurzeln des Haupt-Templates bilden die lokalen Datenwurzeln von Unter-Templates keine Schnittstelle der Simple Transformation zum ABAP-Programm, sondern eine Schnittstelle zum einbindenden Template, an die mit tt:with-root ein ABAP-Datenobjekt angebunden werden kann.

Die Datenwurzeln des Unter-Templates können genau wie die des Haupt-Templates mit dem Attribut [line-]type typisiert werden.

·        Parameter

Die mit tt:parameter deklarierten Parameter sind Formalparameter des Unter-Templates, an die mit tt:with-parameter ein Wert übergeben werden kann. Ansonsten gilt das Gleiche wie für die Parameter des Haupt-Templates.

·        Variablen

Die mit tt:variable deklarierten Variablen sind lokale Variablen des Unter-Templates und nur dort sichtbar. Ansonsten gilt das Gleiche wie für die Variablen des Haupt-Templates.

 

Hinweis

In Unter-Templates können keine lokalen Typen mit tt:type definiert werden.

Adressierung von Daten in Unter-Templates

Ein Unter-Template ohne eigene Datenwurzeln spannt eine eigene Baumstruktur von Datenknoten auf, deren Wurzelknoten der aktuelle Knoten an der Aufrufstelle im aufrufenden Template ist. Voraussetzung für den Aufruf eines solcjen Templates ist, dass der aktuelle Knoten an der Aufrufstelle definiert ist. Zu Beginn des Unter-Templates ist dieser Wurzelknoten auch der aktuelle Knoten des Unter-Templates. In einem solchen Unter-Template kann der aktuelle Knoten wie für Haupt-Templates beschrieben gesetzt werden, ist aber im Gegensatz zu Haupt-Templates nie undefiniert. Datenknoten außerhalb der Baumstruktur des Unter-Templates können nicht adressiert werden. Insbesondere sind auch die Datenwurzeln des Haupt-Templates nicht über “.nameansprechbar.

Die Adressierung der Datenknoten eines Unter-Templates mit eigenen Datenwurzeln ist genau wie für das Haupt-Template beschrieben. Solange kein aktueller Knoten definiert ist, sind die Datenwurzeln des Unter-Templates über nameansprechbar. Nach der Verschattung durch einen aktuellen Knoten sind sie nur noch über “.nameansprechbar. 

Hinweis

Bildlich gesprochen arbeitet ein Unter-Template ohne eigene Datenwurzeln ausschließlich auf der Unterstruktur der Baumstruktur des Haupt-Templates, an deren Wurzelknoten es eingebunden wurde.

 

 

 

Ende des Inhaltsbereichs