Skip to Content
Product Information

The gCTS-Story Continues…

SAP S/4 HANA 2020 is there. It comes with new offerings and features for gCTS.

The most important one is maybe the new repository layout – we call it Layout Version 3. When you create new repositories, the new repository layout will be used, the file format will be set to JSON by default (as long as the repository is empty, you can also switch to xml if you like ) and support for table data will be included. With JSON as file format the readability of the repository content is improved.

But why is that feature that important? Do you really need it? Most probably yes – the new layout version is the prerequisite for one of the most wanted features since gCTS is out: You can now also push customizing transport requests into your Git repository and pull them into one client on the target system. Technically speaking, objects of the types TDAT and VDAT are supported – support for CDAT objects is not available yet , but we plan to include it, soon.

Using gCTS for customizing is very simple: Just enter the correct target system when creating the transport request – this is the virtual SID (vSID) that you defined when you created your repository.

You can find more details on the SAP Help Portal in the chapter Use gCTS for Customizing Data.

gCTS also takes first steps towards supporting conflict resolution

  • Automatic push and pull are not an option, if you expect conflicts and need to resolve them. Up to now, gCTS used to pull the current state of the remote repository and merge the changes into that state before pushing. The consequence of this is that changes that were provided to the remote repository from another source could be overwritten by your new push as committing and pushing were executed at once . So, the first step towards conflict resolution is to stop this behavior. Therefore, you have to set two parameters for the repository (or on system level if you want to introduce the behavior for all repositories) Disable Automatic Pull and Push
  • The Objects tab in the gCTS app provides the tools that you need to track files that cause conflicts. For conflicting files, you can open a conflict resolution UI which shows the local and the remote versions as well as a merge suggestion that you need to edit. Please check the SAP Help Portal at Use the Conflict Resolution Editor for more details

To give you an idea, what the conflict resolution UI looks like:

In addition, SAP S/4HANA 2020 comes with two improvements that help you setting up gCTS more smoothly and checking the configuration:

  • The Wizard to Enable gCTS and
  • the Health Check to get details if everything works fine or if there are issues.

Another good thing about the Enable gCTS Wizard and the Health Check: You can add them to your SAP S/4HANA 1909 system as well, by implementing a few SAP Notes or implementing a Support Package – Check the central gCTS Note 2821718 for details.

You can find many more details and links to documentation topics in the section Git-Enabled Change and Transport System of the ABAP Platform What’s new Viewer.

4 Comments
You must be Logged on to comment or reply to a post.
  • Hello Karin,

    it’s great to hear that gCTS gets enhanced and improved! We as a partner and customer look forward to this. From our experience with gCTS and after reading your post, I have some questions/feedback:

    1. Does the new JSON file format replace the XML file format in future or will SAP maintain both formats as supported? For now, I feel like XML would be a better choice than JSON so I’m a bit worried that XML will be removed in future.
    2. SAP mentioned that they want to try to become compatible with abapGit’s file format and to introduce a new file format for these purposes. Is it planned that JSON will become the new foundation for a new file format which fits this use case the best? I refer to the statements in the Statement of Direction for Continuous integration in an ABAP environment, version 1.3 from 2019.
    3. Does the branch support get enhanced too?
    4. My impression by the screenshot showing the comparison of two objects is that it becomes quickly overwhelming when you compare complex objects (many lines of code) or even branches with multiple changed objects. The comparison from abapGit, GitLab or Git itself is quite good. Could it be possible that we get that as a new feature or enhancement to better compare complex changes?
    5. Does SAP S/4 HANA 2020 get authentication methods not just for GitHub but also for GitLab and especially private Git repositories? In the past authentication wasn’t supported and the URLs were static so they didn’t fit to newer GitHub/GitLab API versions.

    I noticed that the last link to the ABAP Platform What’s new viewer is broken. It returns an error: “We’re sorry, but this content is not accessible.” Can someone fix this?

    Thank you to you and your team for making gCTS possible!

    Best Regards,

    • Hi Clemens,

      Concerning your questions:

      1. For compatibility reasons, XML will stay. Please note that Repositories that already contain objects have to stay in the format that they are. You can only switch the format for newly created repositories directly after their creation.
      2. We plan to create a new file format in gCTS that improves e.g. readability. We hope that this can then also be used by ABAPGit
      3. It depends on what you would like to do with the branches. Creating different branches and switching between branches can be done. If you need to do conflict resolution when merging, then the conflict resolution that is shown in the blog post is a first step that shall support use cases that need this feature. If you would like to do distributed development where development is done in different systems in different branches and would like to merge these developments in one branch on e.g. an integration system, then you might need some kind of registry to remember where an object originates from, then we cannot support this up to now.
      4. the conflict resolution UI is a first step to support merge scenarios where conflicts need to be resolved. It always compares single objects, not complete branches. The objects that require attention when merging are shown on the objects tab of the gCTS SAP Fiori App. You can then open the conflict resolution for each of these files and decide whether one or the other version shall win or solve the conflicts. Do you miss the color code inside that UI?
      5. gCTS in general is not restricted to a certain Git-Platform.
        You can use SSL and SSH for authentication in gCTS in SAP S/4HANA 1909. The parameter for this is CLIENT_VCS_CONNTYPE. Documentation is available in here: This also supports GitLab
        In SAP S/4HANA 2020 you can make use of user specific authentication in gCTS. Details are described in here

      concerning the link for the What’s New Viewer: it works for me…could you maybe try again?

      Hope this helps
      Kind regards
      Karin

       

      • Hi Karin,

        thank you for your prompt reply and sorry for my late reply! First of all, the link does work for me now. Seems like someone did fix this or it was some temporary issue :). My colleagues had issues with this link before too.

        4. I see two places where this object comparison makes sense: a) Having a conflict in a merge to fix and b) You want to see the differences between objects between two commits or branches. It would be nice if you have a nice overview for all the changes; not just one by one in a single object/file. An example for this would be the great split or unified diff view of abapGit.

        5. There were technical limitations in the gCTS SAP standard regarding these points so we had to modify the SAP standard on our own. SAP support confirmed that there was no solution for that yet, beside implementing your own changes.

        We will make sure that we take a look at the new gCTS versions to see all the new features and details.

        Thank you!

        Best Regards,