ActiveControl offers support for branched SAP development streams, such as when a Production Support development stream is copied to a project development stream to allow project changes to be made in parallel to and independent of continuing Production Support changes.
The problem to be overcome with branched development systems is ensuring that Production Support changes are applied completely, correctly and at the right time to the project development stream. ActiveControl provides various functionality to help manage and control branched development streams as an integrated whole by:
- Tracking when changes must be applied to the project development system.
- Maximising productivity by analysing changes to determine those that can be automatically applied and those which must be manually merged because of conflicts with project work already undertaken.
- Providing a reconciliation capability to give confidence that all changes have been applied completely and without regression.
It is important to note that whilst the methodology for managing branched development systems may result in production support transport requests being imported into the project development system, such transport requests are not imported into the downstream systems of the project development stream, such as the project Quality Assurance system.
Instead, ActiveControl creates special transport requests called Merge requests (similar in nature to backup requests) in the project development system and it is these requests that are transported throughout the project development stream. This differentiation is made to reduce complexity and confusion caused by transports being source from multiple systems.
How does Merge work?
ActiveControl Merge works according to the following high-level process:
1) The original transport(s) are imported to the target development system.
2) A Merge transport (Transport of Copies) is created (not imported) in the target development system.
3) All of the objects in the original transports are put into the merge transport.
4) That new merge transport is then released and moved down the target landscape.
When should we Merge in the process?
Production support changes should only be applied to the project development stream after they have been imported into the Production system, otherwise there is a risk that the project will introduce changes that the business is either not ready for or do not want, when it goes live.
To this end, it is necessary to add the target for the project development system to the transport path for the Production Support development stream. The project development system must appear as a child of the Production system. Once changes are applied to the Production system, they will flow to the import queue of the project development system and will be automatically analysed to determine whether the changes can be applied automatically (as described further on the next page).
When production support changes reach the import queue of the project development system, ActiveControl can analyse the changes to determine if there are any conflicts with changes already made in the project development system. This is done using the ShiftLeft: Conflict Analysis (0005) analysis check
For performance reasons, ActiveControl only checks whether the changes conflict with changes already made in the target SAP system (that is, the project development system) if the target’s import option “Check whether the same content has been changed in this system before importing” is enabled. When this option is enabled, you must also specify the client in which client dependent changes are analysed. Specify the client in which you make client dependent configuration changes.
If the changes are found to conflict, then unfortunately the production support changes must be manually merged with the changes already made in the project development system. Such transport requests appear in the import queue with a blue icon to indicate that they should be manually applied.
Changes that do not conflict can be imported automatically.
Importing changes that do not conflict
Transport requests that do not conflict may be imported automatically, by selecting them in the project development system’s import queue and clicking the Import toolbar button.
If the target option “Create a merge transport request in this system after importing changes” is enabled, ActiveControl will create a special transport request, called a merge request, in the project development system after the changes of the import run have been imported. The merge request contains all the items that were on the production support transport requests and is used to transport the same changes to the downstream systems of the project development stream.
ActiveControl automatically associates the merge request with the same tasks (that is, business issues and requirements) as the production support changes. This supports later reconciliation that those business issues and requirements have been applied to the project development stream before the project goes live.
Indicating that changes have been manually applied
If ActiveControl determines that production support changes conflict with changes already made in the project development stream, then those changes should be applied manually, merging the production support changes with the project changes.
Once this activity is complete, the responsible team member must ‘inform’ ActiveControl that the changes have been manually applied and on which transport request of the project development system the changes were applied (also referred to as a merge request, however this merge request is not created automatically by ActiveControl). This is done by selecting the applicable transport requests in the project development system’s import queue and clicking on the Mark as Applied Manually option via the Actions toolbar in the Windows GUI.
By performing this Mark as Manually Applied action, ActiveControl will automatically associate the manually dual maintained transport request with the same Business Task as the original source transport.
Transporting the Merge requests
When demanded by the project, merge transport requests (either manually or automatically created) should be transported to the downstream systems of the project development stream (such as QA), most likely along with other changes made by the project. No special action is required to do this, other than to approve the Transport Forms for each of the merge requests – as must be done for all transport requests being transported via ActiveControl.