If a planner requests transaction data in change mode, the system locks the requested data exclusively for this user. BW-BPS uses the SAP lock server to do this. However it uses it in a particular way so that multidimensional data can also be locked using selection tables. This lock concept will now be explained in more detail.
Locks are created independently of the existing transaction data. The system locks exactly that data that is covered by the selection in the planning package and, where applicable, the planning layout (see below in the section “examples”).
The data that is to be locked is specified in a selection table. The selection table is created from the planning package and, where applicable, from selections from the planning layout. Every characteristic that does not exist in the planning level is therefore locked generically because summarization is performed on this characteristic. The selection table contains selections for the characteristics from the planning level. These are single values or intervals of characteristic values. However the selection cannot be restricted for one characteristic. The following rules apply:
● If variables are contained in the planning level, in the parameter groups of functions or in the planning layout, these are replaced when the selection is determined.
Replacing variables always leads to a (potentially empty) set of single values or intervals. In Customizing, take into account the fact that replacing variables of type hierarchy node, attribute, and authorization can produce an extremely large number of characteristic values:
○ Hierarchy nodes: The system calculates all characteristic values from the leaves of the selected subtree for hierarchy basis characteristic and puts these in the selection.
○ Attribute: The system reads all characteristic values for attribute selection and puts these in the selection.
○ Authorization: The system determines the authorized characteristic values. These are included in the selection table individually.
● In manual planning, the selection of characteristics in the header area is taken from the planning package. This is also the case for the characteristics in the lead columns, as long as the rows in the lead columns are not defined individually.
For data columns and individually defined rows in the planning layout (and also for comparison rows or columns) the selection comes from the planning layout.
● Key figures that are used in manual planning or in a planning function are also relevant: The key figures are seen as characteristic values for characteristic '_BKENNZAHL'.
BW-BPS uses the lock management concept of BI Integrated Planning.
Depending on the number of users working in planning in parallel and the complexity of lock requests necessitated by the modeling, you can use various techniques to manage the lock table.
● Shared object memory of an application server (default setting): better performance than the lock server.
● Lock server (present implementation in BPS): particularly suited to small and mid-size installations. This option requires the least administrative effort.
● SAP liveCache: suitable for very large installations. An SAP liveCache server has to be installed and connected.
Only use SAP liveCache in the BW lock server (see SAP Note 816730) if explicitly requested by SAP Support or Development. The shared memory solution is much easier to activate and is normally sufficient.
On the Planning Lock Settings screen (transaction RSPLSE) you can run all the lock server settings for planning. On the Locks tab page you can monitor the current lock entries.
For more information, see transaction RSPLSE or the Implementation Guide under SAP NetWeaver → Business Intelligence → BI Integrated Planning → Settings for Lock Management.
For more information, see Customizing with Reference to the Locking Concept.
The following examples illustrate the rules for locking transaction data.
The example data in the following table is used as the basis:
Example data
Year |
Customer group |
Customer |
Sales revenue |
Costs |
2004 |
IT |
SAP |
1000 |
500 |
2004 |
IT |
IBM |
2000 |
1000 |
2004 |
CARS |
BMW |
3000 |
2000 |
2004 |
CARS |
VW |
4000 |
3000 |
In the definition of the planning level the following values have been determined:
Characteristic: Key Figure:
Year = 2004 Revenue
The result would be as follows:
Results table for example 1
Year |
Sales revenue |
2004 |
10000 |
The system has locked the key figure revenue for all four records (blue area in the example data table) as all records are required to calculate the total value. Any change to one data record will cause the total value to be changed. For this reason, a data record may not be used by another user simultaneously.
In the definition of the planning level the following values have been determined:
Characteristic: Key Figure:
Customer group = CARS Costs
The result would be as follows:
Results table for example 2
Customer group |
Costs |
CARS |
5000 |
The system has locked the key figure costs for the two records for customer group “CARS” as these records are required to calculate the total value. Any change made to a data record causes the overall total to be changed. Therefore it must not be used by another user simultaneously.
In the examples given, the selection criteria are concordant with the existing records. As this is not normally the case (for example, no transaction data is available), the system creates locks on the basis of the selection criteria. This means that new records that are created during planning are also locked. In this way the system ensures that each user in an exactly specified area can change and create transaction data.