Hence, it is a good idea to stay current on the developments SAP makes towards this goal, so that you can be ready to optimally benefit from the new planning architecture once it is in place. In this blog, I will walk you through all the steps required to set up and utilize the new integration option from DWC to SAC. The connection from SAC (back) to DWC is similar and also briefly touched upon in the SAP post mentioned earlier in this paragraph, but will not be covered in this blog.
Enabling the OData API
The first thing you should check is that your DWC system is of at least version 2022.11 or up, otherwise the OData API will not be available for activation. You can check this by clicking on the ‘System’-button in the bottom-left corner while logged onto DWC and review the version in the ‘About’-menu. The next step is to navigate to Knowledge Base Article (KBA) 3199078 in the SAP Support Launchpad. You will be able to review the specifications, limitations and acknowledgements you will have to agree to in order to enable the OData API. If you do, you will have to open an incident with SAP support and ask them to enable the OData API for your DWC tenant (you will need your tenant URL for this).
As stated in the KBA, you will have to explicitly state that you agree with the boundary conditions laid out in the note. Once raised, SAP will pick up the incident and open the API for your DWC system so that you can move on to the next step.
Selecting an object for exposure
Contrary to what you might think, it is not yet time to set up the actual OData connection. Before you do that, you should select one or more objects in DWC’s Data Layer that you would like to expose to SAC. The reason for this is that we will need the Data Service URL, which is unique for each object, in order to set up the connection. This also means that you will have to create a dedicated OData connection per DWC object you want to expose to SAC, at least for now. So, in this example, I will be using a simple Analytical View with demo data specifically created for planning purposes called ‘Z_Demo_Planning_View’. This view is based on a local relational table created via a data import to DWC. Note that you could also use data that comes from another source system, such as S/4HANA or BW/4HANA for example, as long as it has been persistently copied to DWC.
When opening your DWC object, do make sure it is exposed for consumption if you want it to be visible for external systems:
Validating OData availability
Now that the OData API is up and running and the object we want to expose towards SAC has been validated, we can check if we can actually approach the object via OData. Since we are using a public API here, you can use the following URL in your browser to check the currently available Spaces in your DWC system:
You should then get a result similar to this, displaying both the technical and descriptive names (labels) of the Spaces:
Note that you might see the results in plain HTML/text (which is the same output, just formatted differently as shown below), as opposed to my output which is displayed through a JSON-extension in the browser.
Next, if you want to zoom in and see what a specific Space contains in terms of exposed assets, you can use the following URL:
The result should be similar to the below:
As you can see, the technical name of the Space I am using is ‘Z_LVDG’, whereas the descriptive name (or label) is ‘Z_Sandbox’. I can now see all the exposed objects within this Space on this generated web page (only the object we use in this example has been shown for illustration purposes). Now, the part you need, which is the Data Service URL required for the set up of the connection, is the part behind ‘assetRelationalDataUrl’ on the web page (encircled with red in the image above). If you copy and paste this part in your browser, you should get a result similar to the below:
This means your object has successfully been exposed for OData consumption. If you want, you can also review the actual View’s contents in your browser by appending the name of your object once more at the end of the Data Service URL (in my case, add ‘/Z_Demo_Planning_View’). This should give you a result like the image below, allowing you to see the View’s actual entries.
Creating the connection
Now that the object is ready and the contents have been evaluated, we can finally move on to the setup of the connection. While this part has also been covered in the aforementioned SAP blog, I will briefly walk through it here as well.
First, open both your DWC and SAC systems in separate browser tabs and make sure you have the necessary (Admin) rights in both systems. In DWC, navigate to ‘System’ – ‘Administration’ – ‘App Integration’. Next, click on ‘Add a New OAuth Client’. Enter a name for your connection and select ‘Interactive Usage’ in the purpose-dropdown menu. The OAuth Client ID you see in the screenshot below will be generated upon initial creation of the connection. Finally, we still need the Redirect URL, so let’s switch to the SAC browser tab.
In SAC, navigate to ‘Connections’ – ‘Add Connection’ and select ‘Odata Services’. A configuration window will open, prompting you to enter a name and description for your OData connection. Leave the two checkboxes unchecked, and enter the Data Service URL we extracted from the DWC object earlier in the ‘Data Service URL’-box. Next, select ‘OAuth 2.0 Authorization Code’ for ‘Authentication Type’. If you now scroll down to the very bottom of the configuration window, you will find the Redirect URL you need for the final step of the connection configuration in DWC. Copy and paste this URL back to your DWC connection setup and save that there.
Finally, finish the SAC connection configuration with the information gathered from the newly setup DWC connection and the OAuth Clients-information screen in your DWC tenant. You will need the OAuth Client ID, Secret, Authorization URL and the Token URL.
Finally, you can use the OData connection to access the DWC object in SAC. Subsequently, you can use the data from the DWC object (dataset) in Stories, Digital Boardrooms or Analytical Applications as a data source.
Note that there are some limitations you will need to take into account while leveraging this OData connection’s functionalities, at least for now:
- As stated earlier, the source data in DWC will have to be replicated (persistently present) in DWC. The data shared with SAC will also be replicated in SAC itself.
- The maximum data volume per view is 50 MB.
- SAC can issue a maximum of 10 DWC View extracts per day.
- Each object that is shared with SAC requires a dedicated OData connection (due to the unique Data Service URL).
And so we are at the end of this blog, and you should now be able to take the first step towards planning integration between SAP Data Warehouse Cloud and SAP Analytics Cloud. Being able to directly leverage data that resides in DWC is a promising harbinger for what is to come, and gives users the opportunity to get a taste of the ever increasing integration between these key SAP solutions.
Note: as of the publication of this blog, there is an issue present with the OData connection-functionality between DWC and SAC, caused by the fact that the systems do not inherently use the same version of OData (DWC uses V4 and SAC uses V2). I have had contact with SAP over the past weeks, and the issue has been identified and fixed by their development team. This fix is currently planned for release in version 2022.17. In the meantime, a workaround can be applied by changing part of the Data Service URL of the object you want to create the OData connection with by replacing the section that states ‘/api/v1/dwc’ with ‘/dwaas-core/odata/v4’.