Start of Content Area

Syntax documentation Mapping List  Locate the document in its SAP Library structure

You use the map attribute to declare a mapping list mapping_list for tt:value, tt:write, and tt:read. You do this to map a list of explicitly declared values to precisely one value when serializing or deserializing.

A mapping_list consists of a single mapping rule or a comma-delimited list of multiple mapping rules. The following mapping rules are possible:

      val(a1, a2, ...) > xml(x)

This mapping rule is analyzed during serialization. If the value of the current data node corresponds to one of the specified values a1, a2, ..., it is converted to value x.

      xml(x1, x2, ...) > val(a)

This mapping rule is analyzed during deserialization. If the value of the current data node corresponds to one of the specified values x1, x2, ..., it is converted to ABAP value a.

      val(a) = xml(x)
xml(x) = val(a)

These mapping rules both mean the same thing and are analyzed during both serialization and deserialization. If the value of the current node corresponds to the specified value a, it is converted to value x, and vice versa.

The values a, a1, a2, ... must be specified as described in the Appendix. The XML values x, x1, x2, … must be put in quotation marks.

Note

If mapping rules with more than one argument are used, transformation is usually no longer symmetrical.

 

Example

Serialization of ABAP data using a mapping list:

 

<tt:transform xmlns:tt="http://www.sap.com/transformation-templates">

  <tt:root name="ROOT1"/>
  <tt:root name="ROOT2"/>

  <tt:template>

    <X0>
      <X1>
        <tt:value  ref="ROOT1"
                   map="val(C('Woman'), C('Man')) > xml('Person')" />
      </X1>
      <X2>
        <tt:value  ref="ROOT2"
                   map="val(C('Woman'), C('Man')) > xml('Person')" />
      </X2>

    </X0>

  </tt:template>

</tt:transform>

 

The transformation is not symmetrical. In the following ABAP program, field1 and field2contain the value “Person” after deserialization.

 

DATA xml_string TYPE string.
DATA field1 TYPE string VALUE 'Woman'.
DATA field2 TYPE string VALUE 'Man'.

CALL TRANSFORMATION ...
  SOURCE root1 = field1
         root2 = field2
  RESULT XML xml_string.

CALL TRANSFORMATION ...
  SOURCE XML xml_string
  RESULT root1 = field1
         root2 = field2.

 

 

End of Content Area