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.
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.