Skip to Content
Technical Articles

Organize transport requests using projects

Optimize release cycles by organizing your SAP transports

CTS: Change and Transport System

The Change and Transport System (CTS) is a tool built into SAP systems. CTS helps organize development projects in ABAP Workbench and customizing and then transporting the changes between the SAP systems in the system landscape. Everyone working on developing or maintaining processes within an SAP system works with (parts of) CTS. This includes functional consultants, technical consultants, and system administrators.

Projects

About projects in CTS

Using CTS projects allows planning development work and customizing activities in structured groups. Changes are structured independently of each other in different projects and can be imported independently into target systems. Projects are a valuable tool for going live with different projects at different times, linking development work in a single area, or simply keeping track of all transports for a specific change or release cycle.

Creating Projects

Transaction SPRO_ADMIN

In order to enjoy more extensive project management functionality than just grouping transports, it is best to create a CTS Project based on an IMG (Customizing) Project. Achieve this via transaction SPRO_ADMIN.

    • Execute transaction SPRO_ADMIN, click the left-most button, Create Project (F5), and fill in a project name. Note that project names are limited to 10 characters.
      Creating a project with transaction SPRO_ADMIN

 

  • Add a project title/description. Optionally define other attributes such as scope and team members.
  • Save the project via the Save button or the keyboard combination Ctrl+S.
  • Enable CTS functions for the IMG project to allow managing transport requests. Open the Transp. Requests tab and click the button labeled ‘Active CTS Functions’.
    The button 'Activate CTS Functions' transaction SPRO_ADMIN

     

    Activating CTS project functions in transaction SPRO_ADMIN

That’s it. The newly created project can now be assigned to transport requests.

Report RSWBO_AUX_PROJECT

The report works just as its description suggests: ‘Use CTS Projects Without IMG’. The report allows creating, deleting, and editing CTS projects and their descriptions without creating a corresponding IMG project first.
It’s important to note that customers cannot use these ‘barebone’ CTS projects for fully-fledged project management. The reports’ documentation says the following:

This report program was written for temporary usage of the CTS project functions. You normally use the IMG Project System to create CTS projects. This report lets you use the CTS project functions without involving the IMG Project System. You can create, edit and complete test projects. This report is in no way intended to replace a proper project system.

Apart from the above, the report can show a list of all requests for a given project and the Project Piece List. The project piece list contains all of the objects impacted in a project. When requests are released, the object list of the request is added to the piece list.

 

Creating a project with report RSWBO_AUX_PROJECT

 

To create a project with RSWBO_AUX_PROJECT, first, execute the report and press the Create button (1). Next, enter a description for the project (2) and confirm the creation. That’s it. The newly created project can now be assigned to transport requests.

Assigning projects to transport requests

After creating at least one CTS project, transport requests can be assigned to a project in the Transport Organizer during the creation or editing of a project.

Assigning a project during transport request creation in the Transport Organizer

 

Assigning a project when changing a transport request in the Transport Organizer

As mentioned by Maximilien Fourmy in the comments below, it is possible to make assigning a project mandatory when creating a transport request. This is achieved by changing the settings for attribute SAP_CTS_PROJECT in transaction SE03 (Transport Organizer Tools) under “Display/Change Request Attributes”.


CTS Projects vs IMG Projects

There are two options for CTS projects. Barebone CTS projects are an excellent tool for release management. They allow organizing and bundling transport requests and easily importing them all in one go. IMG projects with CTS functions enabled, on the other hand, offer the same features plus a bunch of extra project management features. These include defining project scope, specifying projects start and end dates, and assigning team members to projects.

In conclusion, creating IMG projects is best practice and recommended when additional project management features are desirable. However, if your organization does not yet use IMG projects and you are looking for a way to organize transports as a development team, then basic CTS projects may well be sufficient. They will allow you to experiment without the extra bells and whistles.

Further reading

Conclusion

This post touches on projects and transports in SAP. You learned how to create projects and how to use them to group transport requests. You also know the difference between IMG projects and CTS projects. Want more information? Be sure to check out the links above.

Are you already using projects to manage releases at your company or customer?
Got any tips to share? Post it in the comments 👇

11 Comments
You must be Logged on to comment or reply to a post.
  • Great blog !

    Also if you want to make the Project mandatory when creating a Transport Request, you can do it by changing the settings of attribute SAP_CTS_PROJECT in SE03->Display/Change Request Attributes.

    Max

  • I find myself being lazy this morning.  I like many of you have most of my data in a quality box.  It is not in my development box.  Just the basics are in the development box.   So once complete configuration is transported.  Not in a grouped transport because all the configuration might not be able to go.  Development transports are transported via copies.  So we don't have too many transports.  When I think of a project, I can see how I could easily still transport copies, but not how I could get some of my configuration to quality and leave some of it on development.  I still want it to go into PRD as one project.  But I want to test some things in quality before it moves.

    So back to being lazy.  I haven't read any of the links.  Is there a way to only transport  some of the configuration in a project?

    Another thing I'm thinking about - I was at a company that started using projects.  They quickly stopped because of sorting out the configuration.   Some configuration was needed in Project 1 and Project 2.   Project 2 was ready to go to production before project 1.   Project 2 was expecting the configuration from Project 1 to be there.   And so everything was a tangled mess.  I wonder if they've done anything more detailed to fix that.  Or is it still an issue?

    • Michelle Crapo well, people do say that good developers are lazy 😉

      Is there a way to only transport some of the configuration in a project?

      You can always transport one or more transports assigned to your project to quality before moving the whole project into PRD. Doing this allows testing parts of the configuration changes in quality while leaving the rest in development.

      Some configuration was needed in Project 1 and Project 2.   Project 2 was ready to go to production before project 1. 

      Sharing objects between multiple projects is to be avoided whenever possible. However, when it is unavoidable, one tip is to ensure a technical go-live of the shared objects before any of the projects goes live. If you are lucky and they do not contain any breaking/impactful changes, that is.

      You can also make sure the shared objects are contained on one or more independent transports and define dependency relationships between these transports and a transport of each dependant project.

      From the request overview in the Transport Organizer select a request and open the menu Goto → Dependency Information.

      It will still be a mess but one that is less likely to stay under the radar (too) long 🤷‍♂️

  • Excellent!   When I get a chance, I should try this out.  It's been a REALLY long time since I've done something this way.

    But only for the larger projects.   Lately most of them have been internal code to make a 3rd party software working.  The smaller ones are what we are working on with code/config.

    There  is an advantage to being the only internal developer/configuration/functional person.  (Yes, all that is me)  I get to write up our standards when I think about it.  Of course we have outside consultants too.  But they don't usually push back much.  And when they do, it's time to stop and listen.

    • You are a developer as well as a functional analyst?
      Does that mean that if the transports go wrong, you have to clean up everything yourself? 😱
      That must be fun.

  • Hello Laurens.

     

    First of all, thank you for the post, it is quite informative, including the comment here.

    I am trying to understand the pros and cons of creating a Project through IMG vs creating a CTS only Project.

    Is there any chance you could add this as a section to the main post?

    • Thanks for the feedback Foivos Gkourogiannis. I add an extra section to the post concerning the difference between IMG- and CTS-only projects.

      Creating IMG projects is best practice and recommended when additional project management features are desirable. However, if your organization does not yet use IMG projects and you are looking for a way to organize transports as a development team, then basic CTS projects may well be sufficient. They will allow you to experiment without the extra bells and whistles.

  • Laurens thank you so much!

     

    I did not expect such an immediate and to the point response! If I understand this correctly the main advantage of IMG Project is that you can organise it by functionality / area in IMG and also do some time and resource tracking.

    The whole Object checking functionality and flagging of dependencies, is brought by CTS Project when you use it in conjunction with IMG.

     

    Thank you very much once more Laurens Deprost !