Application Development: Use Cases and Decision Patterns

- 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
| ID | Topic |
|---|---|
| BTP-B01 | Application Development Overview and Capability Map |
| BTP-B02 | Business Application Studio: Architecture and Use |
| BTP-B03 | CAP and Build Code: Architecture and Use |
| BTP-B04 | ABAP Environment: Architecture and Use |
| BTP-B05 | Build Apps: Architecture and Use |
| BTP-B06 | Build Process Automation: Architecture and Use |
| BTP-B07 | Build Work Zone: Architecture and Use |
| BTP-B08 | Use Cases and Decision Patterns (this article) |
References
| Resource | URL |
|---|---|
| Cloud Foundry, Kyma, or Both? (BTP Admin Guide) | help.sap.com → |
| ABAP Extensibility Guide — Clean Core for SAP S/4HANA Cloud | community.sap.com → |
| SAP Build product family | sap.com → |
| SAP Discovery Center — Reference Architectures | discovery-center.cloud.sap → |
| SAP Cloud Application Programming Model (capire) | cap.cloud.sap → |
1) The Application Development Landscape

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.
| Family | Primary tools (B02–B07) | Primary user | When it is the right default |
|---|---|---|---|
| Pro Code | Business Application Studio (B02), CAP / Build Code (B03) | Pro developer (Java / Node / TypeScript) | Loose-coupling enterprise services on Cloud Foundry or Kyma |
| ABAP | BTP ABAP Environment + Embedded Steampunk (B04) | ABAP-skilled developer | Extensions tightly tied to S/4HANA business logic and data |
| Low Code / No Code | Build Apps (B05), Build Process Automation (B06) | Citizen developer / process owner | Departmental apps and SAP-plus-non-SAP workflows |
| Portal / Site | Build Work Zone standard + advanced (B07) | IT + LoB | Surfacing 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

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

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.
| Family | Maturity | Notes |
|---|---|---|
| Pro Code (CAP, Build Code, BAS) | ✅ Production-ready | CAP 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-ready | ABAP 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 prerequisites | Production-ready for departmental scope. Hits performance/governance ceilings on enterprise-critical workloads — the warning is not theoretical. |
| Low Code (Build Process Automation) | ✅ Production-ready | Successor to Workflow Management + Intelligent RPA, now unified. 2026 “Guided Experiences” extends BPA into Work Zone wizards. |
| Portal (Build Work Zone) | ✅ Production-ready | Standard and advanced are both GA. Common error is scoping it as an app platform — it isn’t. |
4) Requirements Checklist

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 item | Why it matters |
|---|---|
| Development team has Java or Node.js fluency, plus OData/CDS understanding | CAP 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 runtime | Both 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 confirmed | Joule for Developers is bundled in 2026 BAS plans, but VS Code teams need explicit entitlement |
| SAP HANA Cloud instance budgeted for production | CAP + HANA Cloud is the canonical pairing for production; SQLite/H2 are dev-only |
| Multi-tenant vs single-tenant decision documented | CAP 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 item | Why 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 usage | ABAP 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 Environment | AWS, Azure, GCP, SAP CI — must align with customer’s wider cloud strategy |
| Code Vulnerability Analyzer (CVA) and ATC checks in CI/CD | Included with ABAP Environment; using them is not optional for clean-core compliance |
| Release cadence aligned with S/4HANA upgrade window if Embedded | Embedded code follows the S/4 release cycle — no independent releases |
Low Code (Build Apps + Build Process Automation) prerequisites
| Checklist item | Why it matters |
|---|---|
| Use case fits departmental scope, not enterprise-critical | Build Apps hits ceilings on high throughput, complex UI, fine-grained governance — confirm scope honestly |
| Citizen developer or process owner identified and trained | These tools are not “self-service” — they require trained citizen developers with mentor support |
| OData / REST destinations defined for SAP and non-SAP systems | Build Apps cannot extend the runtime; missing destinations block the build entirely |
| Governance model agreed: tenant, environments, lifecycle | Citizen-developer sprawl is the most-cited governance failure with low-code |
| BTPEA/CPEA credits or subscription confirmed for Build Apps + BPA | Both are credit-consumable; an unbudgeted “let’s just build it in BPA” stalls in procurement |
| Workflow ownership: process owner, IT, and approval chain defined | BPA is workflow + RPA; without owners, automations rot |
Portal (Build Work Zone) prerequisites
| Checklist item | Why it matters |
|---|---|
| Standard vs advanced edition decision made | Standard = launchpad; advanced = collaboration. Picking advanced for a pure launchpad is overspend |
| Apps-to-be-surfaced inventory complete | Work Zone surfaces apps built elsewhere — without an app inventory there is nothing to surface |
| Identity provider and role-collection design ready | Work 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 identified | A 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

| Checklist item | Why it matters |
|---|---|
| Extensibility tier classified per Clean Core guidance | Tiers (Key User → Developer → Side-by-side) drive every other decision |
| Event-driven option evaluated before request/response | SAP-preferred pattern in 2026; decouples release cycles |
| Reference architecture from SAP Discovery Center matched or deviation justified | Methodology, not improvisation |
| Joule for Developers entitlement explicit per role | Available across BAS, ADT, VS Code in 2026 — costed differently per family |
| Commercial model (BTPEA, CPEA, subscription, PAYG) committed | Tool selection has commercial consequences; an unfunded right tool is the wrong tool |
| Data residency and tenant region locked in | Some 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

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 shape | Recommended starting tool | Family |
|---|---|---|
| Custom field on a standard S/4HANA table | Key User extensibility (in-app) | S/4 — not BTP |
| On-stack BAdI / tightly coupled S/4 logic | Embedded Steampunk | ABAP |
| Side-by-side ABAP service (decoupled release) | BTP ABAP Environment | ABAP |
| Side-by-side enterprise service in Java / Node | CAP on Build Code | Pro Code |
| Custom Fiori app on BTP, complex UI | BAS + UI5 / Fiori elements | Pro Code |
| Departmental web/mobile app, simple UI, citizen developer | Build Apps | Low Code |
| Workflow spanning SAP and non-SAP systems | Build Process Automation | Low Code |
| Internal portal / launchpad | Build Work Zone (standard edition) | Portal |
| Branded LoB digital workspace with collaboration | Build Work Zone (advanced edition) | Portal |
| One-off automation with no SAP business object | Often: do not use BTP | n/a |
| No clear pain point identified yet | Stop. Go back to Q1. | n/a |
Licensing and cost

| Family | Licensing model | Key question to ask |
|---|---|---|
| Pro Code (CAP, Build Code, BAS) | BAS subscription per developer; CAP runtime consumes Cloud Foundry/Kyma + HANA Cloud entitlement | Is 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 entitlement | Hyperscaler choice — does pricing change between AWS/Azure/GCP/SAP CI? |
| Low Code (Build Apps + BPA) | Consumption-based (credits) under BTPEA/CPEA, or standalone subscription | Citizen-developer count and runtime usage — both drive cost |
| Portal (Work Zone) | Standard subscription per user; advanced subscription per user with collaboration features | Standard or advanced — and how many users actually need each tier? |
6) Common Failures

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

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.
What to Read Next
| Article | Why |
|---|---|
| BTP-B01: Application Development Overview and Capability Map | Start of the series — the four-family map |
| BTP-B02: Business Application Studio: Architecture and Use | Pro Code IDE deep dive |
| BTP-B03: CAP and Build Code: Architecture and Use | Pro Code framework + AI-assisted development |
| BTP-B04: ABAP Environment: Architecture and Use | ABAP family — Steampunk and Embedded Steampunk |
| BTP-B05: Build Apps: Architecture and Use | Low-code app builder |
| BTP-B06: Build Process Automation: Architecture and Use | Workflow + RPA combined |
| BTP-B07: Build Work Zone: Architecture and Use | Portal / site family |
| BTP-B08: Use Cases and Decision Patterns (this article) | Closing summary — pick the right tool by coupling, skill, cadence, entitlement |