Skip to Content
Author's profile photo Sander van Willigen

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:

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_01_Table_YSPOINFOPROV_Fields.jpg

Figure 1: Table YSPOINFOPROV – Fields

The following entry helps and checks have to be implemented.

Figure_02_Table_YSPOINFOPROV_Entry_Help.jpg

Figure 2: Table YSPOINFOPROV – Entry Help/Check

Figure_03_Table_YSPOINFOPROV_Foreign_Key.jpg

Figure 3: Table YSPOINFOPROV – Foreign Key Pattern ID 1 and 2

Table YSPOPATTERN – Authorized Partitioning Pattern

The following fields have to be implemented.

Figure_04_Table_YSPOPATTERN_Fields.jpg

Figure 4: Table YSPOPATTERN – Fields

The following entry helps and checks have to be implemented.

Figure_05_Table_YSPOPATTERN_Entry_Help.jpg

Figure 5: Table YSPOPATTERN – Entry Help/Check

Figure_06_Table_YSPOPATTERN_Foreign_Key.jpg

Figure 6: Table YSPOPATTERN – Foreign Key InfoObject

Table YSPOPATTERNT – Authorized Partitioning Pattern Text

The following fields have to be implemented.

Figure_07_Table_YSPOPATTERNT_Fields.jpg

Figure 7: Table YSPOPATTERNT – Fields

The following entry helps and checks have to be implemented.

Figure_08_Table_YSPOPATTERNT_Entry_Help.jpg

Figure 8: Table YSPOPATTERNT – Entry Help/Check

Figure_09_Table_YSPOPATTERNT_Foreign_Key.jpg

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.jpg

Figure 10: Table YSPOCRITERIA – Fields

The following entry helps and checks have to be implemented.

Figure_11_Table_YSPOCRITERIA_Entry_Help.jpg

Figure 11: Table YSPOCRITERIA – Entry Help/Check

Figure_12_Table_YSPOCRITERIA_Foreign_Key.jpg

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.jpg

Figure 13: Table YSPODTP – Fields

The following entry helps and checks have to be implemented.

Figure_14_Table_YSPODTP_Entry_Help.jpg

Figure 14: Table YSPODTP – Entry Help/Check

Figure_15_Table_YSPODTP_Foreign_Key_1.jpg

Figure 15: Table YSPODTP – Foreign Key SPO InfoProvider

Figure_16_Table_YSPODTP_Foreign_Key_2.jpg

Figure 16: Table YSPODTP – Foreign Key Source System

Figure_17_Table_YSPODTP_Foreign_Key_3.jpg

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.jpg

Figure 18: Domain YSPOPARTGROUP

Domain YSPOPATTERNID – SPO Partitioning Pattern

Figure_19_Domain_YSPOPATTERNID.jpg

Figure 19: Domain YSPOPATTERNID

Domain YSPOTLOGO – SPO Object Type for DTP

Figure_20_Domain_YSPOTLOGO_1.jpg

Figure 20: Domain YSPOTLOGO

Figure_21_Domain_YSPOTLOGO_2.jpg

Figure 21: Domain YSPOTLOGO – Value Range

Data Element YSPOPARTGROUP – SPO Partition Group

Figure_22_Data_Element_YSPOPARTGROUP.jpg

Figure 22: Data Element YSPOPARTGROUP

Data Element YSPOPATTERNID – SPO Partitioning Pattern

Figure_23_Data_Element_YSPOPATTERNID.jpg

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.jpg

Figure 24: Data Element YSPOTLOGO

Search Help YSPO_DTPTEMPLATE – SPO Templates

Figure_25_Search_Help_YSP_DTPTEMPLATE.jpg

Figure 25: Search Help YSPO_DTPTEMPLATE

Assigned Tags

      Be the first to leave a comment
      You must be Logged on to comment or reply to a post.