Hi All,

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

http://scn.sap.com/community/process-orchestration/blog/2015/04/28/13-reasons-to-migrate-from-sap-pi-to-sap-po-and-intelligent-business-operations-chalk-and-cheese-key-for-s4-hana

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.

Diagram showing SAP Integration (Java) Gateway as part of SAP PO.SAP_GWJ.jpg

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.

They are

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

<Protocol>://<FQ_PO_Server_Name>:<port>/igwj/Admin

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.

Enabling SSO

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

PO_HTTP.jpg

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>

System Id,

Client,

Language and Logon information

PO_HTTP_2.jpg

Authorisations

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

<Protocol>://<FQ_PO_Server_Name>:<port>/igwj/Admin

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.

Q11_SrvB.jpg

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.

Capture.JPG

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.

GWJ_UI.jpg

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.

UI_Result.jpg

Limitations:

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 Gateway.

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.

Srinivas Sistu

To report this post you need to login first.

17 Comments

You must be Logged on to comment or reply to a post.

        1. Nguyen David

          Hi Srinivas, great blog! I have a quick question..in regards to

               UME Role assignments and GW_Admin for Administrators and GW_User for end users)? I am running on NW SAP PO 7.4 SP8 and I do not see any GW_Admin/GW_User..does that mean I have to create them? if so, what UME roles do we assign to them? thanks so much for your time and efforts.


          (0) 
  1. Saydulu Kolasani

    Does anyone know any blogs or documents which explain how to integrate/expose Odata/BPM tasks into NW Gateway UI5 Unified inbox or Fiori Inbox? Appreciate your help in advance.

    I could see documents on exposing data from Backend Systems (ECC) into Integration gateway but not from Integration Gateway to NW Gateway to expose BPM/UI5 tasks.

    (0) 

Leave a Reply