Beruflich Dokumente
Kultur Dokumente
7.2: How to work with Change Request Management Cross System Object Lock CSOL - Solution Manager - SCN Wiki
Getting Started Store
Community WIKI SAP Community Welcome, Guest Login Register Search the Community
7.2: How to work with Change Request Management Cross System Object
Lock CSOL
Created by Dolores Correa, last modified on Feb 13, 2018
Purpose
Overview
1. Activation
1.1. Globally activate the cross-system object lock
1.2. Locally activate CSOL for the managed development system
2. Configuration
2.1. Settings in the managed system
2.2. Settings in the SAP Solution Manager system: Lock conflict analysis scenarios
3. Operation
3.1. Deletion of CSOL Lock entries
3.2. Register of CSOL Lock entries
3.3. Application Log
4. Limitations
5. Troubleshooting
5.1 CSOL popup is not shown in the managed development system
5.2 SAP Solution Manager is down
5.3. Update lock entries manually
5.4. Bypass error messages for emergent changes
5.5. CSOL performance
5.6. Error NO TMS system SID (DOMAIN_SID) when saving an object in a transport request in the development managed system
6. Authorization object
7. CSOL tables
Related Content
Related Documentation
Related Notes
Purpose
With the following steps, you will be able to setup CSOL functionality for SAP Solution Manager 7.2, screenshots from a Solman 7.2 SP05 system.
In addition, I will try to give tips and tricks for the configuration of this functionality and also troubleshooting tips for the possible issues when using this functionality.
Overview
Software changes are done in one system and will be transported to the system landscape which is linked to this system by transport routes of the Transport Management System. But sometimes there
are several developers that require making parallel changes to the same workbench or customizing objects within one landscape.
The cross-system object lock ensures that when an object is changed in a managed system, it is locked in the SAP Solution Manager system. Depending on the conflict scenario, this prevents multiple
edits of the same object in different transport requests or projects at the same time. This applies to all managed systems and clients for which the cross-system lock is active.
1. A developer modifies an object in the development system and saves into a transport request created/managed by ChaRM.
2. As soon as the object is saved into a transport request some lock entries are created in the central SAP Solution Manager system containing the objects information in that request for all production
systems which it will be delivered to
3. Another developer tries to edit the same object in the same development system, or in another development system which will be delivered to at least one production system of the first
transport request, and then tries to save the change into another transport request of another change document
4. A lock conflict will raise and one popup screen with error (termination) or warning message for the second developer will be shown to inform him that the same object is currently locked by another
transport request and it is not yet imported to the production system
5. When the first transport request is successfully imported to all production systems and the first transport request no longer exists in the import queue of the production systems, then those lock entries
will be removed in the SAP Solution Manager system, and then another developer can edit those objects without any restriction. If the import is failed and you have corrected it manually, in CSOL we will
treat it the same as successfully imported request.
1. Activation
Before using CSOL functionality, it must be activated. The activation contains two parts: one is globally on the central SAP Solution Manager system; the other is locally for each different managed
development system.
https://wiki.scn.sap.com/wiki/display/SM/7.2%3A+How+to+work+with+Change+Request+Management+Cross+System+Object+Lock+CSOL 1/10
3/2/2018 7.2: How to work with Change Request Management Cross System Object Lock CSOL - Solution Manager - SCN Wiki
By executing report se38: /TMWFLOW/CONFIG_SERVICES you can decide if you want to get the ChaRM reporting at object level or not.
In the Landscape Overview tab, select your development system and client and under Upon Saving Checks select On (Legacy CSOL) or On:
- On (Legacy CSOL): only CSOL checks will be performed at saving an object into a transport request associated to a ChaRM cycle- ChaRM document.
- On: other checks than CSOL like White List objects check will be done in the Upon Saving transport-related checks.
1.In the managed development system, SAP Note 2402504 - ChaRM: Back RFC Check Support is implemented.
2.In the managed development system the most recent Solution Tools Plug-In (ST-PI) is installed. The required minimum version is ST-PI 2008_1_7xx SP 16 or ST-PI 740 SP 6, respectively.
A system with the clients will appear in the Landscape Overview tab if the system is used in a ChaRM cycle.
Note: If you get error “No RFC authorization for function module /SDF/TMW_CHECK_READ_CFG” when setting the Upon-Saving Checks to On or On (Legacy CSOL) then check if you have a dump in
st22 like RFC_NO_AUTHORITY "No RFC authorization for function module "/SDF/TMW_CHECK_READ_CFG".
https://wiki.scn.sap.com/wiki/display/SM/7.2%3A+How+to+work+with+Change+Request+Management+Cross+System+Object+Lock+CSOL 2/10
3/2/2018 7.2: How to work with Change Request Management Cross System Object Lock CSOL - Solution Manager - SCN Wiki
What happened?
User "SMTMSID" in client XXX attempted to execute function module "/SDF/TMW_CHECK_READ_CFG" from function group "/SDF/TMW_TRANS_CHECKS", but does not have the relevant RFC
authorization.
SMTMSID is the user for the TMW RFC destination from the Solman to the managed system:client, check the profile SAP_SOLMAN_READ_702 according to SAP Note 2257213 -Authorizations for RFC
users as of SAP Solution Manager 7.2 SP02
Note: If you get error "Fail to switch the Upon-Saving Checks for the system SID.." "No administration authorization in Change and Transport System" TK620
Please see KBA 2424269 - Fail to switch the Cross-System Object Lock check for the system
2. Configuration
2.1. Settings in the managed system
In the managed system you need to create a SOL_CONNECT entry in /nSM30 > bcos_cust:
In the example the RFC Connection is pointing to the Solman system XXX:001 where the lock entries are saved, and also where ChaRM is configured.
You will require either a trusted system connection from managed to solman system, or you have to create an RFC connection with a special user of the type 'S' (Service). Assign the service user at least
the SAPSOLMANTMWCOL role. See KBA 2004134 - CSOL - RFC from managed system to Solution Manager system.
2.2. Settings in the SAP Solution Manager system: Lock conflict analysis scenarios
When you are activating CSOL globally, you can see these options:
The following aspects will be considered when determining the message type for CSOL conflict popup:
Cycle Relation (Same cycle/Different cycle): Cycles to which transport requests are assigned
Cross: Transport requests belong to the same cycle or to different cycles (Cycle(s) are ignored)
Change Type Relation (Change Transaction Type, also for QGM changes)
Partial Overlapping: At least one of the two transport requests belongs to an urgent change
Overlapping: Always (System ignores the type of change to which the transport requests belong)
https://wiki.scn.sap.com/wiki/display/SM/7.2%3A+How+to+work+with+Change+Request+Management+Cross+System+Object+Lock+CSOL 3/10
3/2/2018 7.2: How to work with Change Request Management Cross System Object Lock CSOL - Solution Manager - SCN Wiki
The selected lock conflict analysis scenario will determine the message type when the object lock has been found.
If you select Warning Only the previous settings are ignored and always a warning message is displayed for all conflicts.
You can use the track-specific configuration to specify cross-system object lock (CSOL) configuration for each managed development system. These settings will override the general settings made when
you activate CSOL globally.
You can specify the scope of each configuration row by the following categories:
•Landscape
•Branch
•Cycle type
You can use an asterisk (“*”) in these categories to let the configuration row match all possible values of the category.
For example, if you specify landscape “*”, branch “*”, cycle type “*”, managed development system name “DV1”, type “ABAP”, client “100”, the configuration row applies to all CSOL checks for transport
requests created from the specified development system.
If you specify landscape “LANDSCAPE1”, branch “MAINTENANCE”, cycle type “*”, managed development system name/type/client “*”, the configuration row applies to all CSOL checks for transport
requests that belong to cycles using the specified change control landscape and branch.
By clicking in the Information button, you will get a detailed description of the lock conflict scenarios.
There is an enhancement of integration between CSOL and transport organizer introduced in SAP Notes 1895691 and 1900560. Previously CSOL is only able to prevent the change if it is done in official
transport request saving popup. After both SAP Notes are implemented, system will be able to issue a warning/error before the change is started when the object is switched to edit mode, and even if the
change is carried out manually in transport organizer transactions such as SE01 or SE09.
3. Operation
As soon as a developer modifies an object in the development system and saves it into a transport request created/managed by ChaRM, some lock entries will be created on the central SAP Solution
Manager system, by using the configured RFC in BCOS_CUST, containing the objects information in that request for all production systems which it will be delivered to.
The Change Manager can monitor all CSOL lock entries in Administration Cockpit in tab Cross-System Object Locks by choosing the appropriate search criteria:
https://wiki.scn.sap.com/wiki/display/SM/7.2%3A+How+to+work+with+Change+Request+Management+Cross+System+Object+Lock+CSOL 4/10
3/2/2018 7.2: How to work with Change Request Management Cross System Object Lock CSOL - Solution Manager - SCN Wiki
Here the key fields are the production system/client, which means CSOL can only be used when the cycle contains at least one production system (even if it is a virtual system). If your cycle does not have
a production system you cannot used CSOL.
If the changed object is a workbench object, then only if the transport request is released another user can try to modify the same object for another time and save into a different transport request.
However, if the changed object is a customizing object then another user can try to modify the same object for another time and save into a different transport request even when the first transport request
is not released. But notice that when the first transport request is released what it is released if the active version of the customizing object at the release time.
When somebody tries to modify the same object for another time, the system will issue a popup to remind the user that this object is already locked in another transport request. If the popup is a warning
message, then the second change can still be saved and some new lock entries will be created; if the popup is an error message, then the second change cannot be performed.
In Transport-Generic popup you can find the developer’s user account who was locking that object, together with the transport requests number which were used, and the ChaRM cycle ID where those
transport requests were created.
finalized and the object lock will be deleted automatically in CSOL. Then another developer can edit those objects without any restriction.
If the import is failed and you have corrected it manually, in CSOL we will treat it the same as successfully imported request.
Besides that, user also can delete the locks manually but using the Remove icon, Several entries can be selected and remove at the same time:
https://wiki.scn.sap.com/wiki/display/SM/7.2%3A+How+to+work+with+Change+Request+Management+Cross+System+Object+Lock+CSOL 5/10
3/2/2018 7.2: How to work with Change Request Management Cross System Object Lock CSOL - Solution Manager - SCN Wiki
This normally is needed when there are emergent changes which are blocked by existing CSOL locks. Authorization object SM_CM_DGPN will be checked for this deletion action.
Optionally, you may enter a TR with wildcard to reduce the searching scope.
You may enable the E-Mail notification functionality, so once the newly registered lock entries got CSOL conflicts, an E-Mail will be sent containing CSOL conflict list.
Hint: by default, if the TR was contained by a QGM Change/Urgent Change, the corresponding Change Manager will be automatically notified by E-mail. (Prerequisites are the email account has been
maintained in the BP of the Change Manager.) An external receiver can be named with Additional E-Mail field. (Currently only email accounts within SAP domain can be supported.)
4. Limitations
In SAP Solution Manager 7.2 the CSOL functionality does not support non-ABAP changes.
5. Troubleshooting
https://wiki.scn.sap.com/wiki/display/SM/7.2%3A+How+to+work+with+Change+Request+Management+Cross+System+Object+Lock+CSOL 6/10
3/2/2018 7.2: How to work with Change Request Management Cross System Object Lock CSOL - Solution Manager - SCN Wiki
5.1 CSOL popup is not shown in the managed development system
If Upon-Saving Checks are set to ON (Legacy CSOL) execute report TMW_CONTROL_PROJECT_LOCK in transaction SE38 on your development system and select option Read Client Data "X":
You will see if the CSOL is activated or not for the system:client where you are running the report, if it is activated you will see entry CSL X, and also the used RFC connection to the SAP Solution
Manager where the lock entry is stored.
In the case that the CSOL is not activated you can run the same report with option Activate Project Lock.
If the CSOL popup still is not coming when editing/saving an object that already has a lock entry check that CSOL is globally activated.
If Upon-Saving Checks are set to ON then you need to run report above and also the same for report /SDF/TMW_CONTROL_BACK_RFC_CHK.
No CSOL popup will appear between two transport requests that belong to the same import group, see KBA 1995630 - No CSOL popup when working with one change document
Ensure that you created the transport requests from a change document for cycles having logical component with a production system:client filled, enter a virtual system:client if still you don´t have the
production system. If there is not a system:client indicated CSOL will not work.
Check that SAP Note 2468171 - ChaRM: Dump DBIF_RSQL_TABLE_UNKNOWN for table /SDF/TMW_ADM on shadow systems is implemented.
If you have activated Cross System Object Lock functionality on your development system, then when your SAP Solution Manager system is down you will not be able to save your change to any
transport request. Under such circumstances please manually run report TMW_CONTROL_PROJECT_LOCK in transaction SE38 on your development system, and choose Deactivate Project Lock
before executing it.
If the ST-PI version of your development system is in alignment with SAP Solution Manager 7.2 SPS 5 and the Upon-Saving Checks are set to ON for this development system:client please also manually
run report /SDF/TMW_CONTROL_BACK_RFC_CHK in transaction SE38 on your development system, and choose Deactivate Back RFC Check before executing it. After that the CSOL functionality will
be deactivated locally for this development system only, please do not forget to activate it again when your SAP Solution Manager system is back.
When SAP Solution Manager is available again, you can activate the cross-system object lock by executing report TMW_CONTROL_PROJECT_LOCK selecting "Activate Project Lock" and report
/SDF/TMW_CONTROL_BACK_RFC_CHK selecting “Activate Back RFC Check”.
Run TMW_TRKORR_LOCK_UPDATE report for the transport request in which you saved objects during the inactive period or use the Register option in the Administration Cockpit.
This report must be executed by the transport request owner with the transport request number.
https://wiki.scn.sap.com/wiki/display/SM/7.2%3A+How+to+work+with+Change+Request+Management+Cross+System+Object+Lock+CSOL 7/10
3/2/2018 7.2: How to work with Change Request Management Cross System Object Lock CSOL - Solution Manager - SCN Wiki
This report will be required for example if the SAP Solution Manager system was down and you deactivate the CSOL temporarily. Therefore, this report can also be used to upload that lock information
when CSOL has been reactivated.
If you select the "Dialog mode" then you will see the same CSOL popup as when a user is doing the saving of the object to the transport request.
Register option is also possible as you can see in point 3.2. Register of CSOL Lock entries.
This SAP Note can only be implemented until SAPKITL710, however the note is given some performance hints like:
"2. You should consider cleaning up CSOL lock entries through the following steps: 1. Perform project-level import of transport requests into managed systems in their order on the transport track, finally
into the production systems; 2. Query all lock entries via the CSOL Lock Monitor, which will clean up lock entries for imported TRs.
3. Monitor the database performance (using transaction ST05) when performing a CSOL check. You can do it through one of below ways:
a) if you saw a change document opening up very slowly, re-open the change document and monitor the database performance
b) if you don't have a change document with the performance issue, but you have an existing transport request that has a low performance, make sure you have SAP Note 1643642 implemented, run
report TMW_TRKORR_LOCK_UPDATE on the managed development system, enter the request number, select "Dialogue Mode", and trace the database performance on the Solution Manager system
while executing the report
4. If the performance issue isn't related to either /TMWFLOW/TLOCKP or /TMWFLOW/TLOCKPC, then this SAP Note doesn't apply to your issue. Otherwise, update the database index for the table (or
tables) with which you have the issue.
a) For /TMWFLOW/TLOCKP, update index QRY if exists. Otherwise, consider creating a new index in this name, and remove all old indexes that are not in use. The index should have below fields in the
listed order: hiobject, prod_sys, prod_client, sys, client, lasttrkorr, hikey, lokey.
b) For /TMWFLOW/TLOCKPC, update index R01 if exists. Otherwise, consider creating a new index in this name, and remove all old indexes that are not in use. The index should have below fields in the
listed order: tabname, prod_sys, prod_client, sys, client, lasttrkorr, hikey, lokey.
5. If you're using an Oracle database management system, set the following Oracle parameter in the system:alter system set "_OPTIMIZER_SKIP_SCAN_ENABLED" = FALSE scope = both; For this
parameter, refer to SAP Note 1577484."
Read also SAP Note 2073071 - DGP: performance issues and resolution carefully. This SAP Note if for DGP, but DGP is based on the CSOL entries for some checks like transport request release so it is
relevant here.
Try to keep the number of entries in tables /TMWFLOW/TLOCKP and /TMWFLOW/TLOCKPC as small than possible.
Check the number of objects of your transport request as try to keep it as small as possible.
One example, don´t use one single transport request for saving several roles, a mean one role can have for example 30 different objects.
Per each object in a transport request CSOL logic will check the already existing lock entries in table TMWFLOW/TLOCKPC for the same object.
So if you save a role in a transport request already containing let say 1000 other objects then the CSOL logic will look into table TMWFLOW/TLOCKPC for 1030 objects.
Issue: You get message "Error when getting CTS lock entries for transport requests via RFC" when try to assign a large transport in to ChaRM/QGM; typically, the number of lock entries is in this request
is above 100,000
Check whether you can split the transport request into smaller pieces and then try to assign them to ChaRM/QGM
If that is not possible, try to deactivate DGP/CSOL and then assign them to ChaRM/QGM. You may also transport this single request manually out of ChaRM/QGM"
So, check the number of lock entries for your transport request, if there are too many objects in one request, there could be performance issues.
5.6. Error NO TMS system SID (DOMAIN_SID) when saving an object in a transport request in the development managed system
It might happen that you get this error “No TMS system SID (DOMAIN_SID)” LMDB_APPLICATION 038, and then error “External error: Object not locked” STMWFLOW 026 when trying to save an object
in a transport request.
Check that the development system is listed in the Solution Manager LMDB under Transport Domains tab as the error is given by the LMDB.
https://wiki.scn.sap.com/wiki/display/SM/7.2%3A+How+to+work+with+Change+Request+Management+Cross+System+Object+Lock+CSOL 8/10
3/2/2018 7.2: How to work with Change Request Management Cross System Object Lock CSOL - Solution Manager - SCN Wiki
6. Authorization object
SM_CM_DGPN is the authorization object to control access Cross-System Object Lock functions in Change Management.
7. CSOL tables
/TMWFLOW/LOCKPCN: Project Lock Table for Customizing Objects
TMW_ADM: Table on managed system showing if system:client is having ON (Legacy CSOL) activated CID= CSL and CID_ACTIVE=X and the RFC destination to the SAP Solution Manager where the
lock entry will be saved.
/SDF/TMW_ADM: Table on managed system showing if system:client is having ON activated CID= BRC Back RFC Check
Related Content
Related Documentation
SAP Help: Cross-System Object Lock
Related Notes
Managed systems
2257213 -Authorizations for RFC users as of SAP Solution Manager 7.2 SP02
2015471 - CSOL: conflict detected for transports in the same normal change/defect correction after a new cycle is generated
https://wiki.scn.sap.com/wiki/display/SM/7.2%3A+How+to+work+with+Change+Request+Management+Cross+System+Object+Lock+CSOL 9/10
3/2/2018 7.2: How to work with Change Request Management Cross System Object Lock CSOL - Solution Manager - SCN Wiki
1826789 - Preliminary import actions are not deleting CSOL lock entries
1995804 -CSOL lock entries not deleted when working with Urgent change documents
1 Comment
Martin Verner
Hi Dolores, Thanks for this article! Good, structured and very well summarised!
https://wiki.scn.sap.com/wiki/display/SM/7.2%3A+How+to+work+with+Change+Request+Management+Cross+System+Object+Lock+CSOL 10/10