Commonly asked questions regarding the SAP Ariba Reporting APIs
In this blog post I compile some questions that I’ve been asked regarding the SAP Ariba APIs. Most of them revolve around the reporting APIs but I’ve also included some general questions that might apply to any SAP Ariba API. Also, some of those questions have turned into blog posts previously shared in SAP Community, if that’s the case, I’m including a link to the blog posts.
The questions shared here should not be considered official SAP Ariba documentation. It is just me sharing my experience and questions I’ve been asked in the past by developers. The best places to find answers to your queries are: (1) the documentation 📖available at help.sap.com -> https://help.sap.com/docs/ARIBA_APIS and (2) official answers in the SAP Ariba Connect – https://support.ariba.com/.
And now to the questions…
- What is the difference between the Operational Reporting APIs and the Analytical Reporting APIs?
Via the Operational Reporting API you can access live transactional data. Therefore, an object created now will be immediately available via the Operational Reporting API. That said, not all objects are available via this API and for each object (document type) not all data fields are available. In the Analytical Reporting API, there is a delay on when the data is available but the data is way richer (more data fields) than what is available in the Operational Reporting API. The facts and dimensions listed here will be like the ones available for reporting in the analytics available via the UI.
- How can I extract a delta of the information available for different objects?
Different APIs handle this in different ways but generally a delta can be achieved by specifying a filter by date the request. For example:
- Supplier Data API with pagination this will be in the body of the request.
- Reporting APIs: You need to define the dates as filter parameters when creating the custom view template and specifying them in your request to retrieve data.
- Via the SAP Ariba APIs, can I extract the data from a custom report created via the SAP Ariba UI and just specifying the name of the report?
Unfortunately, this is not possible. You will be able to access all the data by retrieving each facts and dimensions but the logic to combine different document types will need to be build in a separate tool/data store.
- How do I decide whether using the synchronous or asynchronous processing of the Analytical reporting API?
There is a delay on when transactional data is available in the Analytical Reporting API – aprox. 6 hours after. Synchronous is generally used when dealing with real-time/live data, e.g. Operational Reporting API. Given the delay it generally makes more sense to use the asynchronous API as you will be interested in retrieving large volumes of data for analytical purposes.
- Is it possible to check the consumption of API execution in the SAP Ariba Developer Portal?
Unfortunately, this is not available at the moment. That said, the API response headers contain information on the API rate limits available, e.g see screenshot below. By processing these headers we know how many API call we’ve made and how many do we have left for the second/minute/hour/day in that particular API. All SAP Ariba APIs return these headers and the limits apply to the application key.
- What if some of the data that I’m interested in is not available via the Operational/Analytical reporting APIs…. what can I do?
In this case, I would recommend exploring the objects specific APIs, e.g. master data – Master Data Retrieval API, contracts – Contract Workspace Retrieval API, suppliers – Supplier Data API with Pagination, or even the web services available, e.g. https://help.sap.com/doc/631084d43b6a4216b391ec37ce94733b/cloud/en-US/ws_index.htm. Note: You will be able to retrieve live data from this APIs as well.
- Where can I find the SLAs (Service Level Agreement) of the SAP Ariba APIs?
The SLAs are defined in the SLA for Cloud Services document.
- Can I create a custom view template in a user friendly way, e.g. using a user interface via the SAP Ariba Developer portal, and not just via the API?
No, we can only define custom view templates via the API.
- How can I include a custom field in the custom view template?
When retrieving the metadata of a document, specify the includeCustomFields query parameter and the API response will include the custom fields of a document type via the API. For example: https://openapi.ariba.com/api/analytics-reporting-view/v1/prod/metadata?realm=MyRealm-T&product=analytics&includeCustomFields=true. You can then specify these custom fields when defining your custom view template.
- Can I know the fields that are included in each document type, in a user friendly way, without having the need to invoke the metadata API?
Unfortunately, this is not possible. An alternative will be generating ER diagrams like what’s available here: Generating Entity-Relationship diagrams from the SAP Ariba Analytical Reporting API metadata.
- Is there a limitation, e.g. maximum number of fields, that can be extracted through a custom view template via Analytical Reporting API?
You can extract all the fields listed in a document type via the Analytical Reporting API. That said, it is recommended to only retrieve the fields that you need to reduce server load and the size of the response payload.
- Can I use an integration platform, such as SAP Cloud Integration, to replicate SAP Ariba data to SAP BW/4HANA?
Yes, it is possible to use SAP Cloud Integration, part of the SAP Integration Suite, or SAP Process Orchestration to do exactly this. The data can be send to SAP BW/4HANA via the REST API exposed and populate existing DSOs. More details on how this can be achieved can be found here – Replicate SAP Ariba operational data to SAP BW/4HANA 2.0.
- Besides SAP Cloud Integration, what other tool can I use to retrieve SAP Ariba data and send it to my data warehouse/database?
You can build a data pipeline in SAP Data Intelligence to retrieve SAP Ariba data and send it to your data warehouse/database. An example can be found here – Using SAP Data Intelligence to send reporting data from SAP Ariba to SAP Analytics Cloud
We’ve covered in this blog post a few things related to interacting with the SAP Ariba APIs, e.g. moving data, deltas, custom view templates, SLAs. The help.sap.com documentation and the SAP Ariba Connect portal are the best places to find answers to your SAP Ariba API queries. That said, if you don’t find an answer there, feel free to leave it as a comment and then we can jointly improve this blog post by including it and everyone can benefit from the answer 😃.
Now go and build some integrations/extensions using the SAP Ariba APIs.
Using the operational reporting API for Ariba sourcing, is it possible to create views that combines entities? So to create a "query" that joins multiple entities to create one big "flat table"?
Or is there a possibility to expand id-fields (like for example references to commodities, regions, organisations) to accomplish something similar?
Hi Guy De Backer,
> Combine entities
Unfortunately, it is not possible to create a view that combines entities via the API. The join that you are after will need to take place outside, e.g. in a database where you store the data returned by the API.
> Expand id fields
There are other Ariba APIs that have "expand" capabilities, e.g. Master Data retrieval API, but not the Operational Reporting API for sourcing.
Thank you for your reply and the very helpful blogposts Antonio.