SAP reference books

Topics are explained very well and described with clear examples.

N. Hildebrandt

Practical Guide to Advanced DSOs in SAP

This book delves into the fundamentals of SAP BW based on SAP HANA Advanced Data Store Objects (aDSOs). Explore the various aDSO types and templates available and learn how to quickly create aDSOs specific to your business needs. Create, manage, and use a...

10% discount

Get a 10% discount now! Sign up for our newsletter and receive a 10% discount on the digital subscription for our SAP learning platform!

Table of content

  • Preface
  • Acknowledgements:
  • 1 Data warehousing and database technologies
  • Starflake schema
  • Snowflake schema
  • 2 New objects in SAP BW and SAP HANA
  • 3 Modeling with SAP HANA Studio
  • 4 What is an Advanced DSO?
  • 5 Model template—data acquisition layer—including corporate memory
  • 6 Model template—corporate memory—compression capabilities
  • 7 Model template—corporate memory—reporting capabilities
  • 8 Model template—data warehouse layer—delta calculation
  • 9 Model template—data warehouse layer—datamart
  • 10 Some more features of Advanced DSOs
  • 11 Comparison of classic DSO with Advanced DSO
  • 12 Business example 1—analysis of customer spending pattern
  • Some points to note:
  • 13 Business example 2—actual customer spend compared with plan data
  • Some points to note
  • 14 Some more features within SAP BW on HANA
  • 15 Appendix
  • A References
  • B The author
  • C Disclaimer
  • More Espresso Tutorials eBooks

More informationen

Author:

Deepa Rawat

Category:

Analytics

Language:

English

Reading Sample

2.2 Composite providers

Before SAP HANA was introduced, it was possible to combine data in SAP BW by either using multiproviders or InfoSets. Similar to Open ODS views, multiproviders, InfoSets, and composite providers are views on top of underlying InfoProviders. None of these objects store data; they are all views. Multiproviders allow joining tables together using a method called union. InfoSets, on the other hand, allows joining objects by using database joins such as left- or right-outer join. As InfoSets contain database join conditions, queries on InfoSets are considerably slower in querying the database. SAP has a new type of provider on SAP HANA where it is possible to do a union, inner, left- or right-outer join. This new type of provider is called SAP HANA Composite Provider (HCP) and is meant to replace all the old objects such as multiproviders, old composite providers, InfoSets, and transient providers. The other objects will not be phased out, but SAP HCP is now the recommended object to be used for all reporting in SAP BW on SAP HANA where objects need to be combined for reporting purposes.

InfoSet usage

You still need to consider using InfoSets, if you want to use a key date for the join condition. Composite providers do not yet provide that feature.

2.2.1 Supported providers within composite providers

Before creating composite providers, decide what sort of link to use between different source, or part, providers.

If composite providers are created with links between objects of the type union, you can only use the following source providers: InfoCubes, DSOs (classic and advanced), semantically partitioned objects, Open ODS views, virtual providers, InfoObjects, InfoSets, and aggregation levels.

If links are type join, then you can only use InfoCubes, DSOs, semantically partitioned objects (one per composite provider), and InfoObjects.

If both union and join are needed in a composite provider, you can only use InfoCubes, DSOs, and InfoObjects.

2.2.2 Inner join and outer join details

Inner joins return rows when there is at least one row from both tables that matches the join condition. Inner joins eliminate the rows that do not have a match.

Outer joins, however, return all rows from at least one of the tables or views mentioned in the FROM clause, as long as those rows meet any WHERE condition. All rows are retrieved from the left table referenced with a left-outer join, and all rows from the right table referenced in a right-outer join.

2.2.3 Scenarios within a composite provider

Composite providers can be a combination of various joins within joins/unions. Some possible combinations of joins include:

  • Inner join within left-outer join, see Figure 2.11.

AdvancedDSOs

Figure 2.11: Inner join within left-outer join

The system will first evaluate the Inner Join, J1. The system then joins that to table ZZCUSORD via a left-outer join, J2. The left-outer table is the result of the join J1.

Left-outer join limitation within a composite provider

Left-outer joins cannot be created between inner joins. They can only be created at the end of an assignment chain.

  • Union within a join operation—As shown in Figure 2.12, the system first evaluates the Union U1. U1 is the union of two objects called ZZCUSORD and ZZCUORD1. After the Union U1 object is evaluated, the system then performs a left-outer join between U1 and InfoObject ZZCUS_REG.

AdvancedDSOs

Figure 2.12: Union within a join operation

Union limitation in a composite provider

A union can only be created at the end of an assignment chain.
 

2.2.4 An example utilizing composite provider

The next example shows how a composite provider can join a transaction table to a master data table by using a left-outer join. You will store customer region master data in the InfoObject ZZCUS_REG. The customer order transaction data will be stored in a classic DSO. Composite provider will be used to join these two objects to show customer orders with additional master data.

11. Master data used in this example will be customer region table: zzcus_reg. This is stored in an InfoObject called ZZCUS_REG. The content of this object is shown in Figure 2.13.

AdvancedDSOs

Figure 2.13: Customer region

12. The transaction data table for this example is attached to classic DSO ZZCUSORD. The data for this DSO is shown in Figure 2.14.

AdvancedDSOs

Figure 2.14: Customer orders

13. Create a composite provider that joins the two tables, shown in Figure 2.13 and Figure 2.14, to show customer region alongside the key figures Order Qty and Order Value.

14. Listed in Figure 2.15 are all the objects that are used to create the composite provider.

AdvancedDSOs

Figure 2.15: Objects being used to create composite provider

15. Log on to SAP HANA Studio, go to the chosen InfoArea, right-click on the applicable InfoArea, and then click New • Composite Provider. This is shown in Figure 2.16.

AdvancedDSOs

Figure 2.16: Menu option to create new composite provider

16. On the next screen (shown in Figure 2.17), give the name of the composite provider and its description. I have chosen to name the composite provider ZZCPORD. Click Next.

AdvancedDSOs

Figure 2.17: Create composite provider screen, continued

17. Next, decide on the type of link needed to connect the part providers. ZZCUS_REG is the provider for master data and ZZCUSORD is the provider for transaction data. Add the two part providers via the Add button, as shown in Figure 2.18. Click Finish.

AdvancedDSOs

Figure 2.18: Create composite provider screen, continued

18. On the screen that opens, go to the Scenario tab, as shown in Figure 2.19. In this tab, you need to declare the target fields and map the source fields to the target fields.

AdvancedDSOs

Figure 2.19: Map source fields to target fields in the composite provider

19. In Figure 2.20, J1 shows that the join type chosen for the linkage of two part providers is left-outer join. Customer Orders DSO is the primary join participant, with the customer master data object being secondary in the join condition (left-outer join). The join condition equates Customer ID fields from both source tables. Select all fields from both source tables on the left-hand side and drop them into the target composite provider to the extreme right-hand side, as shown in Figure 2.20. Then map the Customer ID field from both source tables to the target table. This completes the creation of the composite provider!

AdvancedDSOs

Figure 2.20: Explanation for the join conditions

20. To preview the data that will flow through the newly created composite provider, you can go to the SAP BW back-end system and then type in TCODE RSA1. In RSA1, find the composite provider, right-click on the provider, and then click Display Data, as shown in Figure 2.21.

AdvancedDSOs

Figure 2.21: Context menu for composite provider via RSA1

21. Figure 2.22 shows the data that gets displayed when you choose the Display Data context menu. The last two columns flow from the master data InfoObject, whereas the first eight columns flow in from the transaction data table.

AdvancedDSOs

Figure 2.22: Data displayed via composite provider

All contents. Learn more. Discover now.

et.training - Your learning platform for SAP software

  • Access to all learning content1
  • Regular new releases
  • Intelligent search algorithm
  • Innovative reading experience
  • Customized learning paths
  • Certificates & QA tests2

You already have an account?

1 You get access to all learning content. Online trainings, certificates are NOT part of the flat rate.

2 More information on request.