Locking Mechanism in BPS Planning called from CRM Marketing Objects
I want to share some ideas and a brief overview about how the locking mechanism for the BPS Planning is supposed to work, how this may be analyzed and how to tackle possible locking conflicts. Solutions for known issues are labeled with ℹ . This blog is related to locking conflicts only so the BPS planning integration to CRM should already be set up properly.
The BPS Planning is integrated in CRM Marketing as key figure planning application. This provides a planning functionality that allows to measure the performance of an organization, a department, a project, or other by setting plan values for important business key figures. The planning is happens in the BW system using BPS Planning.
Whenever the CRM Marketing object such as marketing plans, campaigns or trade promotions are edited, the planning cube in BW sets a lock based on the defined characteristics selection. The idea of this blog post is to provide an overview about the locking mechanism.
The locking of the planning cube is required when either accessing the planning layout or at the time of saving the marketing plan object. Once the CRM Marketing Object is edited the lock on the planning is set immediately. If the planning in BW cannot be locked, the CRM Marketing object cannot be locked either. This design is to protect data integrity.
When accessing the planning layout this is opened in edit mode per default:
Once the planning layout is opened, the planning cube is locked based on the selected characteristics. If any other user tries to access the same object, the planning layout is opened in display mode – hence no synchronization happens. The user is informed with the following error message:
Planning object is locked in BI; changes cannot be saved [CRM_KFP 009]
The lock entries are created for the characteristic selection only. When a user edits the planning layout for marketing object A, another user should be able to edit the planning for marketing object B.
There is a known error in BPS with BW Release 7.40. If a user wants to plan data for an info cube, no other user can access the same cube. This is caused by the fact that the system locks the entire cube, ignoring the characteristics selection. This locking conflict affects SAP_BW 7.40 from Support Package 2 to Support Package 5 inclusively. The locking conflict is solved either with SP 6 or with implementing the following SAP note:
If the RFC destination to the BW is defined in customizing but not existing in SM59 the following error is raised:
System <RFC_DEST> cannot be reached [CRM_MKTPL 182]
In that case the marketing plan object cannot be edited. As the connection is defined in customizing system needs to access the BW system for data integrity reasons. If the BW system cannot be reached the marketing plan object cannot be locked.
Please refer to the following KBA:
The planning layout is built based on the buying dates of the trade promotion. Once a trade promotion is saved without having buying dates assigned, there is an issue that the trade promotion cannot be edited any more since system the planning can’t be locked in BW due to the missing dates. This issue is solved with the following notes:
How is the locking mechanism working?
When accessing the CRM Marketing Object CRM calls the BW interface with the OBJECT_ENQUEUE command. Using the RFC call to the BW function module UPX_KPI_API_XML the BW system is accessed:
CRM –> BW
If the object_enqueue call is successfully locking the characteristics selection in the planning cube the following lock entries are generated. Those can be tracked using the following path in the Easy Access menu in the BW system (transaction SM12):
SAP Menu => Tools => Administration => Monitor => Lock Entries => Header 1
The lock entries are created for the RFC user that is defined in SM59 for the BW remote connection, so this is not necessarily the CRM online user.
There is no locking entry in SM12 but still planning is not possible due to an error – where is this coming from?
There is another known situation, where the user gets the following errors:
RFC error: Planning cannot be performed for real-time InfoCube 0CP_SLSCA; see long text. [CRM_KPI_PLA 205 ==> UPC 237]
Planning Services Error [CRM_KPI_PLA 203]
This is not a locking conflict but is caused by the definition of the InfoCube. The cube is obviously defined as exclusive read cube – once the cube is in read mode planning cannot be performed. The cube needs to be in write mode so planning can be performed. This is further documented in the following SAP note:
This is one of the weakness in the design of the CRM planning integration, caused by the very way BPS handles locking. The locks set by BPS will prevent to lock the same data in another BPS, or BW-IP session. Locks set by BPS will not prevent locking or updating of the data by core BW processes. For example, nothing prevents a BW administrator to change the mode of the InfoCube from Planning to Loading, while a user locks the same data by editing the Marketing Object.
There is a locking happening due to a data slice – what does this mean?
When accessing the planning layout the user gets the following errors:
RFC error: Data record is locked by data slice. [CRM_KPI_PLA 205]
Planning Services Error [CRM_KPI_PLA 203]
The data slice is defined to the planning area, and is used to protect data of the InfoCube against changes. If the data slice overlap with the characteristic selection of the CRM Marketing Object planning cannot be performed. In general Data Slices are not supported from CRM planning integration perspective.
Further information about data slices can be found in the online.help:
If the data slice overlaps with the planning selection there is no other way than deactivating the same to enable BPS planning for the CRM Marketing object.