A common pain for user of SAP Netweaver BW is handling large data volumes. The larger the data volume, the longer the runtimes required for standard DSO and standard infocubes.

SAP Netweaver BW 7.3 comes with a new type of infoprovider called a semantically partitioned object ( SPO ). this allows you to partition the infocube or DSO so that the data sets are distributed over several data containers, which keeps query runtimes short even if the data volumes is large.

If you use a calendar year as partition criteria and you need to make the SPO flexible enough that changes in year are automatically reflected in your partition.

This sample scenario to create SPO due large volumes of data Infocube or DSO and it is use the fiscal year to handling change in the year and we use BadI to manage partition when year changes.

To create SPO you can use RSA1 SAP Netweaver BW Transaction code.


Create new infoprovider of ObjectType DataStore Object, Select Semantically Partitioned checkbox. Go to the OBJECT MAINTENANCE tab and input the structure of the DSO by adding the key fields, data fields and navigational attribtutes to model the DSO.

On the left panel click MAINTAIN PARTITIONS and in the next screen select the field on which you wanted to perform logical partition ( FISCAL YEAR ) in this example.


The next screen , MAINTENANCE OF CRITERIA FOR PARTITIONED OBJECT , will provide more options for defining the criteria the partitions. Using this screen you may add as many partitions as you need for partitioning field FISCAL YEAR that you’ve selected in previous step. Otherwise you can implementing BadI RSLPO_BADI_PARTITIONING for partitioning criteria.

The BadI contains three methods that can be used for creating new partitions programmatically.


Method 1: GET_T_SPO.

Entered your name of SPO Example code is as follows:

Method 2: GET_T_PART

Access the partitions of the SPO.


Access the partitioning criteria, you may code your logic to create new partitions based on the current year.

Incoming search terms: