SAP CAP vs ABAP Cloud: Wann welche Technologie wählen?

kategorie
ABAP Cloud
Veröffentlicht
autor
Johannes

Die Wahl zwischen SAP Cloud Application Programming Model (CAP) und ABAP Cloud ist eine der wichtigsten architektonischen Entscheidungen für SAP-Entwicklungsprojekte. Beide Technologien sind strategisch für SAP, aber sie adressieren unterschiedliche Anforderungen und Szenarien.

Was ist SAP CAP?

SAP CAP (Cloud Application Programming Model) ist SAPs Open-Source-Framework für die Entwicklung von Cloud-nativen Anwendungen auf der SAP Business Technology Platform (BTP). Es basiert auf Node.js oder Java und verwendet CDS (Core Data Services) als universelle Modellierungssprache.

Kernmerkmale von CAP:

  • Node.js oder Java Runtime
  • CDS-basierte Datenmodellierung
  • Multi-Tenancy-fähig out-of-the-box
  • Cloud-natives Design (12-Factor-App)
  • Läuft auf Cloud Foundry oder Kyma

Was ist ABAP Cloud?

ABAP Cloud ist SAPs modernes Entwicklungsmodell für ABAP-Anwendungen. Es basiert auf dem ABAP RESTful Application Programming Model (RAP) und nutzt freigegebene APIs gemäß dem Clean Core-Prinzip.

Kernmerkmale von ABAP Cloud:

  • ABAP-Runtime (Steampunk auf BTP oder S/4HANA)
  • CDS ABAP für Datenmodellierung
  • RAP für Geschäftslogik und Services
  • Tiefe Integration mit SAP-Standardprozessen
  • Zugriff auf SAP-Standarddaten

Vergleichstabelle: CAP vs ABAP Cloud

AspektSAP CAPABAP Cloud
ProgrammierspracheJavaScript/TypeScript oder JavaABAP
RuntimeNode.js / Java auf Cloud Foundry/KymaABAP Environment (BTP) oder S/4HANA
CDS-DialektCDS (CAP-Dialekt)CDS ABAP
DatenbankSAP HANA Cloud, PostgreSQLSAP HANA (embedded)
Multi-TenancyNativ unterstütztÜber Subaccounts
SAP-IntegrationVia APIs/EventsDirekt (gleiche Datenbank)
Team-SkillsetWeb-Entwickler, Full-StackABAP-Entwickler
DeploymentContainerized (MTA)ABAP-Transporte/gCTS
Open SourceJa (teilweise)Nein
LizenzmodellBTP-CreditsBTP/S/4HANA-Lizenz

Code-Vergleich: Entity-Definition

CDS in SAP CAP

// schema.cds (CAP)
namespace my.bookshop;
entity Books {
key ID : Integer;
title : String(100);
author : Association to Authors;
price : Decimal(10,2);
stock : Integer;
}
entity Authors {
key ID : Integer;
name : String(100);
books : Association to many Books on books.author = $self;
}

CDS ABAP für ABAP Cloud

// Z_I_Book (CDS View Entity in ABAP Cloud)
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Book'
define view entity Z_I_Book
as select from zbook
association [1..1] to Z_I_Author as _Author
on $projection.AuthorId = _Author.AuthorId
{
key book_id as BookId,
title as Title,
author_id as AuthorId,
price as Price,
stock as Stock,
_Author
}

Code-Vergleich: Service-Definition

Service in CAP

srv/cat-service.cds
using my.bookshop from '../db/schema';
service CatalogService {
entity Books as projection on bookshop.Books;
entity Authors as projection on bookshop.Authors;
// Custom Action
action submitOrder(book: Books:ID, quantity: Integer) returns String;
}

Service in ABAP Cloud (RAP)

// Service Definition (SRVD)
@EndUserText.label: 'Book Service'
define service Z_SD_Book {
expose Z_C_Book as Book;
expose Z_C_Author as Author;
}
// Behavior Definition (BDEF)
managed implementation in class zbp_i_book unique;
strict ( 2 );
define behavior for Z_I_Book alias Book
persistent table zbook
lock master
authorization master ( instance )
{
create;
update;
delete;
action submitOrder parameter Z_A_OrderParams result [1] $self;
mapping for zbook
{
BookId = book_id;
Title = title;
AuthorId = author_id;
Price = price;
Stock = stock;
}
}

Entscheidungsmatrix: Wann welche Technologie?

Wählen Sie SAP CAP, wenn:

KriteriumBegründung
Greenfield-Projekt ohne SAP-BackendCAP ist ideal für neue Apps ohne direkte SAP-Systemanbindung
Multi-Tenancy-AnforderungNative SaaS-Unterstützung für ISV-Partner
Polyglotte TeamsWeb-Entwickler können schnell produktiv werden
Microservices-ArchitekturContainerized Deployment auf Kyma/K8s
Externe DatenquellenFlexible Anbindung an beliebige REST-APIs
PortabilitätWeniger SAP-Lock-in durch Open-Source-Basis

Wählen Sie ABAP Cloud, wenn:

KriteriumBegründung
S/4HANA-Erweiterung (On-Stack)Direkter Zugriff auf Standardprozesse und Daten
Brownfield-MigrationBestehender ABAP-Code kann modernisiert werden
ABAP-Team vorhandenVorhandenes Know-how nutzen
Transaktionale LogikRAP bietet native CRUD mit Lock-Handling
Deep SAP-IntegrationZugriff auf freigegebene SAP-APIs
Regulatorische AnforderungenAudit, Compliance im SAP-Standard

Use Cases mit konkreten Beispielen

Use Case 1: Greenfield SaaS-Produkt

Szenario: Ein ISV möchte eine branchenspezifische Lösung als SaaS auf der SAP BTP anbieten.

Empfehlung: SAP CAP

// Multi-Tenant CAP Service
const cds = require('@sap/cds');
module.exports = cds.service.impl(async function() {
this.on('READ', 'Tenants', async (req) => {
// Tenant-aware data access
const tenant = req.user.tenant;
return SELECT.from('Tenants').where({ tenant_id: tenant });
});
});

Gründe:

  • Native Multi-Tenancy
  • Flexible Skalierung
  • Eigene Datenbank pro Tenant möglich

Use Case 2: S/4HANA-Erweiterung (Brownfield)

Szenario: Ein Unternehmen möchte den Verkaufsprozess in S/4HANA um eine kundenspezifische Genehmigungslogik erweitern.

Empfehlung: ABAP Cloud

CLASS zbp_i_salesorder IMPLEMENTATION.
METHOD approval_check.
" Direkter Zugriff auf S/4HANA-Standarddaten
READ ENTITIES OF z_i_salesorder IN LOCAL MODE
ENTITY SalesOrder
FIELDS ( TotalAmount CustomerGroup )
WITH CORRESPONDING #( keys )
RESULT DATA(lt_orders).
LOOP AT lt_orders INTO DATA(ls_order).
IF ls_order-TotalAmount > 10000 AND ls_order-CustomerGroup = 'NEW'.
" Genehmigung erforderlich
MODIFY ENTITIES OF z_i_salesorder IN LOCAL MODE
ENTITY SalesOrder
UPDATE SET FIELDS WITH VALUE #(
( %tky = ls_order-%tky ApprovalStatus = 'PENDING' ) ).
ENDIF.
ENDLOOP.
ENDMETHOD.
ENDCLASS.

Gründe:

  • Direkter Zugriff auf Verkaufsbelege
  • Transaktionskonsistenz mit SAP-Standard
  • Keine API-Latenz

Use Case 3: Side-by-Side Extension

Szenario: Eine Logistik-App soll S/4HANA-Daten mit externen IoT-Daten kombinieren.

Empfehlung: CAP + ABAP Cloud (Hybrid)

┌─────────────────────────────────────────────────────────┐
│ SAP BTP │
│ ┌──────────────┐ ┌──────────────┐ │
│ │ CAP App │◄──►│ ABAP Cloud │ │
│ │ (IoT + UI) │ │ (S/4 Proxy) │ │
│ └──────┬───────┘ └──────┬───────┘ │
│ │ │ │
│ ▼ ▼ │
│ ┌──────────────┐ ┌──────────────┐ │
│ │ IoT Service │ │ S/4HANA │ │
│ │ (extern) │ │ (Backend) │ │
│ └──────────────┘ └──────────────┘ │
└─────────────────────────────────────────────────────────┘

CAP für Frontend und IoT-Integration:

srv/logistics-service.js
module.exports = async (srv) => {
const s4 = await cds.connect.to('S4_DELIVERY_API');
const iot = await cds.connect.to('IOT_SERVICE');
srv.on('READ', 'Deliveries', async (req) => {
const deliveries = await s4.run(req.query);
// Anreichern mit IoT-Tracking-Daten
for (let d of deliveries) {
d.tracking = await iot.get(`/shipments/${d.TrackingId}`);
}
return deliveries;
});
};

ABAP Cloud als API-Proxy zu S/4HANA:

" Freigegebene API für CAP exponieren
CLASS zcl_delivery_api IMPLEMENTATION.
METHOD get_deliveries.
SELECT * FROM i_deliverydocument
WHERE deliverydocument IN @it_filter
INTO TABLE @rt_deliveries.
ENDMETHOD.
ENDCLASS.

Hybride Architektur: Das Beste aus beiden Welten

In komplexen Enterprise-Szenarien ist eine hybride Architektur oft die beste Lösung:

SchichtTechnologieVerantwortung
FrontendCAP + Fiori ElementsUI, User Experience
IntegrationCAPOrchestrierung, externe APIs
GeschäftslogikABAP CloudKernprozesse, S/4-Integration
DatenS/4HANAMaster Data, Transaktionen

Migration und Koexistenz

Von klassischem ABAP zu ABAP Cloud

Bestehender ABAP-Code kann schrittweise in ABAP Cloud migriert werden:

  1. Identifizieren nicht-freigegebener APIs
  2. Ersetzen durch Clean-Core-Alternativen
  3. CDS Views und RAP einführen
  4. Tests mit ABAP Unit

CAP und ABAP Cloud parallel betreiben

Beide Technologien können über Events kommunizieren:

// CAP: Event empfangen
srv.on('SalesOrderCreated', async (msg) => {
// Reagiere auf S/4HANA-Event
await notifyLogistics(msg.data);
});
" ABAP Cloud: Event senden
RAISE ENTITY EVENT z_i_salesorder~created
FROM VALUE #( ( %key = ls_order-%key ) ).

Performance und Skalierungsverhalten

Ein wichtiger Aspekt bei der Technologiewahl ist das Performance- und Skalierungsverhalten beider Ansätze.

SAP CAP Performance-Charakteristik

CAP-Anwendungen sind containerbasiert und skalieren horizontal. Das bedeutet:

AspektVerhalten
Cold Start2-5 Sekunden (Container-Start)
Horizontale SkalierungAutomatisch via Cloud Foundry
DatenbankzugriffVia Service Layer (Netzwerk)
Memory ManagementContainer-Limits, Garbage Collection
Concurrent UsersDurch Instanz-Replikation
// CAP: Caching für Performance
srv.before('READ', 'Products', async (req) => {
const cached = await redis.get(`products_${req.query.SELECT.where}`);
if (cached) {
req.reply(JSON.parse(cached));
}
});

ABAP Cloud Performance-Charakteristik

ABAP Cloud nutzt die bewährte ABAP-Laufzeitumgebung mit direktem HANA-Zugriff:

AspektVerhalten
Cold StartMinimal (ABAP-Session)
Vertikale SkalierungWork Processes, Dialog-Instanzen
DatenbankzugriffDirekt (Code-to-Data)
Memory ManagementABAP Memory, Shared Buffer
Concurrent UsersVia Work Process Pool
" ABAP Cloud: CDS Entity Buffer für Performance
@AbapCatalog.entityBuffer.definitionAllowed: true
define view entity Z_I_Product
with parameters p_date : abap.dats
as select from zproduct
{
key product_id as ProductId,
description as Description
}

Performance-Empfehlung: Für hochfrequente, transaktionsintensive Szenarien mit SAP-Daten bietet ABAP Cloud durch den direkten HANA-Zugriff und das optimierte Buffer-Management Vorteile. CAP eignet sich besser für Szenarien mit vielen kleinen, unabhängigen Requests.

Entwicklerwerkzeuge und Debugging

CAP-Entwicklung mit VS Code

Die CAP-Entwicklung erfolgt primär in VS Code mit der SAP CDS Extension:

  • Syntax-Highlighting für CDS-Dateien
  • Code-Completion für Entities und Services
  • Integriertes Terminal für cds watch
  • Node.js Debugger für Backend-Logik
  • REST Client für API-Tests
Terminal window
# CAP Projekt starten
npm install
cds watch
# Logs und Debugging
DEBUG=cds cds watch

ABAP Cloud-Entwicklung mit ADT

ABAP Cloud erfordert die ABAP Development Tools (ADT) in Eclipse:

  • ABAP Debugger mit Breakpoints
  • CDS View Analyzer für Performance
  • SQL Trace Integration
  • Transport-Management
  • ABAP Unit Integration
" Debugging mit Checkpoint Groups
BREAK-POINT ID zmy_debug.
" Conditional Breakpoints in ADT
IF lv_customer = 'TEST'.
" Breakpoint hier setzen
ENDIF.

Team-Strategie und Skill-Entwicklung

Wann in CAP-Skills investieren?

Investieren Sie in CAP, wenn:

  • Neue Entwickler ohne ABAP-Hintergrund eingestellt werden
  • JavaScript/TypeScript-Expertise im Team vorhanden ist
  • Microservice-Projekte geplant sind
  • Multi-Cloud-Strategie verfolgt wird

Wann in ABAP Cloud-Skills investieren?

Investieren Sie in ABAP Cloud, wenn:

  • Bestehende ABAP-Entwickler weiterqualifiziert werden sollen
  • S/4HANA-Transformation ansteht
  • Tiefe SAP-Integration erforderlich ist
  • Langfristige SAP-Partnerschaft besteht

Hybride Team-Aufstellung

Für maximale Flexibilität empfiehlt sich ein Team mit beiden Kompetenzen:

RollePrimär-SkillSekundär-Skill
Frontend-EntwicklerCAP + SAPUI5RAP-Consumption
Backend-Entwickler (SAP)ABAP CloudCAP-Integration
Integration-SpezialistCAPABAP Cloud APIs
ArchitectBeideBTP-Services

Lizenzierung und Kosten

SAP CAP Kostenmodell

CAP-Anwendungen konsumieren BTP-Credits:

  • Cloud Foundry Runtime (Memory/Stunde)
  • HANA Cloud (Speicher/Compute)
  • Connectivity (API-Aufrufe)
  • Destination Service (Verbindungen)

ABAP Cloud Kostenmodell

ABAP Cloud läuft auf:

  • SAP BTP ABAP Environment (Abonnement)
  • S/4HANA Cloud (inkludiert)
  • S/4HANA On-Premise (ab 2022)

Kostenvergleich: Für kleine Anwendungen kann CAP günstiger sein (Pay-as-you-go). Für umfangreiche Enterprise-Anwendungen mit vielen Nutzern ist ABAP Cloud oft kosteneffizienter, insbesondere wenn bereits S/4HANA-Lizenzen vorhanden sind.

Zukunftsperspektive: SAPs Strategie

SAP investiert weiter in beide Technologien:

SAP CAP Roadmap:

  • Verbesserte TypeScript-Unterstützung
  • Native Kyma/Kubernetes-Integration
  • Event Mesh-Integration
  • AI-Services (Joule SDK)

ABAP Cloud Roadmap:

Beide Technologien sind strategisch für SAP. Die Wahl ist keine Entweder-oder-Entscheidung, sondern eine Frage des richtigen Werkzeugs für den jeweiligen Anwendungsfall.

Fazit und Empfehlung

Es gibt kein “besser” – nur “passender”:

  • SAP CAP glänzt bei Greenfield-Projekten, SaaS-Lösungen und Szenarien mit starkem Web-Fokus
  • ABAP Cloud ist unschlagbar für S/4HANA-Erweiterungen und Brownfield-Modernisierung

Die meisten Enterprise-Projekte profitieren von einer hybriden Strategie: CAP für neue, eigenständige Microservices – ABAP Cloud für alles, was tief mit SAP-Standardprozessen verwoben ist.

Kernfragen für Ihre Entscheidung:

  1. Wo liegen die Daten? S/4HANA-Kerndaten → ABAP Cloud
  2. Wer entwickelt? Web-Entwickler → CAP, ABAP-Entwickler → ABAP Cloud
  3. Welche Architektur? Microservices → CAP, Monolith-Extension → ABAP Cloud
  4. Welche Skalierung? Multi-Tenant SaaS → CAP, Enterprise-Single-Tenant → Beide

Weiterführende Artikel: