Show TOC

PartitioningLocate this document in the navigation structure


You can use partitioning to divide the entire dataset of an InfoProvider into several smaller units that are independent and redundancy-free. This separation can improve performance during the data analysis or when deleting data from the InfoProvider.


You can only implement the partitioning process by using one of the two partitioning criteria, Calendar Month (0CALMONTH) or Fiscal Year/Period (0FISCPER). The InfoProvider must contain at least one of the two InfoObjects.


If you want to partition an InfoProvider using characteristic Fiscal Year/Period (0FISCPER), you first need to set characterstic Fiscal Year Variant (0FISCVARNT) to constant.

More information: Partitioning InfoProviders Using Characteristic OFISCPER


Partitioning is supported by the following databases:

  • Database

  • IBM DB2 for z/OS

  • IBM DB2 for i

  • Oracle

  • Microsoft SQL Server

To improve the performance of DB2 for Linux, UNIX and Windows, you can use clustering.

If using IBM DB2 for i5/OS as your DB platform, you need a database version of at least V5R3M0 and need to have component DB2 Multi Systems installed. Note that BW systems with active partitioning in this system constellation can only be copied to other IBM iSeries with the SAVLIB/RSTLIB process (homogeneous system copy). If using this database, you can also partition PSA tables. You first need to activate this function using RSADMIN parameter DB4_PSA_PARTITIONING = 'X' . For more information see SAP Note 815186.



When you activate the InfoProvider, the table is saved to the database, with a number of partitions that corresponds to the value area. You can define the value area yourself.


You choose partitioning criterion 0CALMONTH and define the value area:

from 01.1998

to 12.2003

6 years * 12 months + 2 = 74 partitions created (two partitions for values that lie outside the area, that is < 01.1998 or > 12.2003).

You can also define the maximum number of partitions that can be created for this table on the database.


You choose partitioning criterion 0CALMONTH and define the value area:

from 01.1998

to 12.2003

You set the maximum number of partitions to 30 30

The value area results in: 6 years * 12 calendar months + 2 marginal partitions (to 01.1998, from 12.2003) = 74 single values.

The system creates a partition every three months (meaning a partition corresponds to exactly a quarter), meaning that 6 years * 4 partitions/year + 2 marginal partitions = 26 partitions are created in the database.

This only improves performance if the time InfoProvider's time characteristics are consistent however. In the case of partitioning with 0CALMONTH, this means that all values in a data record's 0CAL* characterstics have to match each other.


In the following example, only record 1 is consistent, while records 2 and 3 are inconsistent:

Make sure that the value area can only be changed if the InfoProvider does not contain any data. If data has already been loaded to the InfoProvider, you need to repartition.

More information: Repartitioning


We recommend "Partition on demand". This means that you should not make partitions too small or too large. If you make the time selection too small, the partitions will be too large. If the time is too far in the future, the number of partitions will be too large. We therefore recommend creating a partition for one year for example and repartitioning the InfoProvider once this has expired.


In InfoProvider maintenance, choose Start of the navigation path Extras Next navigation step DB Performance Next navigation step Partitioning End of the navigation path and define the value area. If necessary, set the maximum number of partitions.