Production order and confirmation integration – a university project
This blog post is part of a series of posts, describing an integration project that connects the oee.ai Manufacturing Intelligence Platform with the production planning capabilities of an on-premise S/4HANA System. The project was realized by students from the FH Aachen University of applied Sciences, with great support from project partners at oee.ai and SAP.
In our module “Cloud based Information Systems”,lectured by our professor Christian Drumm , Glenn Verhaag , Tom Hunze and me had the opportunity to work with SAP and oee.ai on an integration project. Oee.ai is an manufacturing intelligence start up from Aachen Germany. Our task in the project was to synchronize production orders between the oee.ai platform and a S/4HANA System.The integration was performed using the SAP Business Technology Platforms.
Let us break down the task at hand a little more so you can get a clear overview of what we had to do and what this project is about in more detail.
Who is oee.ai?
Oee.ai is a manufacturing intelligence platform founded by Prof. Dr. Markus Focke from FH Aachen University and his partner Jörn Steinbeck.
The goal of oee.ai is to provide real time data about production processes using important KPIs in order to optimize the production process. The real time data is then displayed on a dashboard. In addition artificial intelligence detects anomalies in production processes and help workers with the optimization of said processes. Below you can see a screenshot of a test system from oee.ai that we have been working with during our project. In the screenshot below is no real data that is why all the KPIs show 0%. Usually you would see real time measurement of said KPIs.
How does oee.ai achieve this?
Oee.ai uses minimally invasive technology in production machines to measure the product output and gather information about the production process. This is done by installing small micro computers with sensors attached to them that measure the amount of passing by products. You can find out more about oee.ai here.
This data is then transferred to a cloud or on site server running an oee.ai instance where the data is processed and prepared to be displayed. To aid the artificial intelligence an on premise production worker has a tablet with the oee.ai software running on it where causes of anomalies in the production process can be documented. This tablet is also used to select the currently running production order so that the oee.ai system can gather performance values for specific production orders. Below you can see a screenshot of the mentioned tablet. You can see the production order id and information about the production order. With the changeover button you are able to switch the production order. Not shown in the screenshot are the selection window for causes of anomalies. In case of an anomaly a pop up would appear asking for the reason from a predetermined list of causes.
What was our task?
The SAP S/4HANA Systems are widely used across a multitude of industries, especially in the manufacturing sector, so it is only logical that a manufacturing intelligence platform like oee.ai provides an interface to work together with an S/4HANA ERP System.
What we wanted to achieve during this project was to be able to automatically send production order confirmations based on the data provided by oee.ai’s platform. Spoiler ahead we even exceeded this first idea and were able to do a full integration from production planning to production order confirmation. all inside of the S4/HANA ERP System without having to manually enter any data into the oee.ai platform contributing to the minimally invasive approach of oee.ai product.
In the following image you can see a very high level view of the process that we were trying to achieve.
To implement this process we used the SAP Integration Suite inside of SAP Business Technology Platform. During the process of building our integration we stumbled upon a few roadblocks that we were able to fix. Detailed explanations of the applications running inside of SAP Business Technology Platform are provided in the other blog posts.
Overall, we divided the integration into two parts. The first part, that consists of the production planning cycle in SAP S/4HANA System. Once a production order is confirmed ist needs to be sent to the oee.ai platform. The second part is the production order confirmation inside SAP S/4HANA once the production finished. This is triggered by an MQTT Event from the tablets used in production at the local manufacturer, where we send a confirmation with data from oee.ai’s system to the correlating S/4HANA ERP System.
The integration implemented into SAP Business Technology Platform can be seen in this Blog Post from my colleague Glenn Verhaag.
Roadblocks and solutions
The whole process of building an integration was not without its hurdles and struggles. It was a learning experience for all of us. We had ups and downs but in the end were very happy and successful. Let us start chronologically with some of the problems we encountered.
Using the MQTT Protocol inside the SAP Integration Suite
As mentioned above the oee.ai system uses an MQTT Event to send messages from the tablets at the manufacturer to the oee.ai servers. MQTT is a well established network protocol used for simple communication between devices. We were expecting that such a protocol adapter would have been already implemented in the integration suite. To our surprise there was no such thing offered from SAP’s side. So what do good students do? We build our own MQTT listener to receive and forward data to the Integration Flows. For more information about the MQTT listener you can watch the video my colleague Tom Hunze created.
Using PostgreSQL inside SAP Business Technology Platform
This might seem like a no brainer at first. Everything inside the documentation of SAP Business Technology Platform and SAP Integration Suite hints towards a simple PostgreSQL Database being able to run inside SAP Business Technology Platform as well as a simple connection to the SAP Integration Suite. This problem caused a lot of headaches on our side and caught the interest of SAP. As it turns out the documentation is misleading and has been corrected as two articles in the documentation had contradicting information. The documentation that has been changed is Managing JDBC Data Sources and JDBC Receiver Adapter.
After a lot of back and forth between me and SAP developers I have gotten the answer that our use case is not supported and only Amazon Relational Database Services are supported for postgreSQL. So we decided to switch to a SAP HANA Cloud Database which worked flawlessly.
Another difficulty we encountered while working with databases inside the SAP Integration Suite was configuring the JDBC Material. JDBC Material is used for the database connection information i.e. username, password etc. To connect to a database using the JDBC Adapter in the SAP Integration Suite you need a JDBC URL who’s format differs a lot from database to database and was not clearly documented which now also changed in the article JDBC Receiver Adapter where they added examples.
The project was nearing an end, we had a successful presentation in front of a big audience of SAP and others who worked on the project or had an interest in it. But then catastrophe hit right after our presentation. We wanted to export the integration flows but got confused in the process and we deleted all the integration flows. We were not very cautious beforehand and did not back anything up. The SAP Team said there was no option to recover the data once you confirm the deletion. Lucky for us we figured something out that I want to share here with everyone who finds themselves in this predicament: if your integration flows are deployed you can still download them! This saved us a lot of work and time and taught us a lesson in backing up data in regular intervals.
Below you can see a screenshot of where to download the deployed integration flows.
We learned a lot from the very helpful SAP Community Blogs as well as the detailed documentation. As an entry into the world of SAP Business Technology Platform and SAP Integration Suite we used this course from openSAP.
This was quite the complex project and a first time pilot on SAP’s side on doing an integration project like this with a university. This whole project would not have been possible without the help of SAP, who provided answers to our sometimes very challenging questions day and night. I personally want to thank our two contact persons at SAP Marek Vernicek and Marco Ertel who helped us out a lot and orchestrated this project.
I think I speak for everyone one of us when I say that we are very grateful about the opportunity to work on a project like this and very much enjoyed it.
Hopefully other students can enjoy a project like ours in the future as well!