Leveraging oData to connect S/4HANA Cloud to SAP Signavio Process Intelligence – Part 1
In this Blog Series, I will guide you through how you can leverage oData Services to load data into SAP Signavio Process Intelligence to investigate your Business Processes. As an example, we use S/4HANA Cloud as a source system and load data via oData Connector from SAP Signavio Process Intelligence.
The steps will be split into several posts (links will be added as soon as all blogs are published):
- Part 1: Pick API Service and create Communication Scenario in SAP S/4HANA Cloud
- Part 2: Setup oData Connector and Source Data in SAP Signavio Process Intelligence
- Part 3: Include Data into the Process Data Model
So let’s start:
Pick API Service
First of all, we need to pick a Business Scenario and look for a respective oData service available with S/4HANA Cloud (Public Edition). We can leverage SAP API Business Hub for that. With Product “SAP S/4HANA Cloud”, we can check under the tab “API” for relevant oData services (Link).
Let’s imagine our Business Scenario is an investigation on “Procure To Receipt” Process, we already have Purchase Order Data extraction but want to add now the “Goods Receipt” for respective Purchase Orders. For that, we can use “Material Documents – Read, Create” (Link: https://api.sap.com/api/API_MATERIAL_DOCUMENT_SRV/overview) to extract the material documents representing a goods receipt for purchase order.
In the “Attributes” Section, we can find the respective Communication Scenario we need to setup – Material Document Integration (SAP_COM_0108) – and the Best Practice Scope Items this oData Service is belonging to Core Inventory Management (BMC). So, to be able to use this, we need to setup SAP_COM_0108 in S/4HANA Cloud (Public Edition) tenant.
Create Communication Arrangement in S/4HANA Cloud
To setup the Communication Scenario, we need respective authorization in S/4HANA Cloud (Public Edition) tenant. For that, we need SAP_BR_ADMINISTRATOR or SAP_BR_CONF_EXPERT_BUS_NET_INT Business Role to be able to access respective apps “Maintain Communication Users”, “Communication Systems” and “Communication Arrangements”.
As a first step, let’s start with the “Communication User”. For simplicity reasons, we use PI_SAP_COM_0108 as User Name and let the system propose us a secure password. With “Save”, the user will be saved and is ready-to-use.
As a second step, we create a Communication System. If we want to establish bi-directional communication between two systems, this is quite important – but in our case it’s only a shell managing the requests later on from SAP Signavio Process Intelligence.
We open the app “Communication Systems” and create a new “Communication System” – as System ID and System Name, we pick again PI_SAP_COM_0108. A Host Name and a Logical System is mandatory, even if we do not need this for Inbound Communication – so we pick general Signavio Cloud Server (Europe).
For Inbound Communication, we assign the user we just created. Note: for this communication scenario, it is mandatory to also enter an “Outbound Communication”. As this is not used in our case, we can only fill in a placeholder. We save and are only one step away from finishing this.
(Alternatively, you might use the “Inbound Only” option in the Communication Arrangement if you only want to use the Communication Arrangement to consume data)
As a last step, we now need to create the Communication Arrangement. For this, we use the app “Communication Arrangements” and pick SAP_COM_0108 as Scenario ID. You can choose your own Arrangement name – we stick with SAP_COM_0108.
As Communication System, we assign the system we just created a few minutes back. With that, also the Communication User is assigned automatically.
With pressing “Save”, the Communication Arrangement gets activated. Copy the API Service URL – in our example https://[host]-api.s4hana.ondemand.com/sap/opu/odata/sap/API_MATERIAL_DOCUMENT_SRV – as we need this in for the connection in SAP Signavio Process Intelligence.
This concludes the first step of our scenario. In the next blog, we will look into setting up the oData Connection in SAP Signavio Process Intelligence – stay tuned.
Like what you’ve read? Feel free to share on Facebook, Twitter, or LinkedIn using the super-easy share buttons at the bottom! And don’t forget to follow SAP Signavio @ SAP Community for more content like this.
Great blog @Tobias Koenig : Waiting to see the end-to-end storyline.
Hi Tobias Koenig ,
Maybe one thing which could be added that makes the setup a little bit easier: on the technical settings of the communication system you can enable "Inbound only" which removes the need to maintain the consumer host. As you only want to extract the data, this should be sufficient 🙂
thanks a lot for the hint - did really overlook that this option meanwhile exists! But when I try this I still receive "Invalid Outbound Communication User" when trying to add the "Communication System" to the "Communication Arrangement".
Will add this in the blog.
Thanks again for your feedback.
well, this seems to be a service specific "thing". The one which you have picked also offers an outbound service, in that case it also expects settings for outbound communication. But on the communication arrangement level you can also deactivate the outbound service.
Deactivating outbound service
But I just tried it out, even with that it will at least ask you to maintain the "logical system" in the communication system.
Nevertheless, I think for pure inbound services this should make the setup easier.
indeed a great blog. I am also interested in the next part. On Signavio side I cannot find a way to make the connection to a S/4HANA public cloud system using basic authentication. Will you explain this in the next blog?
yes, that will be in Part 2 of the series - establishing the connection. I plan to release this early next week, so stay tuned!