In this blog series I would like to share how to realize central definition and maintenance of partitioning patterns. The standard Semantically Partitioned Object (SPO) functionality of SAP NetWeaver BW 7.3 is enhanced by implementing Business Add-in (BAdI) RSLPO_BADI_PARTITIONING and few control tables. It facilitates an automated (re)partitioning, either individually or collectively, and enables partitions, criteria, texts and Data Transfer Processes (DTPs) to be generated automatically and consistently.
The blog series consists of the following blogs in addition to this blog:
I developed a working version of the BAdI implementation which I would like to share via two documents. Implementing Pattern-based Partitioning using the SPO BAdI - Part 1: Control Tables contains all technical details of creating the control tables and the related ABAP data dictionary objects. Implementing Pattern-based Partitioning using the SPO BAdI - Part 2: BAdI Implementation explains all technical details of implementing BAdI RSLPO_BADI_PARTITIONING and the necessary ABAP Object Oriented programming in the implementing class.
I would like to start with a brief overview of the Semantically Partitioned Object technology which is copied from SAP Help. A Semantically Partitioned Object (SPO) is an InfoProvider that consists of several InfoCubes or DataStore objects with the same structure. Semantic partitioning divides the InfoProvider into several small, equally sized units (partitions).
You define the template for the partitions (the reference structure). The partitions are identical and are derived from the structure. You can only create and change the reference structure. The partitions are write-protected to make sure that they remain identical.
To keep the process of creating a Semantically Partitioned Object as simple as possible, different objects are generated when the object is activated. The following graphic shows the objects that are generated (upper area) and the objects that you need to create yourself (lower area).
Figure 1: SPO Data Flow Objects (Source: SAP AG)
Part of data flow is generated by data flowing out of the partitions. Here an outbound InfoSource is created as well as simple dummy transformations that are not executed by the DTP.
Part of the data flow is also created by data flowing into the partitions: an inbound InfoSource is generated with simple dummy transformations. This InfoSource represents a data entry layer for all partitions and makes it easier for you to connect sources.
A Semantically Partitioned Object can only be transported as a whole object. The generated objects are not transported. Instead they are generated in the target system.
Business Add-In (BAdI) RSLPO_BADI_PARTITIONING helps you to (re)partition Semantically Partitioned Objects. You can use this BAdI to automate repartitioning, meaning that you do not need to change partitioning properties manually anymore.
Similar to the manual maintenance you start with Maintain Partitions in the wizard. Here you can select the partition criteria.
Figure 2: Partitioning Criteria
Instead of the manual input, you only have to flag the checkbox “Get chars. from BAdI” and the BAdI will do the rest. An obvious prerequisite is that the required settings have been maintained appropriately in the control tables.
Figure 3: Generated Partitions
As you can see in the next screenshot, the DTPs also have been generated with the help of the BAdI.
Figure 4: Generated DTPs
Please note the role of the DTP Template. All technical settings are maintained with the DTP Template such as data source object type (e.g. DataSource or DataStore Object) and extraction mode.
Figure 5: DTP Template
The DTP Filter is generated by the BAdI with the help of the various control tables. The filter values are hard copied in the DTP Filter and will have to be regenerated in case of any changes.
Figure 6: Generated DTP Filter
In this BAdI, you can implement the following properties:
Once you have implemented the BAdI, there are two options for adjusting the Semantically Partitioned Object according to the BAdI:
Below you find a screenshot of the mass maintenance program. The program can be started via t/code RSLPO_MASS_ACT.
Figure 7: Mass Maintenance
Please refer to the following SAP Help, blogs and articles for more information on SPO:
In this blog I explained in detail how the automated maintenance scenario works. After a quick overview of SPO we had a closer look at the BAdI Managed Maintenance scenario from a functional perspective. The BW developer is exposed to the standard user interface (wizard) but once the control tables are maintained correctly, the BAdI will generate all configuration.
In Pattern-based Partitioning using the SPO BAdI - Part 3: Partitioning Patterns you will learn more about authorized partitioning patterns, the maximum number of partitions and how to use the control tables. Finally, I will highlight in Pattern-based Partitioning using the SPO BAdI - Part 4: Use Cases some use cases of pattern-based partitioning based on LSA data flow templates.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
9 | |
9 | |
7 | |
6 | |
4 | |
4 | |
3 | |
3 | |
3 | |
3 |