Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
Karin
Product and Topic Expert
Product and Topic Expert
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.


Idea of Registry


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.


How collaboration works


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.
18 Comments
former_member782163
Discoverer
0 Kudos
Hi Karin,

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?

Kind regards

Klauss
Hi Klauss,

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.

Best regards
Matthias
asankadl
Participant
0 Kudos
Hi Karin,

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?

Please explain.

Thank you!

Asanka.
Karin
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hi Asanka,

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/f319b168e87e42149e25e1... describes gCTS for onPremise.

Kind regards
karin
asankadl
Participant
0 Kudos
Hi Karin,

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?

 

Thanks,

Asanka.
Karin
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hi Asanka,

yes, that's correct.

Kind regards
Karin
wagener-mark
Contributor
0 Kudos

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: 

Up to now, the registry is not integrated in any process of releasing a transport request or in developing at all. We plan to publish a blog post on how this can be done by implementing a BAdI, soon

Best regards,

Mark

Karin
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hi Mark,

 

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

Kind regards

Karin
adtygpt1
Explorer
0 Kudos

Hi Karin,

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.

 

 

Kind Regards,

Aditya Gupta

Karin
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hi Aditya,

if you used the config.yml from the openSAP course, please make sure that the indentations are correct:
general:                  
steps:
gctsDeploy:
host: "<host_value>"
client: "<client_value>"
abapCredentialsId: "<cred_value>"
repository: "<repo_value>"
remoteRepositoryURL: "<url_value>"
role: "<role_value>"
vSID: "<vsid_value>"
verbose: true
type: "GITHUB"
rollback: false


Kind regards

Karin
adtygpt1
Explorer
0 Kudos

HI Karin,

This is the YAML FILE i am using for the configuration.

Please let me know if anything i am missing or wrong.

Regards,

Aditya Gupta

Karin
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hi Aditya,

your file seems to have no indentations at all. Please follow the indentations as in my example:

kind regards

karin
adtygpt1
Explorer
0 Kudos

Hi Karin,

 

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.

Regards,

Aditya Gupta

Karin
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hi Aditya,

 

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?

 

Kind regards
Karin
faba002
Explorer
0 Kudos
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

Kind Regards
Fabian De Greef
Karin
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hi Fabian,

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

Kind regards
Karin
skodavalla
Discoverer
0 Kudos
Hi,

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,

Subba
Karin
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hi Subba,

 

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/26c9c6c5a89244cb9506c25...

Kind regards

Karin