7.2 Interfaces for Analysis
SAP BW/4HANA integrates with several frontend tools for query analysis. You can use the open analysis interfaces available in the analytic manager, which include multidimensional interfaces and lightweight consumption interfaces. We’ll discuss each interface type next.
7.2.1 Multidimensional Interfaces
Multidimensional interfaces are based on the Multidimensional Expressions (MDX) query language. The main characteristic of the MDX is the ability to send data to different frontend tools in a generic format, allowing you to carry complex objects such as hierarchies.
Different technical protocols for communication with these front-end tools are as follows:
-
OLE DB for OLAP (ODBO)
Uses Component Object Model (COM) protocol and is only used on the Microsoft Windows platform. It requires driver installation on local machines. -
OLAP BAPI
Uses RFC protocol and is used on every platform supported by SAP. -
XML for Analysis
Uses HTTP/SOAP protocol; the SOAP client proxy must be generated on the client side using Web Service Definition Language (WSDL).
The communication between the frontend and the SAP BW/4HANA are handled by a component called MDX processor. It is, therefore, an agent between the OLAP processor and the frontend tool. The MDX processor receives the query requests from the front-end tools using these protocols and forwards the request to the OLAP processor for processing.
7.2.2 Lightweight Consumption Interfaces
Lightweight consumption interfaces are used in simple scenarios to send SAP BW/4HANA query requests directly to the OLAP processor by using the OData communication method. With the increasing demand for reporting and dashboards to be available in mobile devices such as smartphones, tablets, and digital signage, it’s now important to make SAP BW/4HANA data providers available as OData services. This is possible due to the intrinsic integration of SAP BW/4HANA with SAP Gateway services.
When you define a query with the By OData property selected, the system creates the objects for OData services. However, you need to release the query for access via OData protocol via the maintenance service Transaction /IWFND/MAINT_SERVICE. Figure 7.35 shows an OData service created and active.
Use the same transaction to delete the service if you want to remove the access to the OData service.
Note
If a query has the By OData property and the OData service was released in SAP Gateway, then the service will still be available even if the By OData property is removed. The service is only deleted automatically by deleting the query.
Figure 7.35 OData Service Created and Active
The structure of the URL for a service delivered in the OData namespace is as follows:
<Protocol>://<Server>:<Port>/sap/<Service>
For example:
http://sapserver.com:8000/sap/opu/odata/sap/ZDANSALES_Q001_SRV
Tip
You can get the URL prefix and server using the function module RSBB_URL_PREFIX_GET via Transaction SE37 with the import parameter. For the I_HANDLERCLASS import parameter, enter the name of the ICF handler (HTTP request handler) for the required service—for example, CL_RSR_WWW_HTTP.
After entering the parameters, click Execute and the export parameter E_URL_PREFIX will contain the generated URL prefix.
The important parameters for OData queries are as follows:
-
$metadata
Displays the query metadata—for example:
http://sapserver.com:8000/sap/opu/odata/sap/ZDANSALES_Q001_SRV/$metadata -
$format=<format name>
Displays the result in the specified format—for example, to retrieve the data of the query in XML format:
http://sapserver.com:8000/sap/opu/odata/sap/ZDANSALES_Q001_SRV/ZDANSALES_Q001Results/?$format=xml -
…/QuerynameResults
Displays the result set without passing parameters to the query—for example:
http://sapserver.com:8000/sap/opu/odata/sap/ZDANSALES_Q001_SRV/ZDANSALES_Q001Results/?$format=xml -
$top=3
Displays the top three results—for example:
http://sapserver.com:8000/sap/opu/odata/sap/ZDANSALES_Q001_SRV/ZDANSALES_Q001Results/?$top=3&?$format=xml -
$orderby=<field name>%20asc|desc
Displays the results sorted ascending or descending by <field name>. For ascending results, use asc (or nothing). For example, using descending:
http://sapserver.com:8000/sap/opu/odata/sap/ZDANSALES_Q001_SRV/ZDANSALES_Q001Results/$orderby=ZBUS_UNIT%20desc&?$format=xml
For example, say you want to retrieve the country with the largest sales quantity. From the metadata, we discover that the quantity is stored in the A00O2TFUX9ZDQ1 T6UGAZC7BRCN field. The URL to use then is as follows:
http://sapserver.com:8000/sap/opu/odata/sap/ZDANSALES_Q001_SRV/ ZDANSALES_Q001Results/?$format=xml&$top=1&$orderby=A00O2TFUX9ZDQ1T6UG AZC7BRCN%20desc
You can use other parameters to retrieve the desired result from the query.
Note
The $ sign on the parameters and the %20 (space character) are required in the OData URL to execute in browsers; however in tools such as Microsoft Excel, the $ and the %20 signs must be removed. So, the last example seen above should be executed in Microsoft Excel as follows:
http://sapserver.com:8000/sap/opu/odata/sap/ZDANSALES_Q001_SRV/ZDANSALES_Q001Results/?format=xml&top=1&orderby=A00O2TFUX9ZDQ1T6UGAZC7BRCN desc
You’re now familiar with the available communication protocols from SAP BW/4HANA to be used with various reporting frontend tools. The next sections will describe different methods for connecting these frontend tools to your query in SAP BW/4HANA.