Purpose
With the following steps you will be able to create a test landscape to practice with the Enhanced Retrofit functionality in SAP Solution Manager 7.1 without creating interferences with real TMS landscapes.
Also I will try to give tips and tricks for the configuration of this scenario in SAP Solution Manager 7.1.
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 it is necessary to implement these changes into another system landscape but without using the import function of the transport requests.
Imagine this scenario with a Maintenance landscape and also an Implementation landscape, PRD would be the system that is already go live.
Now you want to implement a new functionality, you will use a second development system DV2 to work in this new implementation, by working in DV2 you will not disturb the maintenance of the PRD done in DV1 system.
Usually DV2 and QA2 are created initially as system copy from PRD system.
If a change is done in DV1 this change must be done also in the DV2 to maintain the synchronization, this is the reason of retrofit functionality, to help in getting the change
done in DV1 arrives to DV2.
Changes of a Maintenance project also should be duplicated in a Implementation Project that will provide the same Production system of the landscape finally.
The main new features and advantages of the Enhanced Retrofit Functionality can be summarized to:
1. Automatic Categorization of Objects (Auto Import, Semi-automatic, and Manual)
The categorization takes place after the release of a transport request. The release creates the retrofit data.
- Auto Import (Support of 100% of transportable objects!):
- Applies for all Objects of a Transport Request which have no conflict. They have not been changed in the retrofit system so there is not CSOL lock entry for them in the solman system.
- Retrofit is performed through a transport of copies which is automatically created and released and contains only the objects without conflicts (retrofit tool imports this transport of copies into the retrofit system).
- Semi-Automatic Retrofit with Correction Workbench (Note Assistant) or BC-Sets
- Applies for all Objects of a Transport Request which have a conflict and which are supported by one of the tools (Repository Objects with Correction Workbench, customizing via BC-Sets). This was available with the “old” version of the retrofit (supportability of 70-80% of objects)
- Both tools offer the possibility to do adjustments, which are necessary in case of a conflict to not simply overwrite a change in the Implementation Project (Release Development)
- Manual Retrofit
- Objects with conflicts which have no tool support
2. Conflict Detection is performed via Cross System Object Lock CSOL at object level
- Possibility to perform retrofit on object level
3. Detection of technical sequence dependencies
- Detection of same objects to be retrofitted in which order
- Advanced Control of Retrofit Sequence
4. Additional Features
- Enhanced Logging of Messages
- Comparison of compatible objects before retrofitting
- Various Customizing Possibilities
- Implementation of Customer Specific Requirements via Standard SAP BADIs
The Retrofit as it exists with Solution Manager 7.0 EHP 1 will still be available in Solution Manager 7.1, the new functionalities of Enhanced Retrofit can be activated
separately per user, therefore do not have to be used if they are not required.
1. Configuration
The configurations given here are valid for Solution Manager 7.1.
1.1. Enhanced Retrofit customizing
1.1.1. Go to spro and run this point “Activation of Retrofit” if you want to use the enhanced retrofit:
This is activating EXTENDED retrofit.
SM30: /TMWFLOW/EXTUSR
If you are moving from standard retrofit to enhanced retrofit you can activate enhanced retrofit for some specific users.
By adding * as the only entry the new retrofit is activated for all users.
1.1.2. Maintenance of Retrofit parameter: SM30 ->/TMWFLOW/RCONFIG
1.1.3. Status Customizing for retrofit objects: SM30 ->/TMWFLOW/EDT_CST
It is possible to allow or forbid certain manual changes to the objects inside the retrofit object list of a transport request.
1.1.4. Badis
BADI /TMWFLOW/RETRO_RELEASE: this badi can be used to influence the Retrofit behavior during the release (creation of the retrofit data)
BADI /TMWFLOW/RETRO_DURING_RETROFIT: this badi can be used to influence the behavior when the Retrofit screen is visible
BADI /TMWFLOW/RETRO_AFTER_RETROFIT: BADI methods are processed after the retrofit has been completed/processed
1.2. Prepare the logical components and the projects
1. 2.1. Create the additional clients
I will create these landscapes in TMS:
Maintenance landscape: SS7:100->SS7:200->SS7:300
Implementation landscape: SS7:101->SS7:200->SS7:300
Ensure that there are consolidation routes (client dependent) from your development system to the quality assurance system and your quality assurance systems are linked to the production systems via delivery routes (client dependent).
1.2.2. Domain links
Also establish a domain link between the two TMS landscapes!!! The maintenance TMS landscape and the TMS implementation landscape (if not you will have later problems to import the TOC created in 100 to client 101).
There must be a domain link from solman domain controller to these two TMS landscape too.
1.2.3. Create the RFC destination for the new clients in lmdb
1.2.4. Run “Read System Data Remote” in the domain controller of each TMS landscape to refresh the system data in SMSY, in SS7 in our example:
Note: There must not be any client with production role for this example scenario, if not the BC set could not be activated in the retrofit system.
1.2.5. Create the ibase component for SS7:101 by running report _CRM_IBASE_GENERATE_71 for SS7 system.
1.2.6. Create two new logical components, one for the existing Maintenance landscape with a new system with role Retrofit and a second logical component for the implementation landscape:
In a real scenario you will have for example:
Maintenance landscape: DV1->QA1->PRD
Implementation landscape: DV2->QA2 -> ….
From QA2 you could have a VIR system as production system or you can have DV2->QA2->DV1->QA1->PRD
Finally the new implementation changes, TRs created in DV2, need to arrive to PRD, however you can decide in which way to get these TRs imported into PRD. Depending on this decision you can create an implementation landscape slike:
DV2->QA2->VIR
DEV2->QA2->DV1
DV2->QA2->DV1->QA1->PRD
1.2.7. Create a maintenance project in transaction SOLAR_PROJECT_ADMIN containing the created logical components:
Note: You could also create 2 projects: maintenance project 1 for the maintenance landscape including the retrofit system and a implementation project 2 for the implementation landscape.
Create the IMG projects for both development systems:
Go to 'Change Requests' and mark 'Activate Change Requests Management'. Save your project. Now press 'Generate Task List'. When the task list is generated, you will be prompted to enter the task list.
In the task list notice that you need to have two project tracks one per each source system and a Post-Processing System (Retrofit system):
Lock/unlock groups for all project tracks and for the System Without Transport Connection and move the maintenance cycle SMNN to development with release.
In the General Task there is a task called “Assignments of Postprocessing Systems to Development Systems”, if you execute it you will see:
You can change the assignments at any time by starting this task again. Really you only need execute this if more than one post processing system exists.
1.3. CSOL activation
We
need to activate CSOL for the retrofit development system and also globally.
The point is that you need to get a lock entry in /n/tmwflow/lockmon for any object you change in the retrofit system, in the development system DV2 of the implementation landscape, SS7:101 in our scenario.
Then if the same object is modified in the DV1 system, SS7:100, the lock is detected and autoimport retrofit option will not be available for this object.
In the retrofit system you need to create this entry:
Sm30: bcos_cust
Any object saved in a transport request associated to a M* will create an entry in table /tmwflow/lockmon in the solman system, the RFC used to write this entry
is the RFC used in this SOL_CONNECT application.
For the cross-system object lock, you require either a trusted system connection, 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.
- Activate the cross-system object lock for the retrofit system in /TMWFLOW/CMSCONF
Note: Sys.Change Option should be modifiable
Note: In case of problems here check note 1584174“CSOL: RFC to client 000 is required for activation in case of problems seeing all clients” and check also the
authorizations of users used in READ RFC destination from solman system to this retrofit system, client 000
- Globally activate the cross-system object lock
In solman 7.1 SP05: Call /TMWFLOW/CONFIG_LOCK
You can select the Default settings for CSOL or make your selection in the Expert mode. The only important point from Retrofit point of view is that the CSOL is
activated to detect the changes done in the retrofit system by the entry written in the /n/tmwflow/lockmon.
In previous 7.1 patch levels execute se38: /TMWFLOW/CONFIG_SERVICES
1.4. RFCs connections required for Retrofit
According to note 1175098, the following retrofit RFCs will be created automatically:
- CWBADM_<SID>_<client> - from retrofit system (implementation project dev system), from SS7:101 to SS7:100 in our scenario CWBADM_SS7_100
Used by the SAP Correction Workbench, SCWB is doing a remote delta comparison from the retrofit system with the development system.
Therefore a trusted RFC-Connection from Retrofit System to Development System needs to be established. The SAP Correction Workbench is tool used by the
retrofit.
- RETRO_<SID>_<client> - from maintenance project dev system to retrofit system, from SS7:100 to SS7:101 in our scenario RETRO_SS7_101
Used by the BC-Set tool, BC-Set tool is locally created on the development system, during the retrofit process it is transferred to the retrofit system and activated there. To support this process it is necessary to establish an RFC Connection from Development System to Retrofit System.
Check if the retrofit RFCs are created automatically when you perform the first retrofit activity with SCWB and BC-Set.
User executing this first retrofit activity needs to have enough authorization to create RFC destinations on the managed system(s).
See also:
Note 1484719 Retrofit - Retrofit failed because of RFC-Destination
Note 1175098
2. Retrofit Workflow
You can start the retrofit process from:
- An urgent change when the status is “Authorized for Production” from the Action list
- A normal change when the status is “Successfully Tested “ from the Action list
- The task list that contains the logical component with the retrofit system
We are going to see examples for the use of auto import, semi-automatic and manual retrofit.
The main point for determining which kind of retrofit can be used is the time of the released of the transport request in DV1 (SS7:100 in our example).
At the point of the release of the transport request we check if there is a conflict with the target retrofit system, is there is a lock entry for the same object or not.
Case 1. Auto Import
No conflict (lock entry) exists then auto import can be used for customizing and workbench transport requests.
The objects included in the TR released in DV1 have not been changed in the retrofit system DV2 so there is not lock entry for them in the solman system.
At the time of the release a transport of copies is automatically created and released and contains only the objects without conflicts ( owner of this TOC is the user used in the
TWF RFC destination from solman to DV1, SM_SS7CLNT100_TMW in our case).
The target of this TOC will be the retrofit system SS7:101.
Later when you start the retrofit you need to select a TR created in the retrofit system SS7:101
Retrofit auto import tool will import this transport of copies into the retrofit system, changes will arrive in retrofit system and objects will be recorded in the retrofit request in SS7:101. After a successful import the status of the request is set to Retrofitted automatically.
Steps:
1. Create a TR for SS7:100 in the task list directly and enter there a change done to sm30: T005A, release the task
This is the faster way to test this functionality but you always can create a change document to make the same steps from the change document, urgent or normal change.
Request SS7K900163 created
I save the change to TR*163
I release the task.
2. Release the TR from the task list
Is there a lock entry in solman system in /tmwflow/lockmon? NO!
Then a TOC will be created and exported at the time the TR is exported, you can check this in table /TMWFLOW/TOCASNG.
Target system is the retrofit system:
3. Now I create a TR in SS7:101 to retrofit this object into a TR in SS7:101
Request SS7K900168 created
4. Start retrofit from the task list:
I select the TR in 101 where I want to save the content of the TOC and then I click on Auto-import button.
Notice that under critical Retrofit column you have a GREEN bullet, this is because solman system already knows that there is not a lock for same object in retrofit system so
solman can use auto import retrofit tool.
Additional Function->Display logs:
TR SS7*168 is getting the content of the TOC:
As the TOC is imported:
For getting this working I activated parameter WARN_TOC, as the source and target sytem is the same one and the import of the TR finished with RC 4.
Maintenance of Retrofit parameter: SM30 ->/TMWFLOW/RCONFIG
If parameter NO_CSOL is inactive then a lock entry will be created as now the object is really changed in SS7:101
Release this TR *168, we are going to use same object for case 2 as we already have a lock entry now.
Case 2. Semi-Automatic Retrofit with Correction Workbench (Note Assistant) or BC-Sets- Standard retrofit
Conflict (lock entry) exists then SCWB/BC-Set tools needs to be used
We call this “standard retrofit”, the one used in SAP Solution Manager 7.0.
The objects included in the TR released in DV1 have been changed in the retrofit system DV2 so there is a lock entry for them in the solman system.
At the time of the release solman system detects this lock and a BC-set will be created in SS7:100 system.
Later when you start the retrofit via BC-Set you need to select a TR created in the retrofit system SS7:101 to move the changes done in 100.
Retrofit with BC-Set tool will create and activate the corresponding BC-Set ZCHARM* in the retrofit system, changes will arrive in retrofit system and objects will be recorded in the retrofit request in SS7:101. After a successful import the status of the request is set to Retrofitted automatically.
Steps:
1. Create a TR for SS7:100 in the task list directly and enter there a change done to sm30: T005A for entry 910 again. Then release the task
Request SS7K900170 created (in SS7:100)
SM30->T005A
I save the change in TR *170 and release the task
2. Release the TR *170 from the task list
At the release time now the BC set is created in SS7:100
See in SS7:100 in /nscpr20 that BC is created
Ensure that user creating the BCset is having Utilities (M)->User settings ->Maint. Transaction->Deletion Functionality is Switch On
3. Create a TR for SS7:101
Request SS7K900172 created in SS7:101
4. Start retrofit from the task list
See that the lock is detected and Critical Retrofit is having a YELLOW triangle.
Transfer with BC Set or Retrofit for all Categories:
Note: If the object is in an open TR the retrofit will be cancel with a warning, this would happen if you forgot to release TR *168 in SS7:101.
This is the text of T005A for 910 entry.
In SS7:101 you can see the BC Set created and activated
A new entry is created in /tmwflow/lockmon
Case 3. Manual Retrofit
Conflict (lock entry) exists and object is not supporting SCWB/BC-Set- Manual retrofit
Objects with conflicts which have no tool support
The objects included in the TR released in DV1 have been changed in the retrofit system DV2 so there is a lock entry for them in the solman system.
Step1. Create a change for view V_CLG in the retrofit system SS7:101
Request SS7K900174 created in SS7:101 from task list
An entry is written in solman in /tmwflow/lockmon:
I go to see if this view supports BCset or not: /nSOBJ
Step2. Create a TR in SS7:100 and modify the same entry for the view V_CLG
Request SS7K900176 created in SS7:100
I release the task and then the TR from the task list:
Step3. Create a new TR in SS7:101 for being used for the retrofit of TR *176
Request SS7K900178 created
Step4. Now when we start the retrofit the line has icon RED.
Enter the retrofit TR:
Additional Functions->Object list
Compare Object
Select Retrofit Manual
Hints
If Development Systems, DV1 and DV2 retrofit, are in Different Domains ensure that you create a domain link between the two domains. If transport groups are also different you need to forward the create TOC to the retrofit system.
The retrofit for NON-ABAP (e.g. Java, Business Objects, HANA Content) is not supported at the moment.
Retrofit tables
/TMWFLOW/RFITC : Central Retrofit Table which contains all information relevant for the retrofit of this transport, such as overall category, retrofit status and time
/TMWFLOW/R_TROBJ: List of all objects to be retrofitted, related to their transport. All information about an object is stored, such as sequence dependency, category, impl. status etc.
/TMWFLOW/TOCASNG:Represents the connection between a transport request and the corresponding ToCs if existing. Return Code and active flag for a ToC are stored as well.
/TMWFLOW/R_ARC: List of all objects already retrofitted.
Related Content
Related Documentation
http://help.sap.com/saphelp_sm71_sp08/helpdata/en/a3/0aae435a1342e8a56998d83a797161/content.htm
For the configuration and use of the Standard Retrofit please see:
- Note 1520678 attached file ChaRM_ST400_Retrofit_part*.rar
- SDN blog: Change Request Management scenario: Retrofit Functionality
Related Notes
Managed systems:
1703391 v10 General note for managed systems in Change Management
1468044 v14 Retrofit extensions - for managed systems
Solution Manager system:
1175098 v3 Change Request Management retrofit configuration
1818628 Retrofit Conflict Calculation