Optimizing Performance During Data Loading and Bex Query Execution in SAP BW4HANA

Welcome to our blog where we delve into strategies for optimizing performance during data loading and query execution in SAP BW4HANA. These techniques are crucial for ensuring efficient processing and responsiveness within your SAP environment. Let’s explore some key tips and best practices.

Performance optimization during data loading:

1. There are two options to process the data during the SAP transformation created between source and target providers.

1. SAP HANA Runtime

2. ABAP Runtime

HANA Runtime:

HANA Runtime

ABAP Runtime:

ABAP Runtime
  • SAP HANA Runtime – performance is better than the ABAP Runtime & mass data can be processed quickly.
  • In ABAP runtime, the data from is loaded – package by package from SAP HANA DB objects to SAP BW4HANA ABAP application layer. Once the ABAP transformation is processed, the transformed objects are moved back to database server and then the data is written in packages to the target database objects.
  • In HANA Runtime, the transformation logic is executed in the SAP HANA Database, the logic is processed through a HANA CalcScenario and the transformed  data is directly updated from the source to the target object thereby reducing the time in data movement between application – database layers as in ABAP Runtime.
  • However, there are some drawbacks when HANA runtime is used for complex code which can be easier to handle in ABAP runtime for e.g: data types supported in ABAP are converted automatically as compared to in HANA runtime.

2. Split the data loads in smaller sizes by reducing the package size in DTP and by grouping the dataset by setting Semantic Grouping

DTP filter settings: Adjust the package size depending on the data size in source.

Sap_1

ABAP Runtime:

Sap_2

In the Extractions tab of the DTP maintenance 🡪 Filter the data in the DTP extractions to process only the required data set in the “Filter” section of the DTP and semantic grouping can by set in the “Extraction Grouped By” inorder to group the data for processing in packages.

In the Extractions tab of the DTP maintenance 🡪 Filter the data in the DTP extractions to process only the required data set in the “Filter” section of the DTP and semantic grouping can by set in the “Extraction Grouped By” inorder to group the data for processing in packages.

Performance optimization of
Bex Queries

1. Filter out data as much as possible in the initial run of the queries by adding filters or input variables based on business requirements.

Sap_3

2. Queries should be generally created on top of the Composite providers than individual infoproviders like ADSOs, Infoobjects, etc. for better performance.

3. Keep only the required characteristics in the report instead of placing the entire list in the free characteristics.

4. Active hierarchies for any master data objects can be enabled after initial query run while navigating through the report which will avoid the hierarchy processing during the initial run itself thereby increasing the performance.

Sap_4

5. For detailed analysis of the query performance, we can execute the query in RSRT 🡪 Execute + Debug option 🡪 select – Display statistics data 🡪 This will display the detailed analysis of the query run.

Sap_5

6. Push the complex calculations to the transformation layer rather than calculating in the query runtime.

7. For the individual characteristics in the Query structure or free characteristics, set Result rows option to Always suppress 🡪 this will avoid calculation of key figure cumulation during report slice and dice.

Sap_6

8. Select proper decimal precision for key figures.

Sap_7

9. For queries which doesn’t have a sub query or formula variable with replacement path that executes another query 🡪 deactivate parallel processing (RSRT 🡪 Execute + Debug mode 🡪 Data Manager 🡪 select no parallel processing)

Sap_8
sneha

About the Author

Sneha Santhanakrishnan
Senior Technical Lead – Delivery

sneha

About the Author

Sneha Santhanakrishnan
Senior Technical Lead – Delivery