In this blog I would like to walk you guys through one of the latest features provided by SAP Netweaver PO (starting from SAP NW PO 7.31 SP13), SAP Integration (Java) Gateway.
For more information / quick overview about the features, capabilities, reasons to migrate from SAP PI to SAP PO,
Please visit this blog by Owen Pettiford
Ok, Lets get started…..
Imagine a business requirement, where in the customer is asking for a user interface created in SAP UI5 and would like to use some of the business specific services maintained in the SAP Backend (SAP ERP), like “Read Material Data”.
To Do so,
- 1. If there is no SAP Gateway installed in the landscape, Consume the RFC into a CAF Application (or an EJB), then expose the CAF Service as a REST enabled service using Apache Olingo or OData4j or
- 2. Using the Gateway service builder in the ERP System, create the Entities, Entity sets, generate the runtime artefacts on top of your RFC and then using SAP Gateway, expose these services as REST enabled services.
Either of the options mentioned above involve some cost either in form of custom developments or introducing new systems in the current landscape.
Starting from SAP NetWeaver 7.31 SP 13 (NW 7.4 SP08), we can achieve the same, by utilising the Java implementation of the Gateway Hub (part of the Integration Gateway and in the following named as Gateway Java and to be addressed as “Integration Gateway”) to expose SAP back-end data as OData services.
The Gateway Java provides SAP back-end content (services) as OData services using the OData Channel (ODC). ODC allows us to expose OData services by defining object models and registering a corresponding runtime data provider class. And these OData services can then be consumed by UI applications, for example SAP UI5.
Let’s have a look at the steps involved and some prerequisites.
There are few Pre-requisites to utilise the Integration Gateway capabilities of SAP NW PO.
1. NW PO Version: 7.31 SP 13 or higher
2. Backend Side: The component IW_BEP 200 is required to enable SAP services as OData services.
Note: If the version of IW_BEP 200 deployed on your SAP backend is less than (or equal to) SP 06, please implement SAP note 1816779.
We have configured and successfully utilised the SAP Integration Gateway capabilities on one of our PO servers running on SAP NW 7.31 SP09 (we were unable to find some of the required roles in SP08, so we have upgraded our system to SP09)
Steps to Configure the SAP Integration Gateway
1. Enabling SSO between your SAP PO system and the respective SAP Backend System
2. Create a HTTP Destination in your SAP PO system pointing to the respective SAP Backend System
3. UME Role assignments to user as required (GW_Admin for Administrators and GW_User for end users)
Once the above steps are completed, we can start utilising the SAP Integration Gateway capabilities.
URL for accessing GWJ, OData Provisioning Administration is
Let us have a look at the configurations, registering the services from backend and a sample UI5 App, accessing the OData service provided by our GWJ.
For more information on enabling SSO between the systems, please refer to SAP Help.
Creating a HTTP Destination
For our GWJ (Integration Gateway) to be able to get the service information from the SAP Backend system, we need to create a HTTP Destination in the PO system referring to the corresponding SAP Backend.
To manage HTTP Destinations: Login to NWA –> SOA –> Technical Configuration –> Destinations
If there is no HTTP Destination already available to the required SAP Backend system, please create one.
Required parameters are,
System URL: <protocol>://<FQ_SAP_Backend_System_Name>:<port>/sap/iwbep?sap-client=<client_Number>
Language and Logon information
To be able to access the GWJ Administration URL, user should have GW_Admin role assigned. To do so,
please login to NWA –> Configuration –> Security –> Identity Management –> Overview
Search for the required user, Edit, goto the Assigned Roles tab, search for “GW_Admin”, Add and save.
Once the role is assigned, we should be able to access the GWJ Administration using
After logging into the GWJ, next thing we will do is pulling some of the already available (or newly created) services from the SAP Backend into the PO system.
We can use the TCode: SEGW to create / manage the gateway services in the SAP Backend system.
Below diagram shows one such example service, I have created in the SAP ERP backend for creating the gateway service implementations on top of standard Material Read BAPI.
Please note that, we are performing this step in SAP Backend system (in my case it is SAP ERP) not in the SAP Gateway system. This is obvious as our main aim here is to avoid SAP Gateway to expose the SAP backend service as a REST enabled service.
Next, after logging into GWJ Admin, we can start pulling the services from SAP Backend into SAP PO.
To do so, click on “Register a New Service”, in the next screen select the destination and click on Search. From the list of results, we can select the one which needs to be exposed as a REST Service.
We can see the REST URL of the service, metadata of the service and other related information here.
As we now have the backend service exposed as a REST service, we can now consume this service in our UI5 application.
And the result is, we are able to call the “Material Read BAPI” in the UI5 application from our SAP ERP system without SAP Gateway or any custom code in the PO Layer to expose the RFC as a REST Service.
Just like all the good things in this world, SAP Integration (Java) Gateway has some limitations,
Some of them are:
Fiori Apps and the Unified Inbox are not yet supported by the Gateway Java. To consume the back-end data as OData services in Fiori Apps or the Unified Inbox, we need to use SAP .
Thats all for today, Hope you all find this information useful. Happy Coding 🙂
For More information, Please visit, http://help.sap.com and navigate to whats new in SAP NW 7.31 SP13.