Skip to Content
Technical Articles
Author's profile photo Mahesh Bansal

Access SAP IBP Master & Key Figures data using OData Integration

Odata is a widely used protocol to query data from cloud or on-premise hosted application in a secure manner. In this blog, I am trying to showcase the steps that can be used to enabled OData access for SAP IBP application.  Once OData configuration is done, this can be used to query any Master and Key-Figures data directly from browser or any reporting tool in real-time.

Enabling OData setup for SAP IBP require couple of steps, which are described here.

Create Communication User

First of all, need to setup a communication users to access the OData URL. This communication user is required to access the Odata query URL from any application using User ID/password.

Go to application ‘Maintain Communication Users’ in your SAP IBP tenant.

Create a new Communication User.

User id    :  Generic User to access Odata URL. e.g  ABC_ODATASERV

Password : xxxxxxxx. Preferably a complex password.

Create Communication System

Go to application ‘Communication Systems’ in your SAP IBP tenant.

Click on New.

Specify a name for your communication system, and click on Create. You can specify any descriptive name here.

In Host Name, enter URL of your IBP tenant.  My<6-digit no.>-api.scmibm.ondemand.com

Scroll down to section ‘Users for Inbound Communication’.

Click on ‘+’ sign to specify inbound communication users created in previous step.

In User Name field, maintain Generic Odata user  ABC_ODATASERV, that you created in previous step.

Click on ‘Save’.

 

Create Communication Arrangements

Go to application ‘Communication Arrangements’ in your SAP IBP tenant.

Click on ‘New’

Select Communication scenario  ‘SAP_COM_0143’.

Click on ‘Create’

Select Communication System ZODATA_ZTX, that was created in previous step.

Inbound communication user will get populated automatically. Save the settings.

Set Global Parameters

Go to application ‘Global Configuration’ in your SAP IBP tenant.

Default value for MAX_RECORDS is 2000. This is limit for number of records that can be retrieved with a single OData query. In case your query return more results, you can increase the value of the parameter.

As highlighted in SAP Note #2736206, this method is not recommended for mass extraction of key figures. This method is more applicable to fetch real-time data in a reporting dashboard like Microstrategy, Crystal reports etc. by specifying relevant filter for data selection.

Set the value for PLANNINGAREA.  You can specify multiple PLANNING AREA by putting commas. eg. IBPPRD1, IBPPRD2.

Sample URL

To build the Odata URL, identify the technical name for attributes and business Key figures that you need to access the data from IBP.

e.g. to access weekly Consesus demand Quantity data based on attributes Weekly , Product id and Location, with Unit of Measurement in pieces, for month of May 2021, put the URL as below.

https://myxxxxxx-api.scmibp.ondemand.com/sap/opu/odata/IBP/EXTRACT_ODATA_SRV/<Planning Area>?$select=PERIODID6,PRDID,LOCID,CONSENSUSDEMANDQTY&$filter=UOMTOID eq ‘CS’ and PERIODID4 eq ’21-May’ &$orderby eq PERIODID6 asc&$format=json&saml2=disabled

As an another example, below query can be used to extract Customer Master data.

https://myxxxxxx.scmibp.ondemand.com/sap/opu/odata/IBP/EXTRACT_ODATA_SRV/<Planning Area>?$select=CUSTID,CUSTBUPAID,CUSTCHANNEL,CUSTCOUNTRY,CUSTDESCR,CUSTGROUP,CUSTREGION,CUSTSALESREP,CUSTSALESVP,CUSTVALID,KEYACCOUNT,&$format=json&saml2=disabled

References

2736206 – How to extract Key Figures and Master Data using Odata service

2493042 – IBP- CPI Integration – Best Practices for Extracting Data out of IBP

 

Hope this content is useful for SAP IBP Technical consultant.

 

Assigned Tags

      6 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Irmhild Kuntze
      Irmhild Kuntze

      Nice description!

      Author's profile photo Anish Shah
      Anish Shah

      Hi Mahesh,

      Its a very clear explanation, I am able to export data through Odata API.

      Is there any option to insert data to master data/key figures using the OData API?

      Regards,

      Anish

      Author's profile photo Mahesh Bansal
      Mahesh Bansal
      Blog Post Author

      Hi Anish,

      This method is only applicable for reading Master and Key Figure data in IBP, and that too for limited amount of extraction with single Odata query, not for huge extraction.  For any update of data, it's need to be done using IBP tasks.

      Author's profile photo Mahesh Bansal
      Mahesh Bansal
      Blog Post Author

      Hi Anish,

       

      As I understand from SAP document, use of OData API is only limited to read the data.

      Author's profile photo shristi drolia
      shristi drolia

      Hi Mahesh,

      Very well explained.

      I have few queries as below:

      1. This OData extractor will fetch all the records as per filter criteria for a query? Or will it fetch the delta records.
      2. And, as highlighted - this will be only used for real time data extraction. Is there a way to do mass-extraction?

      Regards,

      Shristi

      Author's profile photo Mahesh Bansal
      Mahesh Bansal
      Blog Post Author

      Hi Shristi,

      1.  It will fetch all the records as per selection criteria defined in your query.
      2.  Yes. OData method is particularly designed to get data directly from IBP in any of reporting interface, that does supports the usage of query URL as a source.  IBP tasks need to be created for any mass extraction of data.

      You can also refer the link for any latest updates from SAP side

      Extracting Key Figure and Master Data with OData Output - SAP Help Portal

       

      Regards,

      Mahesh