cancel
Showing results for 
Search instead for 
Did you mean: 

gCTS limitations when only parts of objects are assigned to a transport

markograf12
Explorer

Hello,

we are intensely prototyping gCTS to learn about the pros and cons and especially the differences to abapGIT. Also very familiar with the non-ABAP world.

One outcome is, that gCTS behaves very obstinately when it recognizes only portions of an object to be registered by a transport. As an example: only a method has been tracked by the transport, but not the hole class. This situation is quite normal, when code exists, and developers do maintenance only. gCTS stops then committing this transport. Sounds safe-guarding, but in fact it produces a lot of efforts and down sides.

Solution now would be, add the underling code base to the repro by a transport, then each delta will be handled correct by gCTS.

But think twice, it will mean, that at the end nearby the hole code base, including SAP and 3rd party code need to be added. And all this manually, by someone.

Is this the concept?

Better way would be to improve gCTS, like adding missing parts of an object automatically. Sure, this way you do not get the complete code base under GIT control, but this is not the target.

Target is, to get all transports committed smoothly without user interaction.

What do you think?

There would be more to say, about how the GIT concept has been transferred to the ABAP world, but this will be another story. 🙂

Many thanks.

Accepted Solutions (0)

Answers (2)

Answers (2)

ulrich_auer
Employee
Employee

Hello Marko,

it is necessary to understand that with a git repository you maintain versions of a software component (in a wider sense, so it may also be only a package or a small set of packages). So it is obvious that you start with gCTS by committing the complete software component to the git repository, before you start committing changes. This is what we also recommend: https://help.sap.com/docs/ABAP_PLATFORM_NEW/4a368c163b08418890a406d413933ba7/d7ffc00f4f304f4a9e7a13a...

After having committed an initial version of your software component to the repository, you can commit any change, also changes on partial objects, using the transport requests where the changed objects are recorded with.

The idea that you intend to store only software deltas (or deltas on table entries) as of a certain point in time shows that you see the git repository only as a technical substitution for the transport directory. But this is not the intention of gCTS.

Here we describe how an initial commit can be done: https://help.sap.com/docs/ABAP_PLATFORM_NEW/4a368c163b08418890a406d413933ba7/bb01f567bd5344ffb627f7c...

So as as summary, this is what you should always keep in mind: Commits are no delta transports, they are versions of a software component. Even if we still use transport requests to records changes ...

BTW: in our trouble shooting guide, we refer to the "partial objects" issue:
https://ga.support.sap.com/dtp/viewer/index.html#/tree/2504/actions/34024:53612:53614:45356

Best regards, Uli Auer (SAP CLM/SL)

larshp
Active Contributor
0 Kudos

If your target is not to have remote and local in sync/versioning the full code base, I suggest using CTS, https://blogs.sap.com/2020/11/05/cts-is-beautiful/