Role of the CompositeProvider
The role of the CompositeProvider is to provide a virtual data mart layer within SAP BW/4HANA that can be consumed by queries.
A CompositeProvider is a highly flexible and versatile object that replaces multiple modeling objects from SAP BW including the MultiProvider, InfoSet, and the first generation CompositeProvider that was first delivered with SAP BW powered by SAP HANA.
You should always build your BW Queries on top of a CompositeProvider. This is a similar best-practice of SAP BW when a MultiProvider was the object on which you built a query. This approach ensures that changes to the underlying data sources of the query can be easily managed. For example, you can easily replace the underlying DataStore Object (advanced) with an updated one without needing to adjust the query.
You can combine different types of SAP BW/4HANA objects in a CompositeProvider using flexible join and / or union logic. This was a major limitation with SAP BW when only a union was available in a MultiProvider and joins has to be implemented in separate InfoSets.
You can even build CompositeProviders on top of CompositeProviders to support a high level of reuse. It is also possible to generate additional calculated fields at the CompositeProvider level which means that you no longer need to define such calculations in the query or persist calculations in the underlying DataStore Objects (advanced).
The CompositeProvider can also directly consume calculation views from the SAP HANA database. You can even mix the objects from SAP BW/4HANA and SAP HANA to build hybrid models that mix historical data stored in SAP BW/4HANA, with live data stored in the SAP HANA tables that support a business application.
As already mentioned, in an SAP BW environment, the virtual data mart was implemented with MultiProviders. They were widely used for the following reasons:
Interface for all reporting-related objects (mainly BEx Queries): This way, it was possible to decouple reporting objects from the persistent InfoCubes of the physical data mart layer. This means that changes to InfoCubes did not harm your reporting, as long as the MultiProviders remained unchanged.
Semantic partitioning of data marts: Physical data marts could be divided into several smaller units, and they were integrated by the UNION capabilities of MultiProviders. This brought much more flexibility to your data model and enabled parallel processing for loading and reporting processes. This resulted in significant performance gains.
CompositeProviders now takes on these key responsibilities and add even more functionality.
CompositeProviders enable you to reduce data persistence in your data warehouse. This is because in SAP BW, join operations were done mostly during data staging, with persistent results staged in DataStore Objects. With the new CompositeProvider, a join can be executed on a data set without persistence.
Launch the next demo to explore a CompositeProvider in BW Modeling Tools.