Skip to content

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.

<?sap.transform simple?>
<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.

DATA: dat TYPE d,
      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:

<?xml version="1.0" encoding="utf-8" ?>
<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.

Continue

ST - map, Mapping List

ST - length, minLength, maxLength, Length Specification

ST - xsd-type, Validation