Skip to Content
Technical Articles
Author's profile photo Former Member

Python and SAP IBP Integration using Odata service

This blog will discuss the basics of Python and SAP IBP Integration using Odata services.

Target Audiences

The primary target audience for this blog are SAP S/4 HANA Functional and Technical consultants those who want to integrate SAP IBP to the outside world. This blog is also relevant to Data Science enthusiast who want to fetch data from SAP IBP and run their own custom Forecasting algorithms.

Before we take a deep dive in to it, let us first understand in lay man terms what these keywords are.

SAPĀ  – SAP is Enterprise resource Planning (ERP) software. Huge organizations across the world, who have their presence in multiple cities or countries use SAP or ERP products to manage their day to day business related activities or transactions.

SAP IBP – SAP Integrated Business Planner (IBP) software is SAPs cloud based offering. It is planning software forĀ supply chain management that uses real-time information to help companies respond more quickly to market and business volatility. For all those who want to know more about SAP IBP in layman terms, please check my blog Basic building blocks of SAP IBP.

Python – For all those SAP stalwarts, Python is a computer programming language. It is often used by Data scientist or Machine learning folks. It is freely available on internet and can be easily installed. There are various free source libraries (something similar to SAP ABAP FMs) which can be downloaded and freely used. Based on my experience, If you know ABAP then you can easily understand Python. As both of them are pretty much similar.

Odata service

  • Odata service is a service layer on the Odata Model.
  • Typically any system will have its own Database tables where they store and retrieve their Master data and transactional data.
  • The Odata service converts the data from these database tables in a meaning full format which the clients can use.
  • This is then exposed to the outside world typically in JSON file format.

SAP IBP provides two communication arrangements

  • SAP_COM_0143 –
    • Generic Data Extractor for Master Data and Key Figure Data Integration
    • This communication arrangement supports two Odata services
      • READ_TEMPLATE_SRV – Odata service to read the planning template
      • EXTRACT_ODATA_SRV – Odata service to read and update the Master data and Key Figure data.
  • SAP_COM_0720 –
    • IBP External Planning Data Integration
    • This communication arrangement supports two Odata Services
      • MASTER_DATA_API_SRV – Odata service to read the master data
      • PLANNING_DATA_API_SRV – Odata service to read the planning data

Odata Service URL

Based on the Odata service you choose and the SAP IBP server , you will get a URL to access the SAP IBP Master data and Key Figure data.

A typical flowchart for SAP IBP Odata service and Python Integration for home grown forecasting algorithm would look as follows.



To conclude, in this blog we have discussed, the basic of SAP IBP and Python Integration using SAP IBP standard Odata services. If you are data science enthusiast, this will help you start your journey of custom data science forecasting algorithms using with SAP IBP Odata services.

Please like and comment, what you liked about the blog. If you have any doubts please post your questions.

Assigned Tags

      You must be Logged on to comment or reply to a post.
      Author's profile photo Vincent Verheyen
      Vincent Verheyen

      Hi Former Member, thank you! Can you confirm that this method works without an "SAP DATA SERVICES OD AGENT"?

      Author's profile photo Former Member
      Former Member


      Sorry for the late reply.

      As per SAP webinar the SAP_COM_0720 works well with all integrations.

      The SAP_COM_0143 supports only the reading of data from sap ibp. You are not able to post data back to sap ibp in this method.