Implementing Pattern-based Partitioning using the SPO BAdI – Part 1: Control Tables
In my blog series Pattern-based Partitioning using the SPO BAdI I shared an approach 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:
- Pattern-based Partitioning using the SPO BAdI – Part 1: Introduction;
- Pattern-based Partitioning using the SPO BAdI – Part 2: BAdI Managed Maintenance;
- Pattern-based Partitioning using the SPO BAdI – Part 3: Partitioning Patterns;
- Pattern-based Partitioning using the SPO BAdI – Part 4: Use Cases.
I developed a working version of the BAdI implementation which I would like to share via two documents. Part 1 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.
Transparent Tables
Overview
The following transparent tables have to be implemented:
- YSPOINFOPROV – SPO BAdI Managed InfoProvider;
- YSPOPATTERN – SPO Authorized Partition Pattern;
- YSPOPATTERNT – SPO Authorized Partition Pattern Text;
- YSPOCRITERIA – SPO Pattern Partition Criteria;
- YSPODTP – SPO BAdI Managed DTP.
From a data management perspective it makes sense to enhance the basic tables with e.g. table maintenance views or a maintenance transaction. This is not in scope of this document.
Table YSPOINFOPROV – BAdI Managed InfoProvider
The following fields have to be implemented.
Figure 1: Table YSPOINFOPROV – Fields
The following entry helps and checks have to be implemented.
Figure 2: Table YSPOINFOPROV – Entry Help/Check
Figure 3: Table YSPOINFOPROV – Foreign Key Pattern ID 1 and 2
Table YSPOPATTERN – Authorized Partitioning Pattern
The following fields have to be implemented.
Figure 4: Table YSPOPATTERN – Fields
The following entry helps and checks have to be implemented.
Figure 5: Table YSPOPATTERN – Entry Help/Check
Figure 6: Table YSPOPATTERN – Foreign Key InfoObject
Table YSPOPATTERNT – Authorized Partitioning Pattern Text
The following fields have to be implemented.
Figure 7: Table YSPOPATTERNT – Fields
The following entry helps and checks have to be implemented.
Figure 8: Table YSPOPATTERNT – Entry Help/Check
Figure 9: Table YSPOPATTERNT – Foreign Key Pattern ID
Table YSPOCRITERIA – Partitioning Pattern Criteria
The following fields have to be implemented.
Figure 10: Table YSPOCRITERIA – Fields
The following entry helps and checks have to be implemented.
Figure 11: Table YSPOCRITERIA – Entry Help/Check
Figure 12: Table YSPOCRITERIA – Foreign Key Pattern Pattern ID
Table YSPODTP – BAdI Managed DTP
The following fields have to be implemented.
Figure 13: Table YSPODTP – Fields
The following entry helps and checks have to be implemented.
Figure 14: Table YSPODTP – Entry Help/Check
Figure 15: Table YSPODTP – Foreign Key SPO InfoProvider
Figure 16: Table YSPODTP – Foreign Key Source System
Figure 17: Table YSPODTP – Foreign Key DTP Template ID
Other Data Dictionary Objects
Overview
The following domains have to be implemented:
- YSPOPARTGROUP – SPO Partition Group;
- YSPOPATTERNID – SPO Partitioning Pattern;
- YSPOTLOGO – SPO Object Type for DTP.
The following data elements have to be implemented:
- YSPOPARTGROUP – SPO Partition Group;
- YSPOPATTERNID – SPO Partitioning Pattern;
- YSPOPATTERNID1 – SPO Partitioning Pattern 1;
- YSPOPATTERNID2 – SPO Partitioning Pattern 2;
- YSPOTLOGO – SPO Object Type for DTP.
The following search help has to be implemented:
- YSPO_DTPTEMPLATE – SPO Templates
Domain YSPOPARTGROUP – SPO Partition Group
Figure 18: Domain YSPOPARTGROUP
Domain YSPOPATTERNID – SPO Partitioning Pattern
Figure 19: Domain YSPOPATTERNID
Domain YSPOTLOGO – SPO Object Type for DTP
Figure 20: Domain YSPOTLOGO
Figure 21: Domain YSPOTLOGO – Value Range
Data Element YSPOPARTGROUP – SPO Partition Group
Figure 22: Data Element YSPOPARTGROUP
Data Element YSPOPATTERNID – SPO Partitioning Pattern
Figure 23: Data Element YSPOPATTERNID
Note: Data elements YSPOPATTERNID1 and YSPOPATTERNID2 are defined in exactly the same way and therefore not described further.
Data Element YSPOTLOGO – SPO Object Type for DTP
Figure 24: Data Element YSPOTLOGO
Search Help YSPO_DTPTEMPLATE – SPO Templates
Figure 25: Search Help YSPO_DTPTEMPLATE