Start of Content Area

Background documentation Symmetry of Serialization and Deserialization  Locate the document in its SAP Library structure

The language constructions 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.

 

Example

This simple example illustrates a non-symmetrical transformation. Because the tt.value commands are not enclosed in separate elements, the serialized values of ROOT1 and ROOT2 are merged in X.

 

<tt:transform 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 xml_string TYPE string.
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:

 

<X>Hello World!</X>

 

Accordingly, the result of the deserialization to result1is “Hello World!”, while result2retains its initial value, which is different from the original content field1 and field2.

For a symmetrical transformation, the tt:value commands must be positioned in individual elements each or they must be separated by a unique text (which cannot appear in the first value).

 

 

End of Content Area