In the Enterprise Services Repository (ES Repository), interface descriptions of function calls (interfaces) are saved in XML format. The parameters of these interfaces determine the contents of the messages that are exchanged between systems (see also: Interface-Based Message Processing).
A mapping refers to the mapping of operations or messages to other operations or messages. You often need to work with mappings if you need to call functions whose interface at the receiver cannot or must not be changed, or if the sender and receiver expect data in different ways in their message format.
You can define one or more mappings for an interface pair at design time, and save the mappings in the ES Repository. At configuration time, you can then select the mapping that corresponds to a given collaborative scenario. The Integration Engine transforms the message at runtime, in accordance with the saved mapping. Ideally, no mapping is required. In other words, the sender and receiver interface parameters are identical.
Mappings are an essential part of A2A and B2B scenarios. At design time mappings can be saved in the ES Repository and then selected for a business process at configuration time (see: Defining Interface Determinations). The Integration Engine executes the mappings configured in the Integration Directory at runtime after receiver identification has taken place. If no mapping is required for a connection then the Integration Engine skips the mapping step.
At design time, you differentiate between the following:
● Mapping Programs: Used to implement the mapping.
● Operation Mappings: Used to register mapping programs for an interface pair (or a pair of operations for a service interface). You can also enter multiple mapping-programs that are executed in succession.
The Enterprise Services Builder (ES Builder) supports the following:
● The development of message mappings using a graphical editor integrated in the ES Builder. Java classes are generated for use at runtime from a graphical description. You also have the option of enhancing the standard functions with user-defined functions.
● The import of XSLT or Java mappings as an archive:
○ XSLT (eXtensible Stylesheet Language Transformations)
You use XSLT to convert an XML document to another document. This is achieved by using XSLT commands to search for tags in the source document and replacing them with other tags or values in the target document. You can also call a Java method in an XSLT program.
○ Java program
The message is transferred to a Java program as an inbound stream and can be imported using any parser (for example, SAX or DOM). The modified message is then transferred to an outbound stream.
A Java program can also be a help program that in turn is used in another Java program or in self-defined functions of a message mapping.
If, for example, XSLT mappings already exist or are to be developed using third-party tools, you can import the mapping programs for use in your A2A or B2B scenario.
These mapping programs are executed on SAP NetWeaver AS (Java). SAP does not ship any mapping programs that run on SAP NetWeaver AS (ABAP). However, customers can develop such mapping programs by using the ABAP Workbench, see Mapping Development with the ABAP Workbench.
● Advanced mapping techniques, for example, parameterized mapping programs or lookups in application systems during a mapping program.