Mapping-Lookup to ABAP-Proxy
Using Mapping-Lookups is a powerful tool to gather data within an integration scenario. But is it possible to perform Mapping-Lookups using ABAP Proxies?
Help content does not provide any information about it, so we gave it a shot. Within a B2B customer order scenario, we want to look up order details out of several SAP ERP clients using ABAP Proxies.
SAP Help content about Lookups…
Good news first, it is possible. You can use a SOAP channel with message protocol XI 3.0 (available since PI 7.11), within your java mapping. Details on how to program the java mapping can be found here.
The important part for Proxy-Lookups is these 2 LOC:
// 4. Set the operation name and namespace; optional step, // only necessary if the used adapter needs these parameters. accessor.setOperationName(“myInterfaceName”);
These are needed to call the proxy, otherwise the XI header does not provide the information about the interface and operation to call, which is needed by the local integration engine.
During runtime, ABAP proxy lookup calls, can be identified within the local MONIS (SXMB_MONI) by sender component name “Mapping” and the receiver component name is the name of the system which the integrations calls later on. This is the receiver determined within the routing. Afaik, it is not possible to override these header informations. But imho, it’s nice to know, where the journey is going to, after the Lookup has been performed.
Thanks for sharing the information.
It is also possible to perform SOAP lookup on the ABAP proxies via the Web Service Runtime of the ERP system.
On the consumer side, it can be achieve with a Java UDF as described by the following blog
SOAP Lookup from UDF
On the provider side, the ABAP proxy can be exposed as a web service via SOAMANAGER by creating a binding for it.
With this approach, you can use the SOAP channel with the default SOAP 1.1 protocol. It is also no longer necessary to set the operation name and namespace as this does not go through the local integration engine on the ERP system.
nice comment. But i still prefer the proxy solution. Using the web service runtime makes it more complicated and decreases the performance. Imho, it's the preferred way for PI/PO consultants...
Just curious - do you have any article/documentation stating the performance of the web service runtime against the proxy runtime? Would be interesting to see how they stack against one another in order to make a better judgment when choosing such a solution in the future.