It was 2015 when Microsoft first announced Azure App Services. Since then the platform has gone through a lot of changes and tons of new capabilities and features were added. Especially when looking at Logic Apps.
In July of 2015 I wrote a blogpost on how to expose SAP functionality to the cloud using both API Apps and Logic Apps. For people that are feeling a bit nostalgic you can find the blogpost here.
As already said, since then the platform has gone through a lot of changes and I’ve been receiving lots of feedback to re-write the above blogpost to include those new changes. Now that the new SAP Connector is finally available in public preview, the wait is over…
What will be build?
Just like in the previous blogpost we will keep it as simple as possible so we can focus on the main goal of this blogpost; showing the method on how to expose SAP data via Logic Apps.
In this sample we will create a Logic App that will expose an HTTP Endpoint, that Logic App will then call a BAPI function on the SAP System via the on premises data gateway and return the result directly to the caller.
Configuring and installing the on premises data gateway
A detailed installation and configuration guide can be found on following link:
Important to mention is that the on premises data gateway requires a ‘Work account’. The configuration of the gateway will fail if you are using a Microsoft Account. If your Azure subscription is linked to a Microsoft Account and not to a work account you can use following workaround you create your own ‘Work account’ via your Microsoft Account subscription.
When the on premises data gateway is installed and configured you can use and configure the gateway in the Azure Portal. Detailed instructions can be found here: https://docs.microsoft.com/en-us/azure/app-service-logic/app-service-logic-gateway-connection
Creating the Logic App
Before creating the Logic App make sure that you have an instance of the on premise data gateway service in Azure and that you’ve installed the SAP NCO Client libraries (both x86 and x64 versions) on the gateway Machine.
Add a Request trigger as first step of your Logic App, this Request trigger will host an endpoint in Azure that you can use you send POST requests to your Logic App.
As a second step add the SAP Application Server – Send to SAP action.
Fill in all necessary connection options to your SAP Server. Please take note that here we are using the on premises data gateway to connect to the gateway machine.
After you successfully created the connection towards the SAP Server you will be able to select a SAP Action. BAPI’s/IDOC’s/RFC and TRFC are available.
It’s also perfectly possible to manually add this action to the Logic App Connector. In the case below the action was added manually. As an input message we are passing the Request Body to the SAP Server.
As a last step in this demo application, we are returning the result of the SAP Action as a Response of our Logic App.
The image below is the final result of our Logic App.
Testing the Logic App
You can test this Logic App with Postman, as an INPUT provide your SAP XML and the result of your call will be the result XML of SAP.