An XSL transformation is a program in the repository that is written in
XSLT (XSLT program) and used for
the transformation of XML data. Existing XLST programs in the repository can be called using the statement
CALL TRANSFORMATION. XSLT programs can be edited in the
This is called up either with transaction STRANS or by choosing Edit
Object → More → Transformation followed by XSLT Program in Object Navigator in ABAP Workbench.
The source and result of a general XSL transformation are
XML data. When an XSL transformation
is called using the statement
CALL TRANSFORMATION, however, ABAP data can also be transformed directly to XML and back. For this purpose, a
deserialization is performed implicitly, with
asXML as an intermediate format.
- In the case of transformations that use ABAP data as a source, the ABAP data is first serialized to a canonical
XML representation (asXML) with the predefined
identity transformation ID. This intermediate result
is then used as the actual source for the XSL transformation. If the transformation ID itself is called in
CALL TRANSFORMATION, the intermediate result is in the direct output.
- In the case of transformations that have ABAP data as a result, the result of the XSL transformation is deserialized directly to the ABAP data. A prerequisite for the deserialization is that the result represents a canonical XML format. For transformations from XML to ABAP, the XML is first also transformed (conceptually) to an asXML structure, which is then deserialized, even if, technically, only one transformation step takes place.
The ABAP runtime environment contains an SAP XSLT processor for executing the transformations. It supports almost all XSLT statements and provides enhancements (extension instructions) such as the option of calling ABAP methods from XSLT programs. More information about the SAP XSLT processor can be found in the SAP XSLT Processor (Reference) documentation on SAP Help Portal.