{"id":69790,"date":"2026-08-03T08:35:56","date_gmt":"2026-08-03T06:35:56","guid":{"rendered":"https:\/\/www.cubeserv.com\/?p=69790"},"modified":"2026-08-03T09:46:56","modified_gmt":"2026-08-03T07:46:56","slug":"blog-serie-btp-teil-6-erweiterungen-in-der-praxis-side-by-side-extensions-mit-cap-und-rap","status":"publish","type":"post","link":"https:\/\/www.cubeserv.com\/de\/blog-serie-btp-teil-6-erweiterungen-in-der-praxis-side-by-side-extensions-mit-cap-und-rap\/","title":{"rendered":"Blog-Serie BTP Teil 6: Erweiterungen in der Praxis – Side-by-Side Extensions mit CAP und RAP"},"content":{"rendered":"\t\t
Ein \u00dcberblick \u00fcber die Integrationsstrategie der SAP BTP: Integration Suite, API Management und Event Mesh auf strategischer Flugh\u00f6he.<\/span><\/i><\/p> In Teil 1<\/strong><\/a> haben wir das Clean-Core-Prinzip und die Extensibility-Level A bis D vorgestellt. In Teil 4<\/strong><\/a> ging es um die BTP-Environments Cloud Foundry, Kyma und das ABAP Environment. Jetzt verbinden wir beides: Wie sehen Erweiterungen konkret<\/em> aus? Welches Programmiermodell passt zu welchem Szenario?.<\/p> Dieser Teil gibt einen \u00dcberblick \u00fcber die beiden zentralen Entwicklungsmodelle der SAP-Welt: das Cloud Application Programming Model (CAP) f\u00fcr Side-by-Side Extensions auf der BTP und das RESTful Application Programming Model (RAP) f\u00fcr On-Stack- & Side by Side-Erweiterungen in S\/4HANA und dem BTP ABAP Environment.<\/p> Denn der eigentliche Mehrwert der SAP BTP entsteht nicht isoliert, sondern dann, wenn Systeme, Daten und Prozesse intelligent miteinander verbunden werden. Genau hier setzt die SAP Integration Suite<\/strong> an.<\/p> Dieser Teil gibt einen \u00dcberblick<\/strong> \u00fcber die Integrationsf\u00e4higkeiten der SAP BTP mittels der SAP Integration Suite. Wir erkl\u00e4ren die wichtigsten Bausteine, ordnen sie ein und zeigen, wann welcher Ansatz sinnvoll ist.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t Der SAP-Standard deckt viel ab, aber nat\u00fcrlich nie alles. Und das ist auch gut so: Denn genau diese individuellen Prozesse machen Unternehmen erfolgreich. Sie sind oft die eigentliche USP, was das Unternehmen vom Wettbewerb unterscheidet. Wenn alle nur Standard machen, wo bleibt dann der Differenzierungsvorteil? Gleichzeitig gilt: Nicht jede historisch gewachsene Individualentwicklung ist heute noch sinnvoll. Unternehmen sollten ihre individuellen Prozesse regelm\u00e4\u00dfig hinterfragen im Sinne von \u201ebrauchen wir diesen Prozess noch in seiner jetzigen Form?\u201c oder \u201eHat sich der Gesch\u00e4ftskontext so ver\u00e4ndert, dass der Standard inzwischen die bessere L\u00f6sung w\u00e4re?\u201c.<\/p> Diese Balance zwischen wertsch\u00f6pfender Individualisierung und sinnvoller Standardisierung ist eine der wichtigsten strategischen Entscheidungen. Fr\u00fcher wurde Individualisierung \u00fcber Z-Entwicklungen, User-Exits und Modifikationen umgesetzt mit den bekannten Folgen:<\/p> Das Clean-Core-Prinzip (siehe Teil 1) gibt eine klare Richtung vor: Erweitere \u00fcber freigegebene Schnittstellen, halte den Kern sauber.<\/p> Nun das klingt erstmal logisch, Aber wie macht man das genau?<\/p> SAP bietet zwei strategische Wege:<\/p> Ansatz<\/strong><\/p><\/td> Beschreibung<\/strong><\/p><\/td> Programmiermodell<\/strong><\/p><\/td><\/tr> On-Stack (In-App)<\/strong><\/p><\/td> Erweiterungen direkt im S\/4HANA-System oder im BTP ABAP Environment. Nutzt freigegebene APIs, BAdIs, Funktionsbausteine und CDS-Views. Der Code l\u00e4uft im selben System wie der Standard.<\/p><\/td> RAP \u2013 RESTful Application Programming Model<\/p><\/td><\/tr> Side-by-Side<\/strong><\/p><\/td> Eigenst\u00e4ndige Anwendungen auf der BTP, die \u00fcber APIs mit beispielsweise dem S\/4HANA kommunizieren. Eine eigene Datenhaltung ist m\u00f6glich. Das Deployment erfolgt auf die Cloud Foundry oder Kyma Umgebung der Business Technology Platform.<\/p><\/td> CAP \u2013 Cloud Application Programming Model (Node.js oder Java)<\/p><\/td><\/tr><\/tbody><\/table>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t Beide Ans\u00e4tze erg\u00e4nzen sich<\/strong>, es ist kein Entweder-oder. Die Wahl h\u00e4ngt vom Szenario, den Team-Skills und der gew\u00fcnschten Architektur ab.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t CAP ist SAPs strategisches Programmiermodell f\u00fcr Side-by-Side Extensions<\/strong> auf der BTP. Es wurde von SAP entwickelt, um die Erstellung von Cloud-nativen Gesch\u00e4ftsanwendungen so effizient wie m\u00f6glich zu machen \u2013 mit einem klaren Fokus auf Domain-Driven Design<\/strong> und Konvention vor Konfiguration<\/strong>.<\/p> Eine typische CAP-Anwendung besteht ganz vereinfacht gesagt aus drei Schichten:<\/p> Schicht<\/strong><\/p><\/td> Technologie<\/strong><\/p><\/td> Aufgabe<\/strong><\/p><\/td><\/tr> Datenmodell (db\/)<\/strong><\/p><\/td> CDS-Definitionen, die Entit\u00e4ten, Assoziationen und Annotationen beschreiben.<\/p><\/td> Definiert das persistente Datenmodell. Wird in HANA-Cloud-Tabellen oder PostgreSQL-Tabellen auf der BTP deployed.<\/p><\/td><\/tr> Service-Schicht (srv\/)<\/strong><\/p><\/td> CDS-Service-Definitionen + Custom Handler (Node.js\/Java) f\u00fcr Gesch\u00e4ftslogik.<\/p><\/td> Exponiert OData-V4- oder REST-APIs. Implementiert Validierungen, Berechnungen, Integrationsaufrufe.<\/p><\/td><\/tr> UI (app\/)<\/strong><\/p><\/td> SAP Fiori Elements (empfohlen) oder Freestyle SAPUI5\/React.<\/p><\/td> Die Benutzeroberfl\u00e4che. SAP Fiori Elements generiert komplette UI-Seiten (Listen, Objektdetails, Formulare) automatisch aus CDS-Annotationen \u2013 ohne manuellen UI-Code. Das spart erheblich Entwicklungsaufwand und sorgt f\u00fcr eine konsistente SAP-User-Experience. Freestyle-Ans\u00e4tze bieten mehr gestalterische Freiheit, bedeuten aber auch deutlich mehr Aufwand.<\/p><\/td><\/tr><\/tbody><\/table> Das Ergebnis:<\/strong> Mit wenigen CDS-Dateien und Custom Handlern entsteht eine vollst\u00e4ndige Gesch\u00e4ftsanwendung inkl. OData-API, Berechtigungen, Fiori-UI und Datenbankschema. Wer sich an die klassische ABAP-Welt erinnert, wei\u00df, was das bedeutet. Fr\u00fcher musste man ICF-Knoten manuell anlegen, OData-Services Schritt f\u00fcr Schritt im SEGW auspr\u00e4gen, Deep-Create-Logik selbst programmieren und jede CRUD-Operation einzeln implementieren. Associations<\/strong> definieren Beziehungen zwischen Entit\u00e4ten deklarativ. Keine manuellen JOINs, keine Navigations-Properties von Hand.<\/p> Annotations<\/strong> steuern nicht nur die UI (Fiori Elements), sondern auch Validierungen, Wertehelfen, Sortierungen und Suchfelder. Alles im CDS-Modell, nicht im Code verstreut. Die Entwicklung wird durch SAP CAP enorm beschleunigt.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t Ziel<\/strong><\/p><\/td> Details<\/strong><\/p><\/td><\/tr> Cloud Foundry<\/strong><\/p><\/td> Empfohlene Standardoption. Deployment als MTA (Multi-Target Application). Buildpacks f\u00fcr Node.js oder Java.<\/p><\/td><\/tr> Kyma \/ Kubernetes<\/strong><\/p><\/td> Deployment als Container-Image (Docker). Ideal, wenn Kubernetes-Expertise vorhanden ist oder containerisierte Workloads bevorzugt werden.<\/p><\/td><\/tr><\/tbody><\/table> Vorteil: SAP CAP erm\u00f6glicht eine direkte lokale Entwicklung. Im Hybrid-Szenario l\u00e4sst sich die Anwendung lokal ausf\u00fchren und gleichzeitig gegen Cloud-Services (z. B. HANA-Cloud, Destination Service, etc.) testen. Dadurch k\u00f6nnen Entwickler produktionsnah arbeiten, ohne jedes Mal ein vollst\u00e4ndiges Cloud-Deployment durchf\u00fchren zu m\u00fcssen.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t RAP ist SAPs strategisches Programmiermodell f\u00fcr ABAP-basierte Entwicklung<\/strong> \u2013 sowohl in S\/4HANA (On-Premise und Cloud) als auch im BTP ABAP Environment. Es l\u00f6st die klassischen Programmiermodelle (Dynpro, Web Dynpro) ab und bringt ABAP ins Cloud-Zeitalter.<\/p> Artefakt<\/strong><\/p><\/td> Beschreibung<\/strong><\/p><\/td><\/tr> CDS Data Model<\/strong><\/p><\/td> Datenbank-Tabellen und CDS-Entity-Definitionen mit Assoziationen, Annotationen und berechneten Feldern.<\/p><\/td><\/tr> Behavior Definition<\/strong><\/p><\/td> Deklariert das Verhalten: Create\/Read\/Update\/Delete, Actions (z. B. \u201eFreigeben\u201c), Validations (z. B. \u201ePflichtfelder pr\u00fcfen\u201c), Determinations (z. B. \u201eNummer automatisch vergeben\u201c), Draft-Handling.<\/p><\/td><\/tr> Behavior Implementation<\/strong><\/p><\/td> ABAP-Klasse, die die in der Behavior Definition deklarierten Methoden implementiert (die eigentliche Gesch\u00e4ftslogik).<\/p><\/td><\/tr> Service Definition<\/strong><\/p><\/td> Legt fest, welche Entit\u00e4ten des BO als OData-Service exponiert werden.<\/p><\/td><\/tr> Service Binding<\/strong><\/p><\/td> Bindet die Service Definition an ein konkretes Protokoll (OData V2\/V4) und einen Endpunkt. Ab hier ist der Service aufrufbar.<\/p><\/td><\/tr> Metadata Extensions<\/strong><\/p><\/td> UI-Annotationen f\u00fcr Fiori Elements<\/p><\/td><\/tr><\/tbody><\/table> Statt abstrakt zu bleiben, hier konkrete Szenarien und unsere Empfehlung:<\/p> (Quelle: SAP Business Application Studio; SAP Build Code; ABAP Development Tools)<\/em><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t Thema<\/strong><\/p><\/td> Empfehlung<\/strong><\/p><\/td><\/tr> Klein anfangen<\/strong><\/p><\/td> Starten Sie mit einem \u00fcberschaubaren Pilotprojekt (z. B. ein Custom BO mit 3\u20135 Feldern). Lernen Sie das Tooling und die Patterns, bevor Sie komplexe Szenarien angehen.<\/p><\/td><\/tr> CDS ernst nehmen<\/strong><\/p><\/td> Sowohl CAP als auch RAP basieren auf CDS. Investieren Sie in CDS-Know-How.<\/p><\/td><\/tr> Fiori Elements first<\/strong><\/p><\/td> Nutzen Sie Fiori Elements (generierte UI) statt Freestyle-UI5, wann immer m\u00f6glich. Der Aufwand ist drastisch geringer und die UX bleibt SAP-konform.<\/p><\/td><\/tr> API-Katalog pflegen<\/strong><\/p><\/td> Dokumentieren Sie alle genutzten S\/4HANA-APIs (OData, RFC, Events). Das erleichtert Impact-Analysen bei S\/4HANA-Upgrades.<\/p><\/td><\/tr> Extensibility-Level tracken<\/strong><\/p><\/td> Nutzen Sie das Extensibility-Cockpit in S\/4HANA, um den Clean-Core-Status Ihrer Erweiterungen transparent zu machen (Level A\u2013D).<\/p><\/td><\/tr><\/tbody><\/table>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t In den n\u00e4chsten Teilen gehen wir tiefer auf spezielle Themen ein, welche uns bei unseren Kunden immer wieder begegnen.\u00a0<\/p> Teil<\/strong><\/p><\/td> Thema<\/strong><\/p><\/td><\/tr>Einleitung<\/h3>
Warum sollten wir \u00fcberhaupt den SAP-Standard erweitern?<\/h3>
Unternehmen haben individuelle Prozesse, branchenspezifische Anforderungen oder Integrationsbedarfe, die \u00fcber die Standardfunktionalit\u00e4t hinausgehen.<\/p>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\tCAP \u2013 Das Cloud Application Programming Model<\/strong><\/span><\/h2>
Was ist CAP?<\/h3>
Architektur einer CAP-Anwendung<\/h3>
In CAP reicht eine Composition<\/strong> (z. B. Bestellkopf \u2192 Positionen \u2192 Unterpositionen), und das Framework generiert automatisch Deep Create, Deep Update und Deep Delete \u00fcber die gesamte Objekthierarchie.<\/p>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\tDeployment-Optionen f\u00fcr CAP<\/strong><\/h3>
RAP \u2013 Das RESTful Application Programming Model<\/strong><\/span><\/h2>
Was ist RAP?<\/h3>
Architektur eines RAP Business Objects<\/h3>
<\/h3>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\tWann CAP, wann RAP? \u2013 Praxisszenarien<\/h3>
Szenario<\/strong><\/td> Empfehlung<\/strong><\/td> Begr\u00fcndung<\/strong><\/td><\/tr> Custom Field an Bestellung anh\u00e4ngen<\/td> RAP<\/td> Erweiterung eines bestehenden Standard-BO\u2018s.<\/td><\/tr> Kundenportal mit eigenem Datenmodell<\/td> CAP<\/td> Eigene Datenhaltung, Web-Frontend, API-Zugriff auf S\/4HANA. Klassisches Side-by-Side.<\/td><\/tr> Genehmigungsworkflow f\u00fcr Bestellanforderungen<\/td> CAP + SAP Build Process Automation<\/td> Workflow-Engine kombiniert mit CAP-Service f\u00fcr Custom-Logik.<\/td><\/tr> Embedded Analytics \/ Custom Report<\/td> RAP (On-Stack)<\/td> CDS-basierte Queries mit direktem S\/4-Datenzugriff und ggf. Fiori-Element-Visualisierung.<\/td><\/tr> Legacy-Z-Report modernisieren<\/td> RAP<\/td> ABAP-Code bereinigen, in RAP-BO kapseln, Fiori-UI generieren.<\/td><\/tr> SaaS-Anwendung f\u00fcr mehrere Mandanten<\/td> CAP<\/td> Built-in Multitenancy in CAP. Subscription-Management \u00fcber SaaS Provisioning Service.<\/td><\/tr><\/tbody><\/table> Best Practices aus unserer Projektpraxis<\/h3>
Blog-Serie:<\/h3>