JinJin48
JinJin48
SAP Consultant | BTP · S/4HANA · US Global Rollout
· 15 min read

Cover: Application Development on SAP BTP — Use Cases and Decision Patterns

TL;DR
  • Application development on SAP BTP is a tool-selection problem, not a tool-mastery problem: the same business outcome can be built in CAP, ABAP Environment, Build Apps, Build Process Automation, or directly in S/4HANA with Key User extensibility — and only one of those will be defensible in front of the budget owner six months later.
  • The four selection dimensions, in order, are coupling to S/4HANA, team skill profile, release cadence independence, and commercial entitlement. Skipping any one of these is the most common requirements-stage failure pattern in BTP scoping.
  • Use this article as the closing summary for the L2-B series: B01–B07 explained what each tool is and how it works; B08 tells you which one to pick when, and how to refuse the wrong default before the project starts.

Where This Article Sits

IDTopic
BTP-B01Application Development Overview and Capability Map
BTP-B02Business Application Studio: Architecture and Use
BTP-B03CAP and Build Code: Architecture and Use
BTP-B04ABAP Environment: Architecture and Use
BTP-B05Build Apps: Architecture and Use
BTP-B06Build Process Automation: Architecture and Use
BTP-B07Build Work Zone: Architecture and Use
BTP-B08Use Cases and Decision Patterns (this article)

References

ResourceURL
Cloud Foundry, Kyma, or Both? (BTP Admin Guide)help.sap.com →
ABAP Extensibility Guide — Clean Core for SAP S/4HANA Cloudcommunity.sap.com →
SAP Build product familysap.com →
SAP Discovery Center — Reference Architecturesdiscovery-center.cloud.sap →
SAP Cloud Application Programming Model (capire)cap.cloud.sap →

1) The Application Development Landscape

Four BTP application development families at a glance

This article does not introduce new tools — it covers the same four families described in B01 from a different angle: how to pick between them. Recap of the families, with the decision-making lens this article uses.

FamilyPrimary tools (B02–B07)Primary userWhen it is the right default
Pro CodeBusiness Application Studio (B02), CAP / Build Code (B03)Pro developer (Java / Node / TypeScript)Loose-coupling enterprise services on Cloud Foundry or Kyma
ABAPBTP ABAP Environment + Embedded Steampunk (B04)ABAP-skilled developerExtensions tightly tied to S/4HANA business logic and data
Low Code / No CodeBuild Apps (B05), Build Process Automation (B06)Citizen developer / process ownerDepartmental apps and SAP-plus-non-SAP workflows
Portal / SiteBuild Work Zone standard + advanced (B07)IT + LoBSurfacing apps, not building them

They are not substitutes. The selection rules in §5 are the entire reason this series exists — without them, “let’s use SAP Build” defaults to Build Apps and the project pays for it later.

2) How It Connects to S/4HANA

Coupling layers from S/4HANA core to BTP side-by-side

The four families connect to S/4HANA at different layers, with different coupling strengths. The connection point determines clean-core compliance, release-cadence independence, and which extensibility tier (Key User → Developer → Side-by-side) the work belongs to.

                        SAP BTP — Application Development families
   ┌────────────────────────────────────────────────────────────────────────┐
   │  Pro Code  →  CAP, Build Code, BAS  ──── Cloud Foundry / Kyma          │
   │  ABAP      →  BTP ABAP Environment (Steampunk, side-by-side)           │
   │  Low Code  →  Build Apps, Build Process Automation                     │
   │  Portal    →  Build Work Zone (surfaces apps from above)               │
   └─────────────┬───────────────────────────────────────┬──────────────────┘
                 │ released APIs, OData,                 │
                 │ business events                       │ launchpad / site
                 ▼                                       │
   ┌────────────────────────────────────────────────┐    │
   │  S/4HANA Cloud (public or private edition)     │ ◄──┘
   │  ── Key User extensibility (in-app)            │
   │  ── Embedded Steampunk (in-stack ABAP Cloud)   │
   └────────────────────────────────────────────────┘

Key point: Coupling chooses the family before skill or cost do. If the extension needs direct access to standard S/4HANA tables or BAdIs, the choice is Key User extensibility or Embedded Steampunk — every other family is wrong by construction. Only after coupling is settled do team skill and entitlement narrow the remaining options.

3) Maturity Map

Maturity status across the BTP application development families in 2026

All four families are production-ready in 2026, but the operational risk profile differs. This map is honest, not promotional — pick the family whose maturity profile your project can actually absorb.

FamilyMaturityNotes
Pro Code (CAP, Build Code, BAS)✅ Production-readyCAP is mature on Cloud Foundry; Kyma demands real Kubernetes operations skills (don’t pick Kyma without an SRE function). Joule for Developers GA across BAS/VS Code in 2026.
ABAP (Steampunk, Embedded Steampunk)✅ Production-readyABAP Cloud requires released APIs only — pre-2024 custom code touching private SAP objects must be remediated. Multi-hyperscaler GA (AWS, Azure, GCP, SAP CI) since Sept 2025.
Low Code (Build Apps)⚠️ Ready with prerequisitesProduction-ready for departmental scope. Hits performance/governance ceilings on enterprise-critical workloads — the warning is not theoretical.
Low Code (Build Process Automation)✅ Production-readySuccessor to Workflow Management + Intelligent RPA, now unified. 2026 “Guided Experiences” extends BPA into Work Zone wizards.
Portal (Build Work Zone)✅ Production-readyStandard and advanced are both GA. Common error is scoping it as an app platform — it isn’t.

4) Requirements Checklist

Five requirements checklists radiating from a central scoping hub

Each capability has its own checklist. Run all four when scoping any non-trivial BTP development; the cross-family checks in §4.5 catch the requirements that span tool boundaries.

Pro Code (CAP, Build Code, BAS) prerequisites

Checklist itemWhy it matters
Development team has Java or Node.js fluency, plus OData/CDS understandingCAP is for pro developers; staffing this with citizen developers will fail at the modelling stage
Decision made: Cloud Foundry or Kyma (or both) for the runtimeBoth are GA, but Kyma needs Kubernetes operations skills — picking Kyma without SRE coverage adds operational risk
BAS subscription or VS Code + Joule Studio extension entitlement confirmedJoule for Developers is bundled in 2026 BAS plans, but VS Code teams need explicit entitlement
SAP HANA Cloud instance budgeted for productionCAP + HANA Cloud is the canonical pairing for production; SQLite/H2 are dev-only
Multi-tenant vs single-tenant decision documentedCAP supports both, but the choice changes deployment topology and pricing
API contract with S/4HANA based on released APIs (not custom RFC/OData)Released APIs are the clean-core requirement; custom RFC bridges accumulate technical debt

ABAP (Steampunk + Embedded Steampunk) prerequisites

Checklist itemWhy it matters
Coupling decision made: tight to S/4 tables (Embedded) vs decoupled service (side-by-side)Picking the wrong placement is hard to undo — Embedded code cannot be relocated without a rewrite
Existing custom ABAP audited for private-object usageABAP Cloud only allows released APIs; remediation effort is the most-underestimated migration cost
ABAP development team confirmed (not “we’ll learn it”)ABAP Cloud requires fluency in RAP, ABAP Cloud development model, ADT — not classical ABAP
Hyperscaler choice for BTP ABAP EnvironmentAWS, Azure, GCP, SAP CI — must align with customer’s wider cloud strategy
Code Vulnerability Analyzer (CVA) and ATC checks in CI/CDIncluded with ABAP Environment; using them is not optional for clean-core compliance
Release cadence aligned with S/4HANA upgrade window if EmbeddedEmbedded code follows the S/4 release cycle — no independent releases

Low Code (Build Apps + Build Process Automation) prerequisites

Checklist itemWhy it matters
Use case fits departmental scope, not enterprise-criticalBuild Apps hits ceilings on high throughput, complex UI, fine-grained governance — confirm scope honestly
Citizen developer or process owner identified and trainedThese tools are not “self-service” — they require trained citizen developers with mentor support
OData / REST destinations defined for SAP and non-SAP systemsBuild Apps cannot extend the runtime; missing destinations block the build entirely
Governance model agreed: tenant, environments, lifecycleCitizen-developer sprawl is the most-cited governance failure with low-code
BTPEA/CPEA credits or subscription confirmed for Build Apps + BPABoth are credit-consumable; an unbudgeted “let’s just build it in BPA” stalls in procurement
Workflow ownership: process owner, IT, and approval chain definedBPA is workflow + RPA; without owners, automations rot

Portal (Build Work Zone) prerequisites

Checklist itemWhy it matters
Standard vs advanced edition decision madeStandard = launchpad; advanced = collaboration. Picking advanced for a pure launchpad is overspend
Apps-to-be-surfaced inventory completeWork Zone surfaces apps built elsewhere — without an app inventory there is nothing to surface
Identity provider and role-collection design readyWork Zone is identity-heavy; missing IdP design blocks go-live
Branding requirements documented (themes, logos, content blocks)Branding work scales with stakeholder count, not with feature count
Site lifecycle owner identifiedA portal without an owner becomes stale; assign before launch, not after
Mobile experience requirement clear (Mobile Start, etc.)Mobile is a separate scoping decision; default is desktop-first

Cross-family clean-core and operations checks

Cross-family clean core and operations checklist

Checklist itemWhy it matters
Extensibility tier classified per Clean Core guidanceTiers (Key User → Developer → Side-by-side) drive every other decision
Event-driven option evaluated before request/responseSAP-preferred pattern in 2026; decouples release cycles
Reference architecture from SAP Discovery Center matched or deviation justifiedMethodology, not improvisation
Joule for Developers entitlement explicit per roleAvailable across BAS, ADT, VS Code in 2026 — costed differently per family
Commercial model (BTPEA, CPEA, subscription, PAYG) committedTool selection has commercial consequences; an unfunded right tool is the wrong tool
Data residency and tenant region locked inSome services are regional; locking late forces re-architecture

5) Decision Criteria

Three questions decide whether BTP application development is even the right answer; the domain-selection table picks the family; the licensing table prevents commercial surprises.

The three questions to ask first

The three questions: pain, data, sponsor

Q1. What is the measurable business pain?

If the answer is “we want to build something on BTP”, the requirement is not ready. The pain must be specific (an approval cycle taking 14 days, a manual data entry costing 20 FTE-hours weekly, a missing customer self-service portal causing call-centre overflow). Without a measurable pain, no tool selection is defensible — and “we have BTP credits to use” is not a pain.

Q2. Who owns the data, and where must it stay?

Tight coupling to S/4HANA tables (custom fields, in-stack logic) is one residency profile; side-by-side on BTP with regional data is another; mixed SAP + non-SAP integration is a third. Data residency, ownership, and the GDPR/SOC2 boundary determine whether the work belongs in S/4HANA, in BTP ABAP Environment, in CAP, or somewhere else entirely.

Q3. Who is the internal sponsor with budget authority?

Central IT, an LoB owner, or a process owner — the answer changes which commercial model fits (subscription vs BTPEA credits vs PAYG) and which family’s price tag is even legible to the sponsor. A tool the sponsor cannot fund is the wrong tool, regardless of technical fit.

Tool selection by use-case shape

Use-case shapes mapped to tool defaults across coupling spectrum

Use case shapeRecommended starting toolFamily
Custom field on a standard S/4HANA tableKey User extensibility (in-app)S/4 — not BTP
On-stack BAdI / tightly coupled S/4 logicEmbedded SteampunkABAP
Side-by-side ABAP service (decoupled release)BTP ABAP EnvironmentABAP
Side-by-side enterprise service in Java / NodeCAP on Build CodePro Code
Custom Fiori app on BTP, complex UIBAS + UI5 / Fiori elementsPro Code
Departmental web/mobile app, simple UI, citizen developerBuild AppsLow Code
Workflow spanning SAP and non-SAP systemsBuild Process AutomationLow Code
Internal portal / launchpadBuild Work Zone (standard edition)Portal
Branded LoB digital workspace with collaborationBuild Work Zone (advanced edition)Portal
One-off automation with no SAP business objectOften: do not use BTPn/a
No clear pain point identified yetStop. Go back to Q1.n/a

Licensing and cost

Licensing models across the four families

FamilyLicensing modelKey question to ask
Pro Code (CAP, Build Code, BAS)BAS subscription per developer; CAP runtime consumes Cloud Foundry/Kyma + HANA Cloud entitlementIs BAS bundled in the BTPEA scope, or a separate line item?
ABAP (Steampunk + Embedded)BTP ABAP Environment subscription (per service plan); Embedded Steampunk part of S/4HANA Cloud entitlementHyperscaler choice — does pricing change between AWS/Azure/GCP/SAP CI?
Low Code (Build Apps + BPA)Consumption-based (credits) under BTPEA/CPEA, or standalone subscriptionCitizen-developer count and runtime usage — both drive cost
Portal (Work Zone)Standard subscription per user; advanced subscription per user with collaboration featuresStandard or advanced — and how many users actually need each tier?

6) Common Failures

Four common requirements-stage failures in BTP application scoping

These are requirements-stage failures, not implementation bugs. Each one has been observed often enough that recognising the pattern is faster than re-deriving the lesson.

Failure 1: “Use SAP Build for everything”

SAP Build is four products (Code, Apps, BPA, Work Zone), not one platform. Treating “Build” as a single answer flattens four distinct selection decisions into a single misapplied default — usually Build Apps, because it is the most-marketed pillar. The fix is to use the use-case table in §5 first, then identify which Build pillar (or no Build pillar) matches.

Failure 2: Low-code for an enterprise-critical workload

Build Apps targets departmental apps with simple UI, OData/REST integration, and citizen-developer ownership. Picking it for a customer-facing transactional system or a high-throughput service hits performance, governance, and UI flexibility ceilings that surface during user-acceptance testing — too late to pivot cheaply. The fix is to be honest about scope at requirements time and reach for CAP on Build Code if “enterprise-critical” is a real constraint.

Failure 3: CAP for a customisation tightly bound to S/4HANA tables

CAP and S/4HANA can connect via released APIs, but a customisation that needs in-stack data access (custom fields on standard tables, on-stack BAdIs) belongs in Embedded Steampunk or Key User extensibility — not in CAP. Building it in CAP forces a brittle integration layer that violates clean-core in spirit, even if it doesn’t violate it on paper.

Failure 4: ABAP Cloud for a non-SAP integration in mixed languages

When the team is ABAP-skilled, every requirement looks like an ABAP requirement. A side-by-side service that orchestrates SAP and non-SAP APIs in Node.js or Java belongs in CAP, not in BTP ABAP Environment. The selection criterion is the work, not the team’s history.

Failure 5: Work Zone scoped as an “application”

“Build the portal in Work Zone” sometimes means “we want a launchpad to surface our existing apps” (correct scope for Work Zone) and sometimes means “we want a custom site with custom logic” (Work Zone is the wrong place). Untangle this in requirements: Work Zone surfaces apps; it is not where the apps are built.

Failure 6: Skipping the clean-core review

When extension placement is decided by team preference instead of by coupling, cadence, data residency, and entitlement, the result is a clean-core violation that surfaces during the next S/4HANA upgrade. The fix is to run the Clean Core extensibility tier classification before the tool decision, not after.

Failure 7: Ignoring commercial entitlement until the build sprint

A “right” tool the customer cannot procure is the wrong tool. BTPEA scopes, CPEA balances, and subscription line items must be confirmed during requirements — not when the developer tries to subscribe to a service mid-build and procurement blocks it.

FAQ

Q: This is a summary article — should I read B01–B07 first, or can I start here?

Start at B01 for the capability map, then jump to whichever of B02–B07 covers your candidate tools. Use B08 to cross-check the selection. The series is sequenced for first-time readers; veterans can use B08 as a standalone decision aid.

Q: How do I apply this on-premise vs cloud?

The decision pattern is cloud-first by default — BTP is the SAP cloud development platform. For on-premise S/4HANA, Key User extensibility and on-stack ABAP are still relevant; side-by-side options pivot to BTP regardless. The clean-core dimensions (coupling, cadence, data) apply identically; only the runtime catalogue narrows.

Q: We have BTPEA credits and the customer wants to “use them” — is that a valid driver?

No. Credit usage is a financial outcome, not a requirement. The right path is to identify the highest-impact pain (Q1), pick the tool that fits the use-case shape, then check that the tool is in BTPEA scope. If the credits cover the right tool, great. If not, that’s a procurement conversation — not a reason to build the wrong thing.

Q: When should I descope BTP application development from a project entirely?

Three signals: (1) no measurable business pain (Q1 fails), (2) the work belongs in S/4HANA itself (Key User extensibility or RAP in-stack — no BTP needed), or (3) the customer has neither the entitlement nor the operations skills to run a BTP service after handover. Any one of these is enough to remove BTP from scope this round.

Q: How do I document this decision properly so it survives an audit?

Three artefacts: (1) the Clean Core extensibility tier classification with reasoning, (2) the use-case → tool mapping (this article’s §5 table is a defensible template), and (3) the commercial entitlement confirmation from procurement. Reference architecture from SAP Discovery Center, if matched, provides external validation.

Q: Is Joule for Developers a separate tool or a feature of the others?

A horizontal capability across BAS, ADT, and VS Code via Joule Studio. It does not change the family selection in §5 — pick the family for the work, then turn on Joule inside that family. SAP’s quoted productivity gains (~20% write, ~25% test) are family-agnostic.

Q: When does it make sense to combine families instead of picking one?

Frequently. A typical pattern is CAP on Build Code (the service) + Build Apps for an internal admin UI + BPA for the approval workflow + Work Zone to surface it all. The §5 table picks tools for use-case shapes, not for entire projects — most real projects span multiple shapes.

Summary

Four decision dimensions in priority order: coupling, skill, cadence, entitlement

BTP application development is solved at requirements time, not at coding time. The four families (Pro Code, ABAP, Low Code, Portal) cover overlapping outcomes through different runtimes and commercial models, and the wrong default — usually “Build Apps for everything” — is far more common than the right one. Apply the four selection dimensions in order: coupling, skill, cadence, entitlement. Use the §5 use-case table as a defensible starting point and the §6 failure list as a sanity check before sign-off. The L2-B series exists so this decision is not improvised.

ArticleWhy
BTP-B01: Application Development Overview and Capability MapStart of the series — the four-family map
BTP-B02: Business Application Studio: Architecture and UsePro Code IDE deep dive
BTP-B03: CAP and Build Code: Architecture and UsePro Code framework + AI-assisted development
BTP-B04: ABAP Environment: Architecture and UseABAP family — Steampunk and Embedded Steampunk
BTP-B05: Build Apps: Architecture and UseLow-code app builder
BTP-B06: Build Process Automation: Architecture and UseWorkflow + RPA combined
BTP-B07: Build Work Zone: Architecture and UsePortal / site family
BTP-B08: Use Cases and Decision Patterns (this article)Closing summary — pick the right tool by coupling, skill, cadence, entitlement