ABAP Keyword Documentation → ABAP - Reference → Data Interfaces and Communication Interfaces → ABAP and XML → CALL TRANSFORMATION
CALL TRANSFORMATION - transformation_options
Other versions: 7.31 | 7.40 | 7.54
Syntax
... OPTIONS [clear = val]
[data_refs = val]
[initial_components = val]
[technical_types = val]
[value_handling = val]
[xml_header = val] ... .
Extras
1. ...clear
2. ... data_refs
3. ... initial_components
4. ... technical_types
5. ... value_handling
6. ... xml_header
Effect
The addition OPTIONS
permits you to specify predefined transformation options
to which you can assign certain values in order to control the transformation. The values must be defined
as data objects val
of type c
or string
. Each transformation option may only be specified once.
Addition 1
...clear
Effect
The transformation option clear
controls how the ABAP target fields are initialized when deserializing XML to ABAP.
Possible Values | Meaning |
---|---|
all | All target fields specified after RESULT are initialized before calling the transformation. This is the recommended setting. |
supplied | For ST, the target fields which have a root node assigned to them in the ST program are initializedbefore calling the transformation. For XSLT, target fields for which there is a root node in the XML document are initialized before importing the nodes. Other target fields keep their value. |
none | Default, the target fields specified after RESULT are not initialized, except for internal tables |
Note
The use of none
can lead to some fields keeping their old value whilst others
are assigned a new value. If a target field is structured, this can affect the individual components especially.
Addition 2
... data_refs
Effect
The transformation option data_refs
controls the output of
data references if the transformation is from ABAP to XML.
Possible Values | Meaning |
---|---|
no | Default for ST, no data references are output. |
heap | Default for XSLT and only allowed there; data referenced usingheap references is produced as subelements of theasXML elements <asx:heap>. Data objects references usingstack references are not serialized. |
heap-or-error | Only possible for XSLT. As heap, whereby the exception CX_XSLT_DESERIALIZATION_ERROR is raised if the data to be serialized containsstack references. |
heap-or-create | Only possible for XSLT. Like heap, but data objects referenced usingstack references are handled like data objects referenced usingheap references. |
embedded | Only possible for XSLT. Referenced data objects are produced together with the reference. It isnot possible to deserialize XML documents created in this way, since the identity of the objects is lost when serialized. |
Addition 3
... initial_components
Effect
The transformation option initial_components
controls the output of initial structure components when transforming from ABAP to XML.
Possible Values | Meaning |
---|---|
include | Initial components of structures are output. |
suppress_boxed | Default setting, initial boxed components are not output, initial components of all other structures are output. |
suppress | Initial components of structures are not output. |
Addition 4
... technical_types
Effect
The transformation option technical_types
controls the behavior if no type description can be serialized when
serializing data references. This is the case when the
technical type properties of the
dynamic type of the data reference variable are known, but the type does not have a name.
Possible Values | Meaning |
---|---|
error | Default for XSLT and only allowed there. The serialization of a data reference variable with bound dynamic type raises the exception CX_XSLT_DESERIALIZATION_ERROR. |
ignore | Only possible for XSLT. A data reference variable with bound dynamic type is ignored during serialization. |
Addition 5
... value_handling
Effect
The transformation option value_handling
controls the tolerance of conversions when mapping elementary ABAP types.
Possible Values | Meaning |
---|---|
default | Default setting; during serialization, if there is an invalid value in a field of type n ,the exception CX_SY_CONVERSION_NO_NUMBER is raised. When deserializing, the exception CX_SY_CONVERSION_DATA_LOSSis raised if target fields of the types c , n ,or x are too short or the exception CX_SY_CONVERSION_LOST_DECIMALS is raised if target fields of the type p have too few decimal places. |
move | Only possible in serializations. Invalid values in a field of type n are copied to XML without being changed. |
accept_data_loss | Only possible in deserializations. If target fields of types c , n , or x are too short, surplus data for c and x is truncated to the right and surplus data for n is truncated to the left. |
accept_decimals_loss | Only possible in deserializations. If target fields of the type p have too few decimal places, they are rounded up to the available decimal places. |
reject_illegal_characters | Only possible in deserializations. If a value to be deserialized contains characters that are notvalid for the encoding of the XML document or for the current code page of AS ABAP, an exception ofthe type CX_SY_CONVERSION_CODEPAGE is raised. If the XML document is passed as an iXML input stream, the setting of the iXML parser overrides the encoding of the XML document. |
Notes
-
The exceptions mentioned cannot be handled directly by
CALL TRANSFORMATION
and are packed into CX_TRANSFORMATION_ERROR or its subclasses. - If a value is specified that is not supported in the specified direction however, the directly handleable exception CX_SY_TRANS_OPTION_ERROR is raised.
Example
If value_handling = 'reject_illegal_characters'
is specified, for example,
an exception is raised if, in the XML header of an XML document in the Latin-1 character set,
encoding="utf-8" is specified and the XML document contains characters other than those of the 7-bit ASCII character set.
Addition 6
... xml_header
Effect
The transformation option xml_header
controls the output of the XML header
when transforming to XML and writing to a data object of type c
, string
, or to an internal table.
Possible Values | Meaning |
---|---|
no | No XML header is output. |
without_encoding | An XML header is output without specifying the encoding. |
full | Default setting; an XML header is output, specifying the encoding. |