Clean Core in SAP S/4HANA – Konzept und Umsetzung

Getting started ... Alles für einen gelungenen Start.
2 Beiträge • Seite 1 von 1
2 Beiträge Seite 1 von 1

Clean Core in SAP S/4HANA – Konzept und Umsetzung

Beitrag von nico_dev (ForumUser / 0 / 0 / 0 ) »
Hallo Leute,

Ich arbeite mich gerade ins Thema "Clean Core" ein – mein Ausbilder hat mich gebeten, einmal völlig unvoreingenommen zu prüfen, was sich hinter dem Begriff wirklich verbirgt. Da ich aus der Python-/Data-Welt komme, ist vieles für mich neu, und ich hoffe auf euer Feedback, ob ich alles richtig verstanden habe.

Soweit ich es sehe, ist Clean Core ein Entwicklungs-Konzept für SAP S/4HANA: Der Standard-Kern soll möglichst unangetastet bleiben. Statt Standardcode zu ändern oder direkt auf Tabellen wie MARA zuzugreifen, läuft die Erweiterung über Extension Points, freigegebene (released) APIs oder ergänzende Anwendungen in der Cloud Platform (BTP).

Das erinnert mich von der Idee her an "Separation of Concerns" aus der sauberen Software-Architektur. Nur klingt der Sprung vom klassischen ABAP (Dynpro, ALV, direkte SQL-Reads) hin zu CDS-Views und dem RAP-Framework deutlich radikaler – gerade wenn man über Jahre gewachsenen Code betrachtet.

Was mich konkret interessiert:
  • Wie strikt ist das Verbot des direkten Tabellenzugriffs wirklich? Gibt es legitime Ausnahmen?
  • Lohnt sich der Aufwand vor allem bei Greenfield-Projekten oder auch beim Umbau bestehender Systeme?
  • Wie prüft ihr, ob der vorhandene Code sauber wird – z.B. über die ATC-Checks?
Ich bin gespannt auf eure Praxiserfahrungen.

Grüße Nico

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: Clean Core in SAP S/4HANA – Konzept und Umsetzung

Beitrag von DeathAndPain (Top Expert / 2039 / 276 / 428 ) »
Also für mich klingt Deine Definition von "Clean Core" im wesentlichen wie "professionell arbeiten". 😃

Standardcode ändert man nicht, denn solche Änderungen sind beim nächsten Release-Upgrade häufig weg (bzw. jede einzelne muss mit dem Modifikationsassistenten manuell nachgezogen werden) und womöglich noch nicht mal kompatibel zur neuen Version. Maximal kann man implizite Enhancements machen - und auch das sollte nur eine Lösung für den Notfall sein.

Bei Zugriffen auf Standardtabellen muss man unterscheiden. Lesezugriffe sind in aller Regel harmlos. Klar muss man wissen, was die gelesenen Daten bedeuten (und dabei auch mögliche Pufferungsproblematiken im Auge haben (geänderte Daten könnten noch nicht in die Datenbank zurückgeschrieben sein)), aber im Großen und Ganzen liest eigentlich jeder ABAP-Programmierer aus den Standardtabellen, und meist ist auch offensichtlich, was wo gespeichert ist.

Anders sieht es beim Schreiben aus. Zum einen wegen jener Pufferungsproblematiken, zum anderen, weil außerhalb der SAP niemand sicher sagen kann, was für Querabhängigkeiten (Konsistenzkriterien) es gibt. Z.B. könnte Schreiben in Tabelle A erfordern, dass immer auch ein ergänzender Datensatz in Tabelle B geschrieben werden muss, sonst wird die Datenbank inkonsistent. Häufig kann man spekulieren, dass da wohl nichts sein wird, aber genau wissen tut es nur, wer Zugang zur internen Doku von SAP hat - und das ist nur die SAP selbst.

Es ist auch unnötig, in Standardtabellen zu schreiben. Fast immer gibt es dafür passende Fubas oder Klassen, und wenn alle Stricke reißen, kann man sich mit einem programmierten Batch Input (per SHDB aufzeichnen, in Programmcode wandeln, anpassen und dann per CALL TRANSACTION aufrufen) retten.
Wenn wir einer Partei die Regierungsbeteiligung verweigern, die von einer Mehrheit gewählt worden ist, weil wir diese Partei für schlecht halten, da wir einer anderen Partei angehören, wie ist dann unsere eigene demokratische Gesinnung zu bewerten?

Seite 1 von 1

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Vergleichbare Themen

ABAP Clean Code
von nickname8 » 06.05.2019 08:06
Diskussionsthema: Clean Code
von c oco » 19.07.2017 14:19
WebService mit C# .net Core 6 konsumieren
von stony007_de » 16.09.2022 11:06
Ehp Konzept??
von Robert B » 23.09.2008 16:12