gCTS in SAP S/4HANA 2021
SAP S/4HANA 2021 is released – and with it a new version of gCTS. We hope that the new and changed features are helpful for you when you work with gCTS.
In this blog post, I will ty to give an overview about the new options and what they could be used for.
The gCTS Registry
The gCTS registry has been designed to distribute objects to repositories. Up to now, the transport layer that was assigned to an object (or a package, or a transport request) was the thing that decided about the repository to which the content of a transport request got pushed. With the registry, you can now use one single transport layer for all repositories. (and no – this does not remove the option to use CTS and gCTS in parallel).
One system in your landscape has to become the ‘host’ of the registry – the system ANY in the picture below. Development systems that should work with gCTS then need to get informed about this registry. With that, you can then assign objects to a repository in all of the systems involved.
Up to now, the registry is not integrated in the standard process of releasing a transport request or in developing at all. We published a blog post on how this can be done by implementing a BAdI: Integrating gCTS with Transport Organizer processes.
We recommend that you use the registry for customizing that shall be handled via gCTS.
For configuring and using the registry, please also take a look at the SAP Help Portal.
Setting Permissions and Collaborating
New permissions –new ABAP roles, and authorization objects, as well as collaboration permissions for Git repositories – are provided. This doesn’t mean that your current roles don’t work anymore. But if you wish to differentiate a bit more on who is allowed to do what and if you would like to work in a more Git-like way for managing collaboration on repositories, you can make use of them.
If you are not an administrator, you can ask the owner of another repository to add your user as a collaborator to his repository.
The idea is the same that you might know from Git: You can create teams and add them as collaborators, or you can add single users. The teams have to be created once and can then be used for many repositories. @
Especially if you work with that concept in Git: please note that there is no synchronization mechanism between Git and gCTS concerning teams or collaborators and their respective access to repositories. You need to maintain things twice.
You can find more details on the SAP Help Portal at Authorization Concept in gCTS.
New Deployment and Import Options
gCTS has been enhanced with several options to get other object versions into your local system:
- Up to now, a new commit was created, when you solved a conflict, but if you did not decide to go for the version of the development system, that version was not available in the ABAP runtime of the development system. You can now re-deploy this solved version into your development system. This is not an automatism – so you can still keep the version that you have on the development system and continue working on it.
You can find more information on the SAP Help Portal in the topic Manually Commit Files.
- • You can start re-deployments to any system. You can either deploy the latest commit again or repeat the last repository action. Deploying the latest commit again will re-deploy the whole content of the repository again into your system. Repeating the last repository action will repeat whatever you did last. This can mean that a commit is deployed again or any other action that you did. Check the activities tab to see what happened last.
These options are helpful, for example, if you would like to import your customizing (repository) into another client.
You can find more information on the SAP Help Portal in the topic Manually Deploy Objects
- If you are currently working on an object that is about to be imported, gCTS will now inform you about this. You can then decide whether you would like to continue and overwrite the local version or if you do not import the version of the object at this point in time. The check is done when you change the active commit, switch or merge branches, manually deploy objects or commit when you solved a conflict
And there are additional enhancements and changes available in gCTS starting with SAP S/4HANA 2021 – check the What’s New-viewer at Git-Enabled Change and Transport System for more.
Could clarify the question about gCTS.
In our architecture we implement Apps (Fiori) with IDE BAS (BTP) running to deploy in onPremise (S4/ HANA 2020), using gCTS the versioned object and the compressed BSP (WAPA) in GIT?
Or do we have any option for the App version with the SAPUI5 structure?
The IDE is not able to check in the apps directly into the gCTS repository. Instead the project is build and deployed to the system. There the deployed objects are transported via gCTS.
For versioning the source project of your Fiori Apps you should use an own separate Git repository.
We have our own change management control tool. That tool manages ABAP transports from development to production deployment. How could we integrate this with gCTS? Our product is designed for On-premise SAP systems. can we use gCTS for non - Cloud ABAP systems?
what we have on offer to integrate gCTS in processes are the library steps that start with 'gCTS' in Project 'Piper' - like for example this: https://www.project-piper.io/steps/gctsDeploy/
These steps are made for onPremise. https://help.sap.com/viewer/4a368c163b08418890a406d413933ba7/202110.000/en-US/f319b168e87e42149e25e13c08d002b9.html describes gCTS for onPremise.
Thanks for the reply.
If I have gotten it right this means that yes we can use gCTS on on-premise systems provided they are SAP HANA 1909 or Greater not ECC?
yes, that's correct.
Hi Karin Spiegel I was surprised when I read "gCTS-compatible Repositories #5340"...Does gCTS in the 2021 S/4HANA Release already support the ABAP file format, or what's the ETA for that?
Unfortunately, we did not come across this restriction in any of the documentation, nor was there an error message, when trying to pull a repository from GitHub which was deployed via abapGIT (from an ECC system).
Update: 2022-03-08 I would also be happy to hear some updates on your point:
please excuse the late reply.
gCTS and abapGit do not support a common file format. I can't provide any details or dates about the roadmap for this right now - because simply I don't know..
Concerning the BAdI implementation: I have to say that we are still working on it. In the open SAP course DevOps for ABAP with gCTS in SAP S/4HANA it will be used in week 3. But the coding is not published yet. We still plan to do so
I am using HANA 2020 system and I have Performed all the steps mentioned in your blogs and Open SAP Course. But getting below error while deploying the object in quality system as Cannot Parse HTTP response. Can you please help me and let me know, what may be missing in configuration.
if you used the config.yml from the openSAP course, please make sure that the indentations are correct:
This is the YAML FILE i am using for the configuration.
Please let me know if anything i am missing or wrong.
your file seems to have no indentations at all. Please follow the indentations as in my example:
Thanks for Quick response, I have corrected the Config file as per your suggestion. I am still facing the same error, Here are the Complete log file which shows error in Jenkins. I am still not able to figure out where I am making mistake.
It would be great if you can help in any sense.
this error message now looks like you are trying to user user/password authentication. This is not supported by github any more. You can find the details in here: https://docs.github.com/en/rest/overview/other-authentication-methods
We recently also published a scenario description for gCTS on Piper: https://www.project-piper.io/scenarios/gCTS_Scenario/ Maybe that this description can also help?
Hi gCTS Community
Something is still unclear to me after following the openSAP gCTS course and reading the documentation serval times.
When you have a system landscape with for example 2 systems A and B both running gCTS.
You want to transport a programma from A to B without using the gCTS registry.
On system A you need to configure the vSID to assign the transport task to during the development.
The the unclear part: what vSID do you need on system B ?
Do you need to create a new vSID for system B
If yes: do they need to have the same name ?
During the course we used the same vSID for both Dev and Q, but is that just possible to define 2 vSIDs with the same name.
Thanks in advance for the explanation
Fabian De Greef
the recommendation is to use the same vSID both on source / development and on target systems. On target systems, the vSID is used to create the transport request when you pull a commit. If this transport requests then starts with the same vSID that is used in DEV, it is easier know what belongs together.
You can find more background information on the vSID on the SAP Help Portal
Please let me know if this doesn't help answering your question
I am exploring DevOps for SAP.
Is gCTS enabled by default? Or is there a need for license fee to be paid?
With Best Wishes,
gCTS doesn't require any additional license. It is part of the ABAP Basis.
To enable gCTS, you need to do some configuration steps. You can find them documented on the SAP Help Portal at https://help.sap.com/docs/ABAP_PLATFORM_NEW/4a368c163b08418890a406d413933ba7/26c9c6c5a89244cb9506c253d36c3fda.html