Additional SAP Statements

The URL for these SAP enhancements is: http://www.sap.com/sapxsl.

ABAP Calls

As a rule, a transformation can and should be described using XSLT elements. However, it can often be very useful to access additional data from within an XSLT program – for example, data in the database – or to execute calculations in procedures. For this purpose, ABAP calls have been integrated as enhancements into the SAP XSLT processor. In this way, you can define constructor calls and class method calls in XSLT programs – in addition to method calls for ABAP objects that are included as program parameters.

Remember that XSLT is a declarative language. The sequence in program execution is not fixed. ABAP calls should therefore be limited to read access. However, possible state manipulations are an exception here. But these are visible during transformation execution.

For further information, see the syntax documentation for sap:call-external and sap:external-function.

Defining Your Own XPath Functions

Named templates are available and they provide a mechanism for you to be able to define even recursive functions at the level of the tree transformations. However, this option is missing entirely at the XPath level.

Here the SAP XSLT processor provides an enhancement that supports you in defining your own XPath functions. Functions of this type always have their own namespace (not XSLT or SAP XSLT namespace) and are generally used in connection with the additional SAP Functions sap:if( ) and sap:let( ).

For more information on this topic, refer to the syntax documentation for sap:function.