ABAP Keyword Documentation → ABAP - Reference → Data Interfaces and Communication Interfaces → ABAP and XML → Simple Transformations → ST - Serialization and Deserialization → ST - Transformation of ABAP Values
ST - tt:value, elementare Datenobjekte
Other versions: 7.31 | 7.40 | 7.54
Syntax
<tt:value [ref="node"] [map="..."]
[length|minLength|maxLength="len"]
[xsd-type...] />
Effect
Diese Form des ST-Befehls tt:value serialisiert und deserialisiert elementarer Datenobjekte.
The optional attribute ref can be used to define the current node for the command. If ref is not specified, the current node of the surrounding element is used.
Die Abbildung elementarer ABAP-Werte auf XML-Werte und umgekehrt folgt den Regeln von asXML für elementare Typen. Für Datenobjekte, deren elementarer Datentyp sich auf spezielle Domänen des ABAP Dictionary bezieht ist ein besonderes Mapping definiert.
- You can use map to specify a mapping list that maps multiple values to a single value.
- Mit der Angabe von xsd-type... können Validierungen des Wertes vorgenommen werden.
Serialization
Ohne die Angabe von map wird bei der Serialisierung der Wert des elementaren ABAP-Datenobjekts, das an den aktuellen Knoten angebunden ist, an der Stelle des Befehls im asXML-Format in das XML-Dokument eingesetzt.
Deserialization
During deserialization, the current value of the XML inbound stream is passed to the ABAP data object. The end of the XML value is determined either by the end of the text node (for example, at the element end) or by the beginning of a literal text following directly in the ST program. Der XML-Wert muss zur asXML-Darstellung des ABAP-Datentyps passen und in dessen Wertebereich liegen.
Example
Das folgende ST-Programm demonstriert die Abbildung von elementaren ABAP-Datentypen für Datum, Zeit und klassische Zeitstempel nach XML und umgekehrt.
<tt:transform
xmlns:tt="http://www.sap.com/transformation-templates"
<tt:root name="DATE"/>
<tt:root name="TIME"/>
<tt:root name="DATETIME"/>
<tt:template>
<Date_and_Time>
<Date>
<tt:value ref="DATE"/>
</Date>
<Time>
<tt:value ref="TIME"/>
</Time>
<DateTime>
<tt:value ref="DATETIME"/>
</DateTime>
</Date_and_Time>
</tt:template>
</tt:transform>
The following ABAP program can call the transformation. Beachten Sie, dass time_stamp
mit dem speziellen Typ XSDDATETIME_Z aus dem ABAP Dictionary definiert ist, der dafür sorgt, dass ein spezielles Mapping für Zeitstempel verwendet wird.
tim TYPE t,
time_stamp TYPE xsddatetime_z,
tz TYPE ttzz-tzone VALUE IS INITIAL,
xml_xstring TYPE xstring.
dat = sy-datum.
tim = sy-uzeit.
CONVERT DATE dat TIME tim INTO TIME STAMP time_stamp TIME ZONE tz.
CALL TRANSFORMATION ... SOURCE date = dat
time = tim
datetime = time_stamp
RESULT XML xml_xstring.
cl_abap_browser=>show_xml( xml_xstring = xml_xstring ).
The result of the transformation is as follows:
<Date_and_Time>
<Date>2006-08-30</Date>
<Time>09:02:23</Time>
<DateTime>2006-08-30T09:02:23Z</DateTime>
</Date_and_Time>
The transformation is symmetrical.