Browse the Book
This sample chapter explores the SAP S/4HANA system from the
per-spective of an administrator or IT user. It covers the standard CDS views
for procurement and sales and highlights the important annotations
required for custom models and how to set up authorizations via data
control language (DCL) objects. It discusses analysis of the top-level CDS
views as well as service activation and the testing of the OData service in
the SAP Gateway client.
Jürgen Butsmann, Thomas Fleckenstein, Anirban Kundu
SAP S/4HANA Embedded Analytics:
The Comprehensive Guide
432 Pages, 2021, $89.95
ISBN 978-1-4932-2050-2
“SAP Activate Elements”
Contents
Index
7
Chapter 7
Analytics for the IT Expert
Standardization of software is the norm with cloud delivery, but there are still situations in which you may want more control over underlying development objects. SAP S/4HANA provides robust capabilities for addressing this scenario, especially for the role of an administrator or an IT user in an on-premise system, as we’ll discuss in this chapter.
SAP S/4HANA provides significant content out of the box for organizations to start with, but in most projects, organizations want to extend the standard SAP-delivered models and objects. In the previous chapter, we addressed extensibility from the perspective of the analytics specialist, including a comprehensive set of key user tools that can be used without any coding skills. However, for certain project requirements—especially for SAP S/4HANA—the requirements for extensibility become quite complex and the ability to code custom logic becomes important. For such scenarios, organizations need an inter-face to write their own CDS views.
In this chapter, we’ll explore the SAP S/4HANA system from the perspective of the administrator or the IT user. In general, this user is required to develop new data mod-els by combining existing modmod-els with custom modmod-els and creating their own CDS views. They also need to consume these views for developing KPIs and reports in SAP Fiori or maybe in business intelligence tools like SAP Analytics Cloud. To this end, we explore the standard CDS views for procurement and sales. We highlight the important annotations required for custom models and how to set up authorizations via data control language (DCL) objects. Analysis of the top-level CDS views can be done right down to the basic tables. This enables users to customize minimally and only for the views or tables required. Finally, the service activation and the testing of the OData ser-vice can be done in the SAP Gateway client.
7.1 The IT Expert Role
As outlined in previous chapters, the behavior for the business user and the key user is similar when they’re using a cloud system or an on-premise system. However, when we explore the role of the IT user, we find significant differences in the capabilities avail-able for cloud versus on-premise users.
This arises predominantly because of the deployment and administrative roles possi-ble in a cloud versus on-premise system. For example, in an on-premise system a user can access the backend and the frontend SAP S/4HANA system from an SAP GUI inter-face, which isn’t available in the cloud. An IT user in the on-premise system can access the system directly by using the SAP-standard transactions for administrators. An IT user in an on-premise landscape also can access the ABAP CDS views in the ABAP per-spective of Eclipse, which isn’t available in the cloud.
For a company using SAP S/4HANA Cloud, extensibility options are available through a set of extensibility apps—primarily the Custom CDS app and the Custom Analytical Query app. Organizations using on-premise SAP S/4HANA can also use the additional capabilities available to IT users.
In this section, we’ll describe the additional capabilities available for IT users leveraging their direct access to the backend and frontend systems.
An IT user can create or extend an existing CDS view based on his requirements in the ABAP perspective in Eclipse. Because the user has access to the modeling environment and can program the CDS views, this is the highest extensibility option for the IT user. An IT user can copy the SAP-delivered CDS views into their namespace and use this as a base for customizing.
In this environment, the IT user also has access to all the views delivered by SAP, which includes the unreleased views as well. Caution needs to be exercised while modifying the unreleased views because the interface for these views could be changed by SAP in any future release. During this phase, data modeling is done to create specific views that meet your requirements. While in this environment, the IT user can modify or extend any CDS views. We recommend starting the extensions from the top-level views or con-sumption views and only extending the basic CDS views in special cases.
After the data-modeling step and the definition of the CDS views, the IT user can change or add annotations to the CDS views. These annotations can include exposing the CDS view as a consumption view so that it can be evaluated by the analytical engine. Another important annotation is odata.publish=true, which generates the OData service that, when activated in the frontend server, is ready for creating all SAP Fiori artifacts. The SAP S/4HANA system contains an embedded analytical engine, which is the key component that enables the consumption of the CDS views in analytical tools like SAP Analytics Cloud or in other BI tools like SAP Lumira, discovery edition, SAP Analysis for Microsoft Office, or SAP Lumira, designer edition.
Once the backend configurations are completed, the IT user can activate the services in the frontend system. The required authorizations can also be set in the frontend sys-tem, and role-based access can be configured in the frontend system. Once required roles and catalogs are configured, the end user and the IT user can access the custom artifacts created in the backend.
7
7.2 Creating and Consuming CDS Views
In this section, we’ll look at navigating and creating CDS views. We’ll also look at two ways of consuming CDS views: with the analytical engine and with OData services.
7.2.1 Exploring CDS Views
In the previous chapters, we created artifacts like KPIs, analytical list pages, multidi-mensional reports, and others. These artifacts were based on a predefined data model already available as a CDS view. In this section, we’ll explore the standard CDS views for areas like purchasing analytics, sales, and finance.
Although the key user can analyze the CDS view definition in the View Browser and can modify the CDS views in the Custom CDS app, IT users have much more analytical flexi-bility when they’re using the ABAP perspective in Eclipse. To explore these options, we’ll create an ABAP project in Eclipse and add the packages we’d like to explore, as follows: 1. First, connect the backend SAP S/4HANA system in Eclipse. You’ll need the system
ID, SAP S/4HANA backend server details, and a user in the backend system to set up the configuration (see Figure 7.1).
2. Once the connection to the server is established, add the packages in which the stan-dard CDS views are available for analysis. This can be done by creating a new ABAP project, as shown in Figure 7.2.
7 Analytics for the IT Expert
Figure 7.2 Creating ABAP Project for Standard CDS Views
3. In the ABAP project, add the packages you’d like to analyze. As shown in Figure 7.3, you can add the package option to the project and continue to add the required packages containing the CDS views. All CDS views related to the purchasing analytics are available in the ODATA_MM_ANALYTICS package. A free text search for “odata_mm” lists all the packages meeting the selection criteria, and then you can choose the desired package (see Figure 7.3).
Figure 7.3 Add Package for Purchasing Analytics
4. Add the packages containing the SAP-delivered standard content for sales analytics by searching for “vdm_sd” and adding the VDM_SD_ANALYTICS package, as shown in Figure 7.4. The Incoming Sales Order app, Sales Volume Analysis app, and other sales analytics apps are based on the CDS views contained in this package.
5. Next, you can add the packages containing the SAP-delivered standard content for finance applications to explore the delivered CDS finance views in. A search for “FINS_FIN” will return all the required packages, as shown in Figure 7.5. The Accounts Receivables, Account Payables, and Cash Application apps are based on the finance CDS packages listed in Figure 7.5.
7.2 Creating and Consuming CDS Views
7
Figure 7.4 Add Package for Sales Analytics Figure 7.5 Add Package Related
to Finance Analytics
6. Once all the required packages are added to the project, open the project in the ABAP perspective to analyze the details for individual CDS views in the packages. You can navigate through the package hierarchy for analyzing the individual CDS views. In this case, navigate to ODATA_MM_ANALYTICS 폷 Core Data Services 폷 Data Definitions 폷
C_PURGSPENDOFFCONTRACT, as shown in Figure 7.6.
Figure 7.6 CDS View Explorer
This CDS view is used to create the standard SAP-delivered purchasing analytics con-tent for the Off-Contract Spend app. Also, you can find other CDS views, like C_PUR-CHASEORDERVALUE, on which the KPI created in Chapter 6 was based.
7. Next, associated with each data definition in the CDS view, we have access control options found under Core Data Services 폷 Access Control, where you can navigate to the DCL associated with each of the CDS views. The associated DCL structure is shown in Listing 7.1. The DCL views are responsible for authorization propagation for access to the data by the end users.
@EndUserText.label ‘Auto assigned mapping role for C_PurgSpendOffContract @MappingRole: true
define role C_PurgSpendOffContract2 { grant select on C_PurgSpendOffContract2 where ( PurchasingGroup ) =
aspect pfcg_auth ( M_BEST_EKG, EKGRP,
actvt = ‘O3’ )
and ( PurchasingOrganization ) = aspect pfcg_auth (M_BEST_EKO, EKORG,
actvt = ‘O3’ ) and ( Plant ) =
aspect pfcg_auth (M_BEST_WRK, WRKS,
actvt = ‘O3’ ) and ( CompanyCode ) =
aspect pfcg_auth (F_BKPF_BUK, BUKRS,
actvt = ‘O3’ ); }
Listing 7.1 DCL View Associated with CDS Views
8. The most important aspect to note when inspecting the data definition for the CDS view is the annotations associated with it. The classification of the CDS view is set with the @VDM.viewType annotation. If a view is marked as consumption view, it can be evaluated by the analytical engine. The classifications in the View Browser for the CDS views are based on this annotation. The CDS view in Listing 7.2 can be marked as a query with the @Analytics.query:true annotation. A CDS view marked as a query can be used in the View Browser using the Show Content button to create a multidi-mensional report.
The @Odata.publish:true annotation enables the creation of the OData services, which are then ready to create the SAP Fiori-based artifacts when activated in the SAP Gateway server.
@ClientHandling.algorithm: #SESSION_VARIABLE //Inserted by VDM CDS Suite Plugin @ObjectModel.usageType.dataClass: #MIXED
@ObjectModel.usageType.serviceQuality: #D
7
@ObjectModel.usageType.sizeCategory: #L @AbapCatalog.sqlViewName: 'CMMSPNDCNTRT2' @EndUserText.label: 'Off Contract Spend Cube' @VDM.viewType : #CONSUMPTION
@Analytics.dataCategory: #CUBE
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #NOT_REQUIRED
Listing 7.2 Annotations for Off-Contract Spend CDS View
9. Listing 7.3 presents an example CDS script written with the ABAP Development Tools. In the initial section, important annotations relevant for the view are defined, after which the parameters required by the views are defined. The input parameters also can be enhanced with field-level annotations. For consumption views, the select con-dition defines the measures and the dimensions as part of the data model.
@ClientHandling.algorithm: #SESSION_VARIABLE // Inserted by VDM CDS Suite Plugin
@ObjectModel.usageType.dataClass: #MIXED @ObjectModel.usageType.serviceQuality: #D @ObjectModel.usageType.sizeCategory: #L @AbapCatalog.sqlViewName: 'CMMSPNDCNTRCT'
//Commented by VDM CDS Suite Plugin:@ClientDependent: true @Analytics.dataExtraction.enabled: true
@VDM.viewType: #CONSUMPTION @Analytics.query: true @OData.publish: true
@EndUserText.label: 'Off Contract Spend'
@AccessControl.authorizationCheck: #PRIVILEGED_ONLY @AccessControl.personalData.blocking: #NOT_REQUIRED define view C_PurgSpendOffContract
with parameters P_DisplayCurrency : displaycurrency, @Consumption.hidden : true @Environment.systemField : #SYSTEM_LANGUAGE P_Language : sylangu, @Consumption.derivation: { lookupEntity: 'C_SglGregorianCalDateFunction',
resultElement: 'DateFunctionStartDate', binding: [ {
targetParameter: 'P_DateFunction', type: #PARAMETER, value : 'P_DateFunction' },
7 Analytics for the IT Expert '#SYSTEM_LANGUAGE' } ] } @Consumption.hidden: true P_StartDate: bedat, @Consumption.derivation: { lookupEntity: 'C_ SglGregorianCalDateFunction',
resultElement: 'DateFunctionEndDate', binding: [ {
targetParameter: 'P_DateFunction', type: #PARAMETER, value : 'P_DateFunction' },
{ targetParameter : 'P_Language' , type : #SYSTEM_FIELD, value : '#SYSTEM_LANGUAGE' } ]
}
@Consumption.hidden: true P_EndDate: bedat,
P_DateFunction : datefunctionid
as select from C_PurgSpendOffContract2(
P_DisplayCurrency : $parameters.P_DisplayCurrency, P_StartDate : $parameters.P_StartDate, P_EndDate : $parameters.P_EndDate ) { /* keys */ key PurchaseOrder, key PurchaseOrderItem, key AccountAssignmentNumber, /* Supplier */ Supplier, _Supplier.SupplierName, SupplierCountry,
_Country._Text[1: Language = $parameters.P_Language].CountryName,
Listing 7.3 CDS Data Definition for Off-Contract Spend
10. You can analyze the CDS view in Eclipse by right-clicking the CDS data definition, then selecting the Open With option. You can use the Graphical Editor, Data
Pre-view, and Dependency Analyzer features to get details of the CDS view. Figure 7.7
shows the options available to the IT user for analysis.
11. An important analysis performed by the IT user lets them understand the structure of the VDMs that form the CDS view, including navigating across the different lay-ers of the CDS views, starting from the consumption view to the basic views. You can visually inspect the data model behind the CDS view and can identify the join
7.2 Creating and Consuming CDS Views
7
conditions and the associations used. This analysis is required for scenarios in which the standard CDS views delivered by SAP may need to be modified; you can analyze which view needs to be enhanced for your business scenario. A graphical display of the CDS view is shown in Figure 7.8.
Figure 7.7 Analysis Option for CDS View
12. Associated with the graphical view is another important feature: the dependency analyzer. Navigate to the dependency analyzer via Open With 폷 Dependency
Ana-lyzer, as shown in Figure 7.7. This tool shows the entire hierarchy of the model, and
you can navigate to the tables that form the CDS views. You can click any item in the hierarchy to open the related view or table for further analysis of the object. As shown in Figure 7.9, the dependency analyzer lists the entire view structure, starting from the consumption view and carrying through the basic tables. Clicking any node in the tree opens the definition of the corresponding CDS view.
Figure 7.9 Dependency Analyzer for CDS View
13. You may want to run the CDS view directly in SAP HANA. To do so, first provide all the input parameters for the CDS view, then execute the SQL statement. An exam-ple is shown in Figure 7.10, with the result set of the query shown in Figure 7.11. You can also analyze the performance in the SQL Console. The generated SQL also can be accessed by clicking the SQL Console tab. You can analyze the result in the SAP HANA database layer and can validate the results shown in the UI layer and identify any data aggregation error.
7
Figure 7.10 Providing Input Parameters for Query Execution in SAP HANA
Figure 7.11 Result Set from SAP HANA SQL Execution
You can start by adding a package delivered by SAP and analyze the standard CDS view either graphically or in a detail view in the dependency analyzer. Then you can identify the structures that need to be enhanced for your requirements. Once enhancements are completed, you can test the CDS view and click Data Preview to check if the results are correct and are performant. In case of any issues, you can revisit the CDS model and make changes so that the performance can be enhanced.
7.2.2 Consuming CDS Views with the Analytical Engine
Once the CDS view is created, you can consume it either via the analytical engine avail-able in SAP S/4HANA or through OData services generated in the frontend or the SAP Gateway server. In this section, we’ll detail the functionality of the analytical engine contained within embedded SAP BW. A CDS view defined with the @Analytics.query= true annotation is evaluated by the analytical engine automatically, creating the tran-sient providers that form the basis for the execution of the queries. The execution of the CDS in the analytical engine makes the CDS available to SAP Analytics Cloud and
7 Analytics for the IT Expert
SAP’s BI tools like SAP Lumira, designer edition; SAP Analysis for Microsoft Office; and SAP BusinessObjects. You can use Transaction RSRT to test the query, as shown in Fig-ure 7.12.
You also can execute the query in different formats. Execution of the query in the Web Dynpro grid is shown in Figure 7.13. This execution is the basis of the query execution for apps like Incoming Sales Order Analysis, for previewing in the Custom Analytical Query app, or for using the Show Content button in the View Browser.
Figure 7.12 Executing Query in Embedded SAP BW in SAP S/4HANA Backend
Figure 7.13 Query Results in Multidimensional Grid
You can also execute other queries already created in the system by clicking the value help and navigating to the InfoAreas section, as shown in Figure 7.14. This analysis is required to identify the integration of the query with the SAP Analytics Cloud or the SAP BusinessObjects BI toolsets.
7.2 Creating and Consuming CDS Views
7
Another important transaction the analytical user executes is Transaction RSRTS_ ODP_DIS. This displays the transient provider preview generated for the ABAP CDS view. You can use the value help to select the Operational Data Provider (ODP), as shown in Figure 7.15.
Figure 7.14 InfoAreas and Queries Available via Analytical Engine
You can perform a metadata check for the transient provider or can execute the query. In Figure 7.16, the transient provider associated with the off-contract spend cube is shown. The transactions mentioned in this section are the most frequently used ones for working with embedded SAP BW.
Figure 7.16 Transient Provider Display for Off-Contract Spend
7.2.3 Consuming CDS Views with OData Services
In the previous section, we detailed the analysis for consumption via transient provid-ers. In this section, we’ll detail the steps required for consumption of the CDS view via OData services.
As outlined earlier, when the CDS view is defined with the odata.publish=true annota-tion, the service is generated in the frontend server and you need to activate these ser-vices. You can use Transaction IWFND/MAINT_SERVICES to activate and maintain the services available. However, to access the service, you need to define an RFC connection to the SAP S/4HANA backend. Once the connection is established, you can activate the services using the Add Service button. The transaction with filtered services is shown in Figure 7.17.
You can filter based on the activated services and then can test the result either in a browser or in an SAP Gateway client, as shown in Figure 7.18.
7
Figure 7.17 Activate and Maintain Services
Figure 7.18 Execute Results in SAP Gateway Client
In the SAP Gateway client, you can test the OData service: if the execution returns with the status code set to 200, the service is ready for use and creation of the KPIs, reports, and analytical list pages described in Chapter 6. The results can be evaluated in JSON format or can be viewed in the standard XML format. Also, the response time can be used for performance analysis. Figure 7.19 shows the execution of the service in the SAP Gateway client; the result is shown in JSON format. You can perform analysis and checks before using the result for the definition of the KPIs.
You can test the metadata of the service and can write extensive OData calls in the
Request URI area to test the results from the services. This is a useful feature for
debugging the services if the desired result isn’t shown in the UI. In Figure 7.20, we executed an OData call with the input parameters and the selected dimensions to test the results.
7 Analytics for the IT Expert
Figure 7.19 Execution in SAP Gateway Client
Figure 7.20 Forming OData Calls in SAP Gateway Client
The results available in the JSON format also can be inspected manually. As shown in Figure 7.21, you’ll have access to the supplier and the purchase order value data received from the OData call.
Figure 7.21 Results in JSON Format
7.3 Summary
7
Using this OData, the CDS service is available for consumption with just a URL. This fea-ture makes the data in the underlying CDS view available in an open format that can be consumed in any tool. SAP has invested heavily in key user tools, by means of which these OData services are consumed and analytical artifacts like KPIs, tiles, and reports are made available just through configuration in SAPUI5 technology, without any cod-ing requirements.
7.3 Summary
In this chapter, we analyzed the set of tables joined to create a virtual data model (VDM), which is scripted in ABAP in Eclipse and enhanced with annotations that provide im-portant metadata. The analytical engine embedded in the SAP S/4HANA backend sys-tem generated the transient providers consumed as queries in SAP Analytics Cloud and other SAP on-premise tools. Then, we looked at the activation of the services in the SAP S/4HANA frontend server or in SAP Gateway. This service enablement allows all the data of the underlying CDS view to be discoverable via OData in a browser. OData ser-vices are consumed in the key user tools set to create custom tiles and reports. In a nut-shell, we explored the journey of the data from the tables to the tiles.
We explored the extensibility options for the IT user in this chapter, but we want to explore additional extensibility options that exist in SAP S/4HANA in the next chapter, in which we’ll cover additional options for creating custom fields and enhancing the existing UIs.
Preface ... 13
PART I
Getting Started
1
The Intelligent Enterprise
19 1.1 Digital Transformation ... 191.1.1 The Digital Transformation Imperative ... 19
1.1.2 What Does Digitalization Mean for Your Company? ... 21
1.1.3 SAP’s Role in Your Digital Transformation ... 22
1.2 SAP S/4HANA: The Intelligent ERP System... 23
1.2.1 Business Needs for the Intelligent ERP System ... 23
1.2.2 The Evolution of ERP Systems ... 24
1.2.3 Technologies ... 25
1.2.4 Key Principles ... 26
1.3 SAP S/4HANA Business Requirements ... 30
1.3.1 ERP in the Cloud: Software as a Service ... 31
1.3.2 Integrating the Intelligent ERP System ... 33
1.3.3 Real-Time Data ... 33
1.4 Summary ... 34
2
Analytics in the Digital Economy
35 2.1 Embedded Analytics versus Standalone Analytics... 352.2 Combining Transactions and Analytics ... 39
2.2.1 On a Single Platform ... 40
2.2.2 Within the Business Process ... 40
2.2.3 Within a Single User Interface ... 43
Contents
3
Architecture
453.1 Architecture Overview... 45
3.1.1 Stack Overview: Journey of Data from Tables to Tiles ... 46
3.1.2 Building Blocks ... 51
3.2 Virtual Data Models in Core Data Services... 60
3.2.1 Core Data Services ... 60
3.2.2 Virtual Data Models ... 72
3.3 Authorization and Security... 81
3.3.1 Authorizations ... 81
3.3.2 Roles in Frontend Server ... 86
3.4 SAP Fiori Programming Model: Access and Visualization... 88
3.4.1 Service Enablement ... 90
3.4.2 Data Access Protocol ... 90
3.4.3 SAP Fiori Catalog and Navigation Targets ... 93
3.5 Summary... 95
PART II
Analytics by User Type
4
Analytics for the Business User
99 4.1 Operational Insight-to-Action Using the Analytical List Page... 994.1.1 Typical Usage ... 100
4.1.2 Features and Personalization Options ... 103
4.2 KPI Reporting and Analysis Using SAP Smart Business KPIs... 109
4.2.1 Typical Usage ... 110
4.2.2 Features and Personalization Options ... 112
4.3 Multidimensional Reporting... 123
4.3.1 Typical Usage ... 123
4.3.2 Features and Personalization Options ... 125
4.4 SAP Fiori Overview Pages... 135
4.4.1 Typical Usage ... 135
4.4.2 Features and Personalization Options ... 139
4.5 Embedded SAP Analytics Cloud Stories... 143
4.5.1 Typical Usage ... 144
4.5.2 Features and Personalization Options ... 146
Contents 4.6 Additional Functions... 155
4.6.1 Query Browser ... 155
4.6.2 App Catalog ... 157
4.6.3 Enterprise Search and App Search ... 159
4.6.4 Notifications Area ... 160
4.6.5 User Assistance ... 163
4.7 Summary ... 165
5
Predefined Analytics Content
167 5.1 Content Delivered with SAP S/4HANA ... 1675.2 Analytics Content and SAP Best Practices... 174
5.3 Line-of-Business-Specific SAP Best Practices ... 181
5.3.1 Procurement Analytics Content ... 182
5.3.2 Financial Planning and Analysis Content ... 185
5.3.3 Manufacturing Analytics Content ... 188
5.4 Business Content for SAP Analytics Cloud, Embedded Edition... 191
5.4.1 Dashboard for Sourcing and Procurement ... 192
5.4.2 Dashboard for Sales ... 196
5.4.3 Dashboard for Finance ... 199
5.5 Integration SAP Best Practices... 202
5.5.1 SAP BW and SAP B/4HANA Integration ... 203
5.5.2 SAP BusinessObjects BI Platform Integration ... 207
5.5.3 SAP Cloud Platform Integration ... 208
5.6 Summary ... 209
6
Analytics for the Analytics Specialist
211 6.1 The Analytics Specialist Role ... 2116.1.1 Process Overview ... 212
6.1.2 Technical Details and Process Mapping ... 215
6.2 Browsing the Virtual Data Model ... 217
6.2.1 Overview ... 218
6.2.2 Features and Options ... 219
6.3 Creating and Publishing Data Sources and Queries... 226
6.4 Manage KPIs and Reports... 248
6.4.1 Process Overview ... 249
6.4.2 Creating a KPI Group and a KPI ... 249
6.4.3 Creating Drilldown Report ... 255
6.4.4 Adding Additional Views and Previewing ... 261
6.4.5 Add a Tile for a KPI ... 263
6.5 Maintaining Reports... 269
6.5.1 Maintaining an Analytical List Page Report ... 270
6.5.2 Maintaining an SAP Analytics Cloud Data Analyzer Report ... 280
6.6 Maintaining SAP Analytics Cloud, Embedded Edition Stories... 285
6.6.1 Header Data ... 285
6.6.2 Data Source and Layout ... 287
6.6.3 Additional Data Sources ... 293
6.6.4 Preview and Publish ... 295
6.7 Defining Date Functions... 296
6.7.1 Defining Date Functions ... 296
6.7.2 Using Date Functions in the KPI Configuration ... 302
6.8 Creating SAP Fiori Launchpad Tiles for SAP Analytics Cloud Stories... 304
6.9 Summary... 306
7
Analytics for the IT Expert
309 7.1 The IT Expert Role... 3097.2 Creating and Consuming CDS Views... 311
7.2.1 Exploring CDS Views ... 311
7.2.2 Consuming CDS Views with the Analytical Engine ... 319
7.2.3 Consuming CDS Views with OData Services ... 322
7.3 Summary... 325
8
Additional Extensibility Options
327 8.1 Custom Business Objects... 3278.2 Custom Fields and Logic... 335
8.3 Summary... 343
PART III
Additional SAP Analytics Tools
9
Data Warehousing
347 9.1 Do You Need Additional Data Warehouses?... 3489.2 Data Management for SAP S/4HANA ... 351
9.3 SAP BW/4HANA ... 354
9.3.1 Overview ... 355
9.3.2 Integration ... 358
9.3.3 Migration Process ... 362
9.3.4 Extractors ... 364
9.3.5 What Comes First? ... 364
9.4 SAP HANA for SQL Data Warehousing... 366
9.5 SAP Data Warehouse Cloud... 369
9.6 Big Data Warehousing ... 371
9.6.1 Data Lakes ... 371
9.6.2 SAP Data Intelligence ... 372
9.7 Summary ... 373
10 Business Intelligence
375 10.1 Should You Use Additional Business Intelligence Solutions?... 37510.2 SAP Analytics Suite ... 376
10.2.1 Portfolio Structure ... 376
10.2.2 SAP BusinessObjects BI Platform and Architecture ... 379
10.2.3 SAP Lumira ... 380
10.2.4 SAP BusinessObjects Web Intelligence ... 380
10.2.5 SAP Analysis for Microsoft Office ... 381
10.2.6 Integration ... 383
10.3 SAP Analytics Cloud... 384
10.3.1 Self-Service Business Intelligence ... 384
10.3.2 Hichert Standards Support ... 385
10.3.3 SAP Digital Boardroom ... 386
10.3.4 Integration ... 387
10.3.5 Planning ... 389
Contents
11 Predictive Analytics and Machine Learning
39311.1 Overview ... 393
11.2 Approaches to Machine Learning... 395
11.2.1 Embedded Machine Learning ... 396
11.2.2 Side-by-Side Models with SAP Cloud Platform ... 399
11.2.3 Side-by-Side Models with SAP Analytics Cloud ... 401
11.2.4 Extending and Enhancing the Machine Learning Models ... 405
11.3 Solution Architecture... 407
11.4 Intelligent Enterprise Example... 411
11.5 Summary ... 414
Appendices
415 A Future Outlook ... 415B The Authors... 421
A
ABAP annotations ... 66
ABAP Dictionary ... 61, 65 ABAP editor ... 341
ABAP managed database procedure (AMDP) ... 398
ABAP project ... 311
ABAP runtime environment ... 67
Accounts receivable manager ... 100
ACID (atomicity, consistency, isolation, durability) ... 56
Advanced DataStore objects (ADSOs) ... 350
Aggregates ... 59
Aggregation annotation ... 77
Aging Report for Accounts Payable app ... 147,
152, 202 Algorithms ... 393, 395 Amazon ... 352
Analysis Path Framework app ... 266
Analytical cube ... 228
Analytical engine ... 310, 319 Analytical list page ... 99, 107, 270 data source ... 271 header ... 271 usage ... 100 Analytical processing ... 39 single platform ... 40 single UI ... 43 use cases ... 38
within business processes ... 40
Analytical queries ... 79–80, 184, 213, 222, 224–225 create ... 237 custom ... 235 field selection ... 238 new ... 236 open or copy ... 225 software collection ... 247 transport ... 245 Analytics ... 35, 37 combined with transactions ... 39
use cases ... 36–37 Analytics content ... 167 financial planning ... 185 manufacturing ... 188 procurement ... 182 Analytics specialist ... 167, 211, 299 business catalogs ... 215 process overview ... 212 role description ... 212 Annotations ... 66, 78 Apache Hadoop ... 352 App catalog ... 157 App Finder ... 158 Architecture ... 45 Artificial intelligence ... 26, 30 Associations ... 69, 78 expose ... 69 Attributes ... 238 Authorization objects ... 83, 85 Authorizations ... 81 Automatic refresh ... 134 Automation ... 30
B
BAdIs ... 340 documentation ... 342Basic interface views ... 74
Basically available, soft state, eventual consistency (BASE) ... 56 Big data ... 352, 371 Business catalogs ... 243, 267 Business context ... 341 Business intelligence ... 38, 375 integration ... 383 portfolio conversion ... 378 Business logic ... 334 Business objects ... 327 field types ... 333 fields ... 329, 333 general settings ... 331 new ... 327 nodes ... 332 publish ... 335 Business processes ... 35 Business user ... 99
C
Calculated fields ... 232, 240 Cards ... 135arrange and manage ... 139
Index Cards (Cont.) predefined ... 136 types ... 142 visibility ... 140 Catalog ... 93 CDS views ... 34, 48, 113, 182, 190, 206, 218, 226, 228, 309–310, 313, 359, 402 additional data source ... 230
aggregation expression ... 68
analysis ... 316
analyze and use ... 64
annotations ... 67, 314 consumption ... 319, 322 create new ... 230
creating and consuming ... 311
custom ... 213 data definition ... 316 definition ... 65 explore ... 311 field selection ... 231 graphical display ... 317 input parameters ... 68 introduction ... 60 key elements ... 70
modeling analytical applications ... 76
packages ... 312
parameters ... 234
performance recommendations ... 80
primary data source ... 228
principles ... 71 projection ... 66 publishing ... 234 standard ... 317 tables ... 318 type cube ... 228 using ... 77 CFO dashboard ... 417 Charts ... 105, 113, 119, 193, 258, 277 configure ... 289 data sources ... 294 display ... 128 page layout ... 129 types ... 106, 128, 259 value comparison ... 151 Cloud development ... 54
Cloud ERP systems ... 31
Cloud transition ... 54 Code lists ... 329 custom ... 330 Code pushdown ... 62 Code-to-data ... 62 Collaborative workflow ... 55 Collection items ... 100 Collection supervisor ... 100 Compact filters ... 104
Composite interface views ... 73, 75 CompositeProviders ... 204, 358 Consumption APIs ... 406
Consumption views ... 48, 75, 315 Contextual information ... 44, 59 Core data services (CDS) ... 46, 60, 63 extraction views ... 416
instance-based access ... 82
relationships between entities ... 68
role ... 84–85 Cost Centers—Actuals app ... 124
Cross-origin resource sharing (CORS) ... 387
Cross-product analytics ... 417
Cube view ... 76
Cubes ... 80, 212 Custom Analytical Queries app ... 225–226, 233, 236, 310 Custom Business Objects app ... 327
create new ... 328
Custom Catalog Extensions app ... 225, 243 Custom CDS app ... 310
Custom CDS Views app ... 226
Custom fields ... 335, 338 enable ... 338
Custom Fields and Logic app ... 336
Custom logic ... 335, 341 add ... 340
business context ... 340
Custom Reusable Elements app ... 329
Customer Returns app ... 137
D
Data access management ... 331Data access protocol ... 90
Data aging ... 356 Data analyzer ... 224, 280 data source ... 282 designer ... 283 report ... 282 Data container ... 349
Data control language (DCL) ... 63, 81, 86, 309, 314 Data definition ... 314
Data definition language (DDL) ... 63
Data discovery ... 380 Data federation ... 351, 361 Data flows ... 356, 387 Data lakes ... 371 Index Data layer ... 369
Data manipulation language (DML) ... 63
Data modeling ... 67, 187 Data models ... 59 Data providers ... 350 Data provisioning ... 360 Data selection ... 352 Data sources ... 212, 232, 293 additional ... 294 create ... 226 select ... 287
Data tiering optimization (DTO) ... 356
Data warehousing ... 347–348 architecture ... 367
big data ... 371
DataSources ... 204
Date Function app ... 298
Date functions ... 296, 300 define ... 301
KPIs ... 302
Days Payable Outstanding Analysis app ... 172
Days Payable Outstanding app ... 171
DCL source ... 83 Dependency analyzer ... 318 Digital transformation ... 19, 22 SAP's role ... 22 trade-offs ... 22 Digitalization ... 19 effects ... 21 Dimensions ... 77, 125, 127, 150, 212, 350, 356 filters ... 128 Drilldowns ... 44, 112, 114, 255 additional views ... 261
charts and tables ... 257
configure ... 256 dimensions ... 118 filters ... 115 settings ... 259 swap axes ... 125 Drop zones ... 139 DS views ... 310
E
Eclipse ... 218, 311 Embedded analytics ... 35Enterprise data warehouse (EDW) ... 347
data flow ... 348 data volume ... 348 performance optimization ... 349 use cases ... 350 Enterprise search ... 159–160 Entities ... 78 Entity-relationship model ... 63, 71 ERP evolution ... 24
Event-Based Revenue Recognition app ... 43, 102 Event-Based Revenue Recognition— Projects app ... 102
Exception handling ... 37
Export Software Collection app ... 215, 245, 343 Extensibility ... 327
Extensible business contexts ... 336
Extension include views ... 76
Extract, transform, and load (ETL) ... 348
F
Facebook ... 352 Fields ... 232 semantics ... 233 Filters ... 104, 113, 149, 156, 194, 240, 274, 292 adapt ... 140 bar ... 139 dimensions ... 114 predefined ... 150 settings ... 127Financial performance overview ... 186
Formula editor ... 232 Functionality-based applications ... 52
G
Geo maps ... 145 Globalization ... 20 Google ... 352 Groups ... 87H
Harmonized reporting ... 351 Hichert-type visualizations ... 385 Hyperscaler ... 32–33I
iFrame ... 148Import Software Collection app ... 248
Incoming Sales Orders app ... 123
Incomplete Sales Documents app ... 136
Individualization strategy ... 31
Industry 4.0 ... 20
InfoObjects ... 355
In-place conversion ... 362 Input control ... 291 Input parameters ... 274 Insight-to-action paradigm ... 99 Intelligent enterprise ... 19, 57, 394 business requirements ... 23 example ... 411 Intelligent ERP ... 19
Intelligent Goods and Invoice Receipt Account Reconciliation app ... 42
Intelligent processes ... 394
Intelligent scenario lifecycle management ... 396, 407–408 Intelligent scenario manager ... 409
Intent-based navigation ... 147
Interfaces ... 51
International Business Communication Standards (IBCS) ... 385
Internet of Things (IoT) ... 352
IT expert ... 309, 316
J
Java Persistence API (JPA) ... 63Join condition ... 231
Join on demand ... 69
JSON format ... 323–324
K
Key figures ... 125, 356 Key performance indicator (KPI) ... 30, 42, 101, 121, 211, 248 create ... 214, 249 data source ... 252data source settings ... 253
design ... 249 financial ... 186 group ... 249, 251 maintain languages ... 250 refresh time ... 266 tags ... 273, 275 thresholds ... 254 tiles ... 263 views ... 112 visualizations ... 36 KPI modeler ... 93
L
Layered Scalable Architecture (LSA++) ... 349Learning center ... 164
Lines of business (LOBs) ... 167
Link list card ... 142
Live connectivity ... 387
Lot size of one ... 20
M
Machine learning ... 393 approaches ... 395 consuming services ... 399 create applications ... 406 embedded ... 396 extend logic ... 406 extending models ... 405model lifecycle management ... 406
solution architecture ... 407
Manage KPIs and Reports app ... 248, 269, 285, 415 MapReduce function ... 352 Measures ... 238 Metadata check ... 322 Microsoft Excel ... 120, 382 Microsoft Power BI ... 382
Monitor Purchase Order Items app ... 41
Multidimensional online analytical processing (MOLAP) ... 349 Multidimensional reporting ... 36, 123, 125, 214, 238 additional features ... 133
N
Navigation ... 93, 121, 125, 132, 141 Nested loops ... 62 Net price ... 233 Notification area ... 160 Notifications ... 161O
OData ... 49, 56, 92 APIs ... 339 calls ... 323 capabilities ... 92 protocol ... 90 services ... 214, 319, 322, 331 OLAP engine ... 348 Open CDS views ... 79Open ODS views ... 203
Open SQL ... 81 Overview pages ... 135, 137 list ... 137 share ... 143
P
Package hierarchy ... 313 Packages ... 312, 319 Parameters ... 315 Path expressions ... 70Personal page variants ... 130
Personalization options ... 103, 112, 117, 122, 125, 139 Personalized views ... 108, 142 Planning ... 36
Planning applications kit ... 351
Predictive algorithms ... 34 Predictive analytics ... 189, 393 Predictive models ... 397 Principal ... 81 Private views ... 76 Privilege ... 81 Process mapping ... 215
Production cost overview ... 188
Profit and loss (P&L) statement ... 186
Project definition ... 102
Project Profitability app ... 103
Purchasing analytics ... 110
Purchasing Overview Page app ... 192
Q
Queries ... 219, 320 filter values ... 241 predefined ... 235 Query Browser ... 155–156 Query language ... 63, 91R
Real-time data ... 33 Real-time insights ... 58 Reconciliation reports ... 102Remote API view ... 75
Remote conversion ... 362 Reporting ... 41, 133, 183, 187, 366 creation ... 214 maintain ... 269 publish ... 214 Resource ... 81 RESTful APIs ... 91 Restricted measures ... 240 RFC connection ... 322 Role-based access ... 53–54 Roles ... 81–82, 87, 171, 173 frontend server ... 86 Rule-based decisions ... 37 Rules ... 81
S
Sales analytics apps ... 312Sales Management Overview app ... 136
Sales Order Items—Backorders app ... 137
Sales Orders—Flexible Analysis app ... 136
Sales Volume—Profit Margin app ... 136
SAP AI Business Services ... 400
SAP Analysis for Microsoft Office ... 38, 310, 379, 381, 383 SAP Analytics ... 38, 357, 376 BI tools ... 46
portfolio ... 376
strategy ... 378
SAP Analytics Cloud ... 38, 48, 179–180, 182, 186, 191, 280, 304, 309–310, 319–320, 376, 378, 380, 384, 401–402 analytical models ... 190 Data Analyzer ... 280 importing stories ... 181 integration ... 186, 387–388 planning ... 389 predictive services ... 402
SAP S/4HANA future integration ... 415
self-service ... 384
SAP Analytics Cloud Stories app ... 304
SAP Analytics Cloud, embedded edition .... 144,
191, 280 add column ... 153
business content ... 191
charts ... 197, 200 charts and tables ... 151
feature set ... 288 finance dashboard ... 199 formatting options ... 290 geo map ... 200 KPIs ... 200 maintain stories ... 285 overviews ... 200 page variants ... 148 personalization ... 146 personalized tile ... 149 sales dashboard ... 196 setting filters ... 149
sourcing and procurement dashboard ... 192
tables ... 194
trendlines ... 195
usage ... 144
Index
SAP Best Practices ... 174, 185, 188
content library ... 177 for analytics ... 176 integration ... 202 LOBs ... 181 packages ... 180 solution scope ... 179
SAP Best Practices Explorer ... 174, 191 SAP Business ByDesign ... 41
SAP Business Explorer (SAP BEx) ... 204, 207, 357, 380–381 SAP Business Planning and Consolidation (SAP BPC) ... 38, 351 SAP Business Technology Platform ... 25,
372, 376 SAP Business Warehouse (SAP BW) ... 40,
203, 322 embedded ... 204
integration ... 203
SAP BusinessObjects BI ... 48, 320, 378 integration ... 207
SAP BusinessObjects BI platform ... 379
SAP BusinessObjects Web Intelligence ... 379–381 SAP BW/4HANA ... 205, 347, 354, 367 business control objects ... 364
conversion ... 357 design principles ... 355 extractors ... 364 functionality ... 349 integration ... 203, 206, 358 migration ... 362 positioning ... 366
SAP HANA views ... 368
sizing ... 363
UI ... 357
SAP Cloud Platform ... 30, 32, 191, 395, 399–400 integration ... 208
SAP Collections and Dispute Management ... 202
SAP Concur ... 33
SAP Credit Management ... 202
SAP Crystal Reports ... 38, 207, 379, 381 SAP Customer Experience ... 33
SAP Data Intelligence .. 347, 372, 397, 399–400, 408, 416 SAP Data Warehouse Cloud ... 369, 378, 416 positioning ... 370
replicating domain models ... 370
space concept ... 370
SAP Digital Boardroom ... 38–39, 384, 386 SAP ERP ... 25, 36 SAP Financial Planning for SAP S/4HANA Cloud ... 185
SAP Fiori ... 28–29, 43, 99 analytical apps ... 169
apps reference library ... 171
catalogs ... 93, 214, 335 create application ... 225 design paradigm ... 29, 93, 378 frontend server ... 173 overview pages ... 135 programming model ... 88 smart filters/charts ... 419 UI ... 50 UX improvements ... 418
SAP Fiori apps ... 132, 335 create ... 243, 278 implementation ... 172
list view ... 170
mapping to process ... 216
search ... 169
SAP Fiori apps reference library ... 87, 123, 146, 168 navigation ... 168
SAP Fiori launchpad ... 46, 88, 110, 133, 148, 173, 215, 236, 267 assigning apps ... 158
designer ... 217
embedded machine learning ... 398
functionality ... 88
group ... 158
personalized ... 133
spaces and pages ... 418
tile ... 304 SAP Gateway ... 90, 322 server ... 314 SAP GUI ... 43, 310 SAP HANA ... 27 data lakes ... 369
SAP HANA Automated Predictive Library ... 397
algorithms ... 397
SAP HANA database layer ... 318
SAP HANA for SQL data warehousing ... 355,
366, 368 positioning ... 369
SAP HANA Predictive Analysis Library ... 397
algorithms ... 397
SAP HANA smart data access ... 203, 361 SAP HANA Studio ... 310
SAP Integrated Business Planning (SAP IBP) ... 38
SAP IQ ... 356
Index SAP Jam ... 143
SAP Landscape Transformation Replication Server ... 360
SAP Lumira ... 310, 380 SAP Lumira, designer edition ... 207
SAP NetWeaver ... 90
SAP NetWeaver 7.4 ... 62
SAP NetWeaver Application Server (AS) ABAP ... 63
SAP PowerDesigner ... 349, 367 SAP Predictive Analytics integrator .... 396, 408 SAP R/2 ... 25 SAP R/3 ... 25, 353 SAP S/4HANA ... 23–25, 32, 37, 40–41 additional functions ... 155 apps ... 168 architecture ... 45 business requirements ... 30 data management ... 351
database and tables ... 28
delivered content ... 167 deployment options ... 32 design paradigm ... 52 extensibility scenarios ... 336 frontend ... 29 key principles ... 26 landscape ... 33 landscape classification ... 353
new business models ... 30
predefined models ... 180
SAP Best Practices ... 175
stack overview ... 49
table structure ... 59
table structures ... 102
SAP S/4HANA Cloud ... 123, 182, 188, 192, 218, 267, 360, 386, 403 connect to SAP Analytics Cloud ... 402
data integration ... 416
integration ... 185
planning architecture ... 389
procurement ... 182
SAP Best Practices ... 175
stories ... 146
SAP S/4HANA Cloud, essentials edition ... 32
SAP S/4HANA Cloud, extended edition ... 32
SAP S/4HANA embedded analytics ... 30
building blocks ... 51
business intellience ... 375
scope items ... 177
stack ... 48
SAP S/4HANA, private cloud edition ... 32
SAP Smart Business ... 29, 38, 109, 177 charts ... 119
drilldowns ... 112
runtime ... 419
SAP Smart Business KPIs ... 109
process overview ... 249
usage ... 110
SAP SQL Data Warehousing ... 347
SAP SuccessFactors ... 378, 417 SAPUI5 ... 49, 325 Security ... 81
Semantic date ... 296
Service enablement ... 90
Service-oriented architecture (SOA) ... 354
Session persistence ... 56 Shell conversion ... 363 Side-by-side models ... 399, 401 Simplification items ... 363 Simulations ... 36, 385 Smart insight ... 385 Smart predict ... 403 Smartphones ... 22
Software as a service (SaaS) ... 24
Spend visibility ... 184 SQL ... 61 SQL Console ... 318 SQL view ... 65, 79, 361 Stack card ... 142 Standalone analytics ... 35 Stories ... 143, 285, 380 add chart ... 288 add filters ... 291 add table ... 290
additional data sources ... 293
create tile ... 304 data source ... 287 header ... 285 parameters ... 288 preview ... 295 publish ... 296
Supervise Collections Worklist app ... 100
Swap axes ... 125
T
Tables ... 46, 107, 261, 277 add ... 290 add calculation ... 152 display ... 128 export data ... 154 settings ... 108 view ... 120Target quantity ... 233 Tiles ... 46, 111, 215, 263 add to catalog ... 266 create ... 278, 304 type ... 263 Training data ... 405 Transaction IWFND/MAINT_SERVICES ... 322 PFCG ... 83, 87, 93 RSRT ... 320 RSRTS_ODP_DIS ... 321 SU01 ... 86 Transactional apps ... 87 Transactional processing ... 36 Transient provider ... 322 Transport ... 246
Treasury Executive Dashboard app ... 144
Trend analysis ... 185
U
UI generation ... 331Universe semantic layer ... 379
User assistance ... 163
what's new ... 164
User experience (UX) ... 51
cloud-based ... 55
User interface (UI) ... 356
User-defined thresholds ... 122 User-dependent values ... 82
V
Value helps ... 104 Variants ... 108, 131 View Browser ... 212, 219, 243, 311, 314 column settings ... 221 downloading views ... 223 favorites ... 220, 223 filters ... 222 functions ... 218 search ... 220 settings ... 221 sort settings ... 222 Views ... 130Virtual data model (VDM) ... 40, 46–47, 72, 212, 316 browse ... 217 CDS ... 60 deploy ... 219 explore ... 219 overview ... 72, 218 publish views ... 214 semantic layer ... 73 views ... 72, 221 Virtualization objects ... 356 Visual filters ... 104 Visualization layer ... 93 Visualizations ... 350
W
Web Dynpro ... 177, 320 Work center cost analysis ... 189Wrapper app ... 148