At my current project I needed a way to create Semantic Partitioning Object (SPO) via BAdI to reduce the end-of-year work. After a little search via Google (you cannot find anything on the new SAP Community Page), I found these threads.
Both were not perfect, so I build a solution between them. I also put everything via control tables, so it would be easier for the users to manage them. So let's get started.
Create own data dictionary objects
The following domains have to be implemented:
- ZSPOPARTGROUP - SPO Partition Group
- ZSPOPATTERNID - SPO Partitioning Pattern
- ZSPOTLOGO - SPO Object Type for DTP
SPO Partition Group

SPO Partitioning Pattern

SPO Object Type for DTP


After we created the domains, we have to create the following data elements:
- ZSPOPARTGROUP - SPO Partition Group
- ZSPOPATTERNID - SPO Partitioning Pattern
- ZSPOPATTERNID1 - SPO Partitioning Pattern 1
- ZSPOPATTERNID2 - SPO Partitioning Pattern 2
- ZSPOPATTERNID3 - SPO Partitioning Pattern 3
- ZSPOPATTERNID4 - SPO Partitioning Pattern 4
- ZSPOTLOGO - SPO Object Type for DTP
SPO Partition Group

SPO Partitioning Pattern

Note: The data elements ZSPOPATTERNID1, ZSPOPATTERNID2, ZSPOPATTERNID3 and ZSPOPATTERNID4 are defined like the ZSPOPATTERNID.
SPO Object Type for DTP

We also implement a search help ZSPO_DTPTEMPLATE - SPO Templates
SPO Templates

Create Transparent Tables
After all these elements are created, we can now create the following transparent tables:
- ZSPOINFOPROV - SPO BAdI Managed InfoProvider
- ZSPOPATTERN - SPO Authorized Partition Pattern
- ZSPOPATTERNT - SPO Authorized Partition Pattern Text
- ZSPOCRITERIA - SPO Pattern Partition Criteria
- ZSPODTP - SPO BAdI Managed DTP
Table ZSPOPATTERN
The following fields have to be implemented:
- PATTERNID
- INFOOBJECT

This entry helps and checks have to be implemented:


Table ZSPOPATTERNT
The following fields have to be implemented:
- LANGU
- PATTERNID
- TXTLG
- TXTSM

This entry helps and checks have to be implemented:


Table ZSPOCRITERIA
The following fields have to be implemented:
- PATTERNID
- PARTGROUP
- LOWVALUE
- HIGHVALUE

This entry helps and checks have to be implemented:

Table ZSPOINFOPROV
The following fields have to be implemented:
- SPONAME
- PATTERNID1
- PATTERNID2
- PATTERNID3
- PATTERNID4

This entry helps and checks have to be implemented:


Table ZSPODTP
The following fields have to be implemented:
- SPONAME
- OBJTYPE
- OBJNAME
- LOGSYS
- DTPTEMPLATE
- DTPTEMPLATEID

This entry helps and checks have to be implemented:




After we created all control tables, we can now create an implementation of BAdI RSLPO_BADI_PARTITIONING. How this works, can be read in Part 2.
These posts might also be interesting:
author.
I am Tobias, I write this blog since 2014, you can find me on twitter and youtube. If you want you can leave me a paypal coffee donation. You can also contact me directly if you want.



Write a comment