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
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.
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.
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.
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?
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.
As I understand from SAP document, use of OData API is only limited to read the data.
Very well explained.
I have few queries as below:
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