ABAP Keyword Documentation → ABAP - Reference → Data Interfaces and Communication Interfaces → ABAP and XML → Simple Transformations → ST - Serialization and Deserialization
ST - Symmetry of Serialization and Deserialization
The language constructs of Simple Transformations support the formulation of reversible transformations, that is, of programs that provide the original values in the execution sequence serialization - deserialization (or vice versa). However, it is also possible to write programs that cannot be reversed.
Other versions: 7.31 | 7.40 | 7.54
Example
This simple example illustrates a non-symmetrical transformation. Since the tt.value commands are not enclosed in separate elements, the serialized values of ROOT1 and ROOT2 are grouped in X.
xmlns:tt="http://www.sap.com/transformation-templates"
<tt:root name="ROOT1"/>
<tt:root name="ROOT2"/>
<tt:template>
<X>
<tt:value ref="ROOT1"/>
<tt:value ref="ROOT2"/>
</X>
</tt:template>
</tt:transform>
The following ABAP program can call the transformation:
DATA field1 TYPE string VALUE 'Hello'.
DATA field2 TYPE string VALUE ' World!'.
DATA result1 like field1.
DATA result2 like field2.
CALL TRANSFORMATION ...
SOURCE root1 = field1
root2 = field2
RESULT XML xml_string.
CALL TRANSFORMATION ...
SOURCE XML xml_string
RESULT root1 = result1
root2 = result2.
The result of the serialization is:
Accordingly, the result of the deserialization to result1 is "Hello World!",
while result2 retains its initial value, which is different from the original content of field1
and field2
.
For a symmetrical transformation, the tt:value commands each have to appear in separate elements or they must be separated by a unique text (which cannot appear in the first value).