When dealing with projects in a Solution Manager system, one can face different kind of issues related to transports. One of the most common barrier for a beginner user is to try transporting a template project between systems, but not being able due to the fact that the template project was initially created as LOCAL(within $TMP package).
To better illustrate this scenario and advise on how to act in order to transport the template project, I’ve prepared a hypothetical situation and documented it step-by-step.
Trying to collect a locally stored Template project
Access transaction SOLAR_PROJECT_ADMIN and select the template project which will be transported.
Then navigate through menu “Project -> Transport”.
Proceed with the transport parameters.
Create the request.
At this point, you face an error informing that the templates could not be included in a request.
This happens because the templates assigned to the project are stored in a local package(in this case $tmp).
So for this it is necessary to collect the templates in a transportable package, after this we’ll be able to collect the project in the request. If we try to transport the project at this point, it won’t work because the objects of the project will be all stored in $tmp and consequently they’ll not be transportable.
To proceed, we’ll need to select all the objects in that request and assign a transportable package for them.
Creating a transportable package
You’ll need a transportable package to collect the template project. For this access SE80, enter the package name and try visualizing it. A popup will appear informing it doesn’t exist yet and asking if you want to create it.
After proceeding, the package will be created.
Assigning the templates to a transportable package
Access SE03 (this step can also be done by SM30 and table TADIR) and select the option “Change Object Directory Entries”
Then in the selection screen select:
R3TR BMTE TEMPLATENAME*
R3TR BMTV TEMPLATENAME*
In case these lines are not there, you can add it.
This should bring a list of the template and the template Versions.
So select the $TMP line and press the button “Select/Deselect”.
Then Select the option Objects->reassign.
Select a transportable package you’ve created previously in SE80
After this the templates will all be assigned to the new package.
Assigning the structure of the project to a transportable package
Now it is necessary to assign the structures of the project too. For this, there are two possible options.
Create a tranport request in SOLAR_PROJECT_ADMIN for this template project. It’ll work but the objects will remain in $TMP.
Then in SE03, select the option “Change Object Directory Entries of Objects in a Request”
Then use the requested created in solar_project_admin as source and just as you did for the templates, change all these objects package to the new transportable package(see previous section “Assigning the templates to a transportable package”).
Afterwards, as a last step open the request in change mode and delete manually the object R3TR DEVC $TMP, so that the request can be released.
I personally prefer this option as it is a bit easirer.
Make sure that note: ” 1694337 Error message TK301 when you transport a Project” is implemented, or at least it’s correction code is in the source system.
Then in SOLAR_PROJECT_ADMIN make sure that a transportable package is assigned at the “Transp. Requests” tab in SOLAR_PROJECT_ADMIN for the template project and save.
Then, in SE38, run report “RSOLAR_PROJSTRUCT_UPDATE_DEVC”, enter the project’s name and run.
This changes the all the objects for that Project form $TMP to the transportable package
As a last step create the transport form SOLAR_PROJECT_ADMIN.
Important: Have in mind that the second option is the best one, as after one has implemented note # 1694337 – “Error message TK301 when you transport a Project”, there is no need anymore to change the templates “R3TR BMTE” and “R3TR BMTV” manually anymore, as this is done then by the report.