Fixing error with ToC in Retrofit Auto-Import for ABAP changes
-Updated on 01 Nov 2013 to include a report to create retrofit data.
I had problems during Retrofit regarding the assignment of Transport of copies in the first week of ChaRM 7.1 SP8 Golive last month. I saw people with the same error in the Discussions Forum, so here I show how we fixed this error and my understanding about how the functionality works. As a developer, I like to go deep into how things work. It’s a good to way to learn. I don’t want to spend too much time with similar errors, so it’s always good to have an idea of what is behind the scenes. Sometimes the error messages are not clear enough, they do not show you immediately the reason for the error. In this case, the message can confuse the user and unless he/she knows the complete process, it may be difficult to start searching. The reason for the error is simple and easy to fix.
The symptom is that: when you decide to retrofit the changes in ChaRM 7.1, you receive an error message “No transports of copies assigned to request for retrofit”.
For more detailed information about Enhanced Retroft and the different types (Auto-import, SCWB ad BC Sets) please refer to document http://scn.sap.com/docs/DOC-41654 and to blog http://scn.sap.com/people/hannes.kerber/blog/2013/07/06/retrofit-how-to-perform-retrofit-from-an-end-user-perspective. If all steps (ALL) are followed by you and/or your Basis team, you probably won’t have any error.
I will focus on the specific error related to Transport of Copies during Automatic Import.
I assume you implemented SAP Note Note 1468044 – Retrofit extensions – for managed systems in your managed systems.
When a transport request is released and the objects can be auto-imported, a transport of copies (ToC) is created and released (exported). This is done remotely in the development system of the maintenance landscape by function module TMW_CREATE_TRANSPORT_OF_COPIES. This function module must exist in your managed systems.
In order to create and export the ToC, it’s necessary that the target of the transport of copies is known by the development system where it’s being created, which means that if you have dual landscape and your development systems are in different domains, you need a link between the domains. If not, you will see that the ToCs are created in the development system of the maintenance landscape, but not released. Function module TMW_CREATE_TRANSPORT_OF_COPIES will be able to create the ToC, but the export part will fail. When this function module fails during the release of the transport request, you will see a warning in the application log for “Release Transport Request”:
“Internal error 8 occurred creating the retrofit data in TMW_CREATE_TRANSPORT_OF_COPIES”.
This is the first symptom that something was wrong. Or the function moduled failed, or it was not found in your managed system. Below you can see the application log in the Change UI:
If this creation and export succeed, an entry is created in table /tmwflow/tocasng. This ToC will be used by the Auto-Import functionality and will be imported into the Retrofit system (the post-processing system of your logical component).
If you have the same error and/or warning, check your development system in the maintenance landcape. If you find the ToCs created by user SMTM<SID>, where <SID> is your SolMan system, but not exported (still modifiable), enter a target (target is probably there already) and try to save.
If you have an error message “Target system XXX is unknown in the current transport configuration“, you miss a link between the different domains or, if they are in the same domain, something is wrong that one system is not “seeing” the other. If the ToC can’t be exported, it will not be added to table /tmwflow/tocasng. You will not find those modifiable ToCs in this table.
Example of ToCs:
Modifiable ( It was created but not released because we missed the domain link in the first try )
Released by the system (in this case, everything worked fine and the standard programs could create and export)
When the auto-import is finished, this table will be similar to that:
In order to create Retrofit Data for a transport request when something went wrong during the release, run standard report RETRO_SERVICE_CREATE_RFIT_DATA and pass as parameters:
– Task List (Maintenance Cycle)
– Source System/Client
– Retrofit System/Client
– Original Transport request that must be copied.