Die Serialisierung und Deserialisierung von Strukturen ergibt sich direkt aus den Adressierungsregeln, da Strukturen direkt auf die von den Datenwurzeln ausgehenden Baumstrukturen abbildbar sind. Wenn an den aktuellen Knoten dann eine elementare Komponente einer ABAP-Struktur angebunden ist, kann diese wie ein elementares Datenobjekt mit tt:value bearbeitet werden.
Die drei ST-Programme in den Beispielen der Abschnitte Aktueller Knoten, Adressierung des aktuellen Knotens und Adressierung von Unterknoten des aktuellen Knotens können eine geschachtelte ABAP-Struktur symmetrisch transformieren. Folgendes Programm kann die drei ST-Programme aufrufen:
DATA: BEGIN OF struc1,
col1(10) TYPE c VALUE
'ABCDEFGHIJ',
col2
TYPE i VALUE 111,
BEGIN OF struc2,
col1 TYPE d VALUE
'20040126',
col2 TYPE t VALUE
'084000',
END OF struc2,
END OF struc1.
DATA: xml_string TYPE string,
result LIKE struc1.
TRY.
CALL
TRANSFORMATION ...
SOURCE root = struc1
RESULT XML xml_string.
cl_abap_browser=>show_xml( EXPORTING xml_string = xml_string ).
CALL
TRANSFORMATION ...
SOURCE XML xml_string
RESULT root = result.
IF struc1 <> result.
MESSAGE 'Deserialization <>
Serialization' TYPE 'I'.
ENDIF.
CATCH cx_st_error.
...
ENDTRY.
Das Ergebnis der Serialisierung ist für alle drei Simple Transformations das gleiche XML-Dokument:
<X>
<X1>ABCDEFGHIJ</X1>
<X2>111</X2>
<X3>
<X1>2004-01-26</X1>
<X2>08:40:00</X2>
</X3>
</X>