-1

In SAP ERP (probably in other SAP systems as well), you have transport orders which you could see as "commits" i guess in git. These transports are send from development to test or production system and then "activated", which means compiled in their terms.

With git you normally solve this with different branches or tag one branch for a release. Could you at least in theory create the whole erp system in a git repo, create new branches for each system. Would this not solve the issues (need for caring for the import of order of transports, unwanted different states in different systems) that the transport system has?

David
  • 133
  • 6
  • 1
    A few things would be awkward like client ("mandant") transports, customizing transports (which is mostly data, not code), importing modules not part of the main repository (third-party code). The transport system is used for more than pushing ABAP diffs – Mat May 22 '20 at 07:07
  • 1
    The title of the question is ambiguous: can you confirm that your question is about replacing SAP's transport system (TMS) with GIT, and not to redevelop a GIT equivalent system with SAP ? – Christophe May 22 '20 at 12:45

2 Answers2

1

Development on SAP ERP is server based (i.e. all the source code is on the server, edited on the server and compiled just in time). The SAP Transport Management System is part of SAP's server-based software logistics and aims at:

  • registering any change to the code or the database structure ("workbench orders") or to the software configuration ("customizing orders" which logs change to database tables marked as relevant for the software deployment)
  • approving these changes (i.e. committing these changes and exporting them).
  • deploying these changes following well defined transport routes (i.e. copying them to other environments, importing the changes and activating them, including upload of deployable data, database changes, etc...).

Source code versions are tightly intertwined with the TMS: its "transport orders" are the starting point for version management. But it's all very flat without branching. The branches are implicit: it's the system/environment on which you are developing; if you start a new change in development, this will be your development branch. Not so practical if you have to make an emergency patch on your production system.

For a software developer, it would be much more convenient to use GIT to manage ABAP code to benefit of advanced branching capability, instead of the old TMS. But since TMS is a core component that does a lot more than just source code management, you can't get rid of it on SAP ERP.

There's fortunately some light at the end of the tunnel:

  • It seems that someone developed ABAPGIT, a git client for ABAP development, that could bring in some GIT features. It's not a TMS replacement but rather a complement. Developments would nevertheless continue to take place on the server with one active version (no local repository on the developer's desktop).

  • With the newer product line SAP HANA, SAP seems to go further in this direction, offering a web IDE fully integrated with GIT for source code management.

Christophe
  • 74,672
  • 10
  • 115
  • 187
0

You could, in theory.

The problem is that SAP ERP and other software systems of this type depend on a robust database system with ACID qualities and indexing capabilities resulting in very quick searches and joins, none of which Git has.

So the things that an industrial-strength relational database system are very good at are all the things that Git is very bad at. Your Git SAP would very quickly fall over.

Robert Harvey
  • 198,589
  • 55
  • 464
  • 673
  • Is SAP ERP the only systems which requires a database? – David May 22 '20 at 11:50
  • @David I think Robert's remark is due to an ambiguity in your question: "implemented in SAP" gives the impression that you intend to use SAP to redevelop a GIT implementation. See my remark on your question, and maybe adapt the title? – Christophe May 22 '20 at 12:50