CAPM. Curriculum Design - SAP BTP CAPM (Cloud Application Programming Model)
🧩

CAPM. Curriculum Design - SAP BTP CAPM (Cloud Application Programming Model)


🧭 Applied SAP BTP CAPM – Cloud Application Programming Model

Goal: Master full-stack cloud application development on SAP BTP with CAP — from CDS modeling and service design through business logic, HANA persistence, security, Fiori UIs and deployment — via practical, industry-based use cases.
Duration: 80 Hours (40 sessions × 2 hrs/day)
Structure: Kanban – Planned → In Progress → Completed
Delivery Style: 60% Hands-on Labs, 30% Application Projects, 10% Concept Reviews

🗂️ Mentoring/Coaching Schema

Status
Session
Focus Area
Objective
Deliverable / Output
Tags
🔵 Planned
1. Orientation: The BTP Landscape
Foundations
Understand SAP BTP services, account model, environments & runtime options
Access BTP trial; annotated BTP service capability map
#foundation #orientation
🔵
2. BTP Architecture & Runtimes
Foundations
Compare Cloud Foundry, Kyma & ABAP environments; where CAP fits
Runtime selection decision matrix for app scenarios
#foundation #architecture
🔵
3. CAP Philosophy & Project Anatomy
CAPM Fundamentals
Understand CAP design principles, golden path & project structure (db/srv/app)
Initialized CAP project with documented folder anatomy
#cap #fundamentals
🔵
4. CDS Language Essentials
CAPM Fundamentals
Learn CDS syntax: entities, types, aspects & namespaces
First domain model with reusable aspects
#cap #cds
🔵
5. Defining Services
CAPM Fundamentals
Expose entities via service definitions & projections
Service layer exposing filtered projections of the domain
#cap #services
🔵
6. Running & Testing CAP Apps (Mini-Project 1)
CAPM Fundamentals
Run with cds watch, seed CSV data, test OData endpoints
Working bookshop-style app with sample data & REST tests
#cap #hands-on #project
🔵
7. Business Application Studio Setup
Development Environment
Configure BAS dev spaces, extensions & productivity tooling
Personalized BAS dev space with CAP tooling verified
#devenv #bas
🟡 In Progress
8. Node.js & Java Runtime Options
Development Environment
Compare CAP Node.js vs Java runtimes; local tooling, VS Code & CLI workflows
Same service scaffolded in both runtimes with comparison notes
#devenv #runtime
🔵
9. Data Modeling Foundations
CDS Modeling
Model entities with keys, managed aspects & common types
Normalized domain model for an order-management app
#cds #modeling
🔵
10. Associations & Compositions
CDS Modeling
Master to-one/to-many associations, compositions & deep documents
Header-item model with composition-based deep inserts
#cds #associations
🔵
11. Annotations I: Semantics & UI
CDS Modeling
Apply common annotations: @title, @readonly, @mandatory, UI facets
Annotated model driving generated metadata
#cds #annotations
🔵
12. Annotations II: Localization & Temporal Data
CDS Modeling
Implement localized texts, currencies, temporal aspects & virtual elements
Multi-language product catalogue with i18n bundles
#cds #localization
🔵
13. Model Refactoring Lab
CDS Modeling
Refactor a flat legacy schema into a clean CDS domain model
Refactored model with aspects, associations & annotations
#cds #hands-on
🔵
14. OData Service Deep-Dive
Service Layer
Understand generated OData V4 services: query options, $expand, draft basics
Query cookbook exercising the generated service
#services #odata
🔵
15. Actions & Functions
Service Layer
Define bound/unbound actions & functions with typed parameters
Order-submit action and stock-check function implemented
#services #actions
🔵
16. Service Composition & Restrictions
Service Layer
Split services by audience; apply @readonly/@insertonly restrictions
Admin vs customer service split with restricted projections
#services #design
🔵
17. Consuming External Services
Service Layer
Import external OData APIs; use remote services with destinations
CAP app consuming a mocked S/4HANA business partner API
#services #external
🔵
18. Event Handlers I: CRUD Lifecycle
Business Logic
Implement before/on/after handlers for CRUD events
Handler suite enforcing business rules on create/update
#logic #handlers
🔵
19. Event Handlers II: Custom & Async Events
Business Logic
Emit and subscribe to custom events; understand messaging concepts
Event-driven stock-update flow with emitted domain events
#logic #events
🔵
20. Validations & Error Handling
Business Logic
Implement input validations, req.error/req.reject & i18n messages
Validation layer with localized, structured error responses
#logic #validation
🔵
21. Business Logic Lab (Mini-Project 2)
Business Logic
Combine handlers, validations & CQL queries into a cohesive rules layer
Discount & credit-limit engine with unit tests
#logic #project
🔵
22. SQLite for Development
Persistence Layer
Use in-memory/file SQLite, deploy schema & manage test data
Local persistence setup with reproducible seed strategy
#persistence #sqlite
🔵
23. SAP HANA Cloud Integration
Persistence Layer
Bind HANA Cloud, deploy HDI containers & understand generated artifacts
CAP schema deployed to HANA Cloud via HDI
#persistence #hana
🔵
24. Native HANA Features & Performance
Persistence Layer
Use calculated elements, indexes & database-level tuning considerations
Performance comparison: SQLite dev vs HANA runtime
#persistence #performance
🔵
25. XSUAA & Authentication
Security & Authorization
Configure xs-security.json, XSUAA service instances & JWT flow
Authenticated CAP app with XSUAA binding
#security #xsuaa
🔵
26. Roles & Restrictions
Security & Authorization
Apply @requires/@restrict, roles, scopes & instance-based auth
Role-based access model: admin, clerk, auditor
#security #authorization
🔵
27. Security Testing & Mock Users
Security & Authorization
Test authorizations with mocked users; approuter & role collections
Security test suite + configured approuter
#security #testing
🔵
28. Fiori Elements Fundamentals
Fiori Integration
Generate List Report/Object Page apps from annotated services
Fiori Elements app scaffolded over the CAP service
#fiori #elements
🔵
29. UI Annotations Deep-Dive
Fiori Integration
Craft UI.LineItem, FieldGroups, facets, value helps & criticality
Polished Fiori UI driven entirely by annotations
#fiori #annotations
🔵
30. Draft Handling & Custom Extensions
Fiori Integration
Enable draft-enabled editing; extend Fiori Elements with custom fragments
Draft-enabled transactional app with a custom action button
#fiori #draft
🔵
31. Cloud Foundry Deployment & MTA
Deployment
Build mta.yaml, deploy to CF & bind services (HANA, XSUAA, destinations)
Deployed multi-target application on Cloud Foundry
#deployment #mta
🔵
32. CI/CD Pipelines
Deployment
Set up SAP CI/CD service / GitHub Actions with automated tests & deploy stages
Green pipeline: commit → test → build → deploy
#deployment #cicd
🔵
33. Operations: Logging & Scaling
Deployment
Use application logs, health checks & scaling on CF; troubleshooting workflow
Operations runbook with log-based diagnosis exercise
#deployment #operations
🔵
34. Side-by-Side Extensibility Concepts
Extensibility
Understand clean-core extension patterns & S/4HANA event consumption
Extension architecture blueprint for an S/4HANA scenario
#extensibility #clean-core
🔵
35. Building an Extension App
Extensibility
Consume S/4HANA APIs/events from a CAP side-by-side extension
Extension app reacting to business partner events
#extensibility #hands-on
🟡
36. Capstone Kick-off
Capstone Project
Define full-stack CAP application scope, data model & architecture
Project charter + ERD + solution architecture diagram
#capstone
🟡
37. Capstone Build I: Model & Services
Capstone Project
Implement CDS models, services, actions & business logic
Working backend with test coverage
#capstone
🟡
38. Capstone Build II: UI & Security
Capstone Project
Add Fiori Elements UI, drafts, XSUAA roles & approuter
Secured full-stack application end-to-end
#capstone
🟡
39. Capstone Deployment & Review
QA
Deploy via CI/CD to Cloud Foundry; peer review & performance checks
Production-style deployment + peer validation report
#capstone
🟢 Completed
40. Capstone Presentation
Showcase
Present the full-stack CAP application & lessons learned
Live demo + reflection summary
#presentation

🧱 Board Columns (Kanban)


Create a Board View in Notion from this table with these columns:
  1. 📝 Planned – upcoming or scheduled sessions
  2. ⚙️ In Progress – current learning module
  3. Completed – finished sessions with notes or evidence
You can drag cards between these statuses as you deliver/learn.

🧰 Optional Properties for Each Card

Add these properties to each Notion page/card for richer management:
Property
Type
Example
Duration
Number
2 hrs
Level
Select
Beginner / Intermediate / Advanced
Resource Link
URL
Lab File
File
CDS models, CSV seed data, mta.yaml samples
Evaluation
Number (1–5)
4
Instructor Notes
Text
Key takeaways or challenges
Industry Focus
Multi-select
Retail, Manufacturing, Finance, Logistics, HR Tech

🧠 Bonus Automation Ideas (for Notion + Pabbly or Zapier)

You could integrate:
  • Automatic Status Updates after each session checklist
  • 📬 Daily Reminder ("Today's CAP topic: Associations & Compositions")
  • 📊 Progress Dashboard (completion % by student or module)

📑 Master Syllabus – SAP BTP CAPM (Cloud Application Programming Model)

Sr. No
Topic Name
Sub-Topics
Duration (Hours)
1
SAP BTP Overview
Services, Architecture, Runtime Options
4
2
CAPM Fundamentals
CDS, Services, Entities
8
3
Development Environment
BAS Setup, Node.js, Java Runtime
4
4
CDS Modeling
Data Models, Associations, Annotations
10
5
Service Layer
OData Services, Actions, Functions
8
6
Business Logic
Event Handlers, Validations
8
7
Persistence Layer
HANA Integration, SQLite
6
8
Security & Authorization
XSUAA, Roles, Authentication
6
9
Fiori Integration
Fiori Elements, UI Annotations
6
10
Deployment
Cloud Foundry, CI/CD Pipelines
6
11
Extensibility
Side-by-Side Extensions
4
12
Capstone Project
Full Stack CAP Application
10
Total
80 hrs
 

SAP BTP CAPM 80-Hour Learning Curriculum

40-Day Program (2 Hours Per Day)
Day
Module
Topic
Learning Objectives
Case Study Focus
Hours
1
SAP BTP Overview
BTP Landscape & Services
Understand BTP services, global account/subaccount model and commercial models
A logistics firm evaluating BTP for its custom app portfolio
2
2
SAP BTP Overview
Architecture & Runtime Options
Compare Cloud Foundry, Kyma and ABAP environments; position CAP in the stack
Runtime selection workshop for three application archetypes
2
3
CAPM Fundamentals
CAP Philosophy & Project Anatomy
Understand CAP design principles, the golden path and db/srv/app structure
Bootstrapping a new order-management product from scratch
2
4
CAPM Fundamentals
CDS Language Essentials
Write CDS entities, types, aspects and namespaces
Modelling shared aspects across a multi-team codebase
2
5
CAPM Fundamentals
Defining Services
Expose entities via service definitions and projections
Public vs internal API surface for a partner portal
2
6
CAPM Fundamentals
Running & Testing CAP Apps (Mini-Project 1)
Run with cds watch, seed CSV data and test OData endpoints
Bookshop-style app delivered with REST test evidence
2
7
Development Environment
Business Application Studio Setup
Configure BAS dev spaces, extensions and productivity tooling
Standardized dev-space template for a project team
2
8
Development Environment
Node.js & Java Runtime Options
Compare CAP Node.js vs Java runtimes and local CLI workflows
Runtime decision for a Java-heavy enterprise dev team
2
9
CDS Modeling
Data Modeling Foundations
Model entities with keys, managed aspects and common reuse types
Normalized domain model for order management
2
10
CDS Modeling
Associations & Compositions
Master to-one/to-many associations, compositions and deep documents
Sales order header-item structure with deep inserts
2
11
CDS Modeling
Annotations I: Semantics & UI
Apply @title, @readonly, @mandatory and UI facet annotations
Metadata-driven admin console with zero custom UI code
2
12
CDS Modeling
Annotations II: Localization & Temporal Data
Implement localized texts, currencies, temporal aspects and virtual elements
Multi-language, multi-currency product catalogue
2
13
CDS Modeling
Model Refactoring Lab
Refactor a flat legacy schema into a clean CDS domain model
Migrating a spreadsheet-era data structure to CDS
2
14
Service Layer
OData Service Deep-Dive
Exercise generated OData V4 services: query options, $expand, drafts
Building a query cookbook for frontend developers
2
15
Service Layer
Actions & Functions
Define bound/unbound actions and functions with typed parameters
Order submission action with stock-availability function
2
16
Service Layer
Service Composition & Restrictions
Split services by audience and apply projection-level restrictions
Separate admin, clerk and customer-facing service layers
2
17
Service Layer
Consuming External Services
Import external OData APIs and use remote services via destinations
Enriching orders with S/4HANA business partner data
2
18
Business Logic
Event Handlers I: CRUD Lifecycle
Implement before/on/after handlers for CRUD events
Enforcing pricing rules at order creation
2
19
Business Logic
Event Handlers II: Custom & Async Events
Emit and subscribe to custom events; messaging concepts
Stock-level events triggering replenishment workflows
2
20
Business Logic
Validations & Error Handling
Implement input validations with req.error/req.reject and i18n messages
Localized validation messages for a global user base
2
21
Business Logic
Business Logic Lab (Mini-Project 2)
Combine handlers, validations and CQL queries into a cohesive rules layer
Discount and credit-limit engine with unit test suite
2
22
Persistence Layer
SQLite for Development
Use in-memory/file SQLite, deploy schema and manage test data
Reproducible local dev setup for a distributed team
2
23
Persistence Layer
SAP HANA Cloud Integration
Bind HANA Cloud, deploy HDI containers and inspect generated artifacts
Promoting the dev schema to a shared HANA Cloud instance
2
24
Persistence Layer
Native HANA Features & Performance
Use calculated elements, indexes and database-level tuning
Optimizing a slow analytical query on order history
2
25
Security & Authorization
XSUAA & Authentication
Configure xs-security.json, XSUAA instances and the JWT flow
Securing a customer-facing app with platform identity
2
26
Security & Authorization
Roles & Restrictions
Apply @requires/@restrict with roles, scopes and instance-based auth
Admin/clerk/auditor role model with row-level restrictions
2
27
Security & Authorization
Security Testing & Mock Users
Test authorizations with mocked users; configure approuter and role collections
Authorization regression suite for release gates
2
28
Fiori Integration
Fiori Elements Fundamentals
Generate List Report/Object Page apps from annotated services
Order-monitoring app generated over the CAP service
2
29
Fiori Integration
UI Annotations Deep-Dive
Craft UI.LineItem, FieldGroups, facets, value helps and criticality
Executive-grade UI with traffic-light criticality indicators
2
30
Fiori Integration
Draft Handling & Custom Extensions
Enable draft-based editing and extend Fiori Elements with fragments
Draft-enabled order editing with a custom approval button
2
31
Deployment
Cloud Foundry Deployment & MTA
Build mta.yaml, deploy to CF and bind HANA/XSUAA/destination services
First production-style MTA deployment
2
32
Deployment
CI/CD Pipelines
Set up SAP CI/CD service or GitHub Actions with test and deploy stages
Commit-to-deploy pipeline with automated quality gates
2
33
Deployment
Operations: Logging & Scaling
Use application logs, health checks and scaling; structured troubleshooting
Diagnosing a production incident from log streams
2
34
Extensibility
Side-by-Side Extensibility Concepts
Understand clean-core extension patterns and S/4HANA event consumption
Extension strategy keeping the S/4HANA core clean
2
35
Extensibility
Building an Extension App
Consume S/4HANA APIs and events from a CAP side-by-side extension
Supplier-scoring extension reacting to BP change events
2
36
Capstone Project
Capstone Kick-off
Define full-stack CAP application scope, data model and architecture
Project charter + ERD for the "AuroraSupply" vendor portal
2
37
Capstone Project
Capstone Build I: Model & Services
Implement CDS models, services, actions and business logic
Working backend with automated test coverage
2
38
Capstone Project
Capstone Build II: UI & Security
Add Fiori Elements UI, drafts, XSUAA roles and approuter
Secured full-stack application end-to-end
2
39
Capstone Project
Capstone Deployment & Review
Deploy via CI/CD to Cloud Foundry; peer review and performance checks
Production-style deployment with peer validation report
2
40
Capstone Project
Capstone Presentation
Present the full-stack CAP application, demo the flow and capture lessons learned
Live demo + reflection summary + next-steps roadmap
2

📊 Learning Path Summary

Week 1 (Days 1-6): Foundations – BTP landscape, runtimes, CAP philosophy and first working app (Mini-Project 1)
Week 2 (Days 7-13): Environment & Modeling – BAS setup, Node.js/Java runtimes and deep CDS modeling with annotations
Week 3 (Days 14-17): Service Layer – OData V4, actions, functions, service composition and external service consumption
Week 4 (Days 18-24): Logic & Persistence – Event handlers, validations (Mini-Project 2), SQLite and HANA Cloud integration
Week 5 (Days 25-30): Security & UI – XSUAA, roles, security testing, Fiori Elements and UI annotations
Week 6 (Days 31-35): Deployment & Extensibility – MTA, CI/CD, operations and side-by-side extension patterns
Weeks 7-8 (Days 36-40): Capstone – Full-stack CAP application from charter to live demo

🎯 Key Differentiators

  • Full-Stack Coverage: Every layer from CDS model to Fiori UI, security and CI/CD in one continuous build
  • Hands-On Practice: Every session includes labs on a live BTP trial/free-tier account
  • Clean-Core Alignment: Extensibility sessions grounded in SAP's side-by-side extension strategy
  • Engineering Discipline: Unit testing, pipelines, logging and operations treated as first-class topics
  • Progressive Complexity: Builds from a bookshop starter to a production-style vendor portal capstone

📚 Recommended Resources

  • CAP Documentation (capire): The canonical CAP reference at cap.cloud.sap
  • SAP Learning Hub / learning.sap.com: BTP and CAP learning journeys and certification prep
  • SAP Developer Tutorials: Guided missions for CAP, HANA Cloud and Fiori Elements
  • SAP Community: CAP-focused blogs, sample repositories and expert Q&A
  • BTP Free Tier / Trial: Hands-on environment for developing and deploying all exercises

🎓 Assessment & Outcomes

After completing this 80-hour CAP-focused curriculum, learners will:
  • Design domain models in CDS with associations, compositions, annotations and localization
  • Build and secure OData V4 services with actions, functions and role-based authorization
  • Implement robust business logic with event handlers, validations and custom events
  • Persist to SQLite in development and SAP HANA Cloud in production via HDI
  • Deliver annotated Fiori Elements UIs with draft handling and custom extensions
  • Deploy multi-target applications to Cloud Foundry through automated CI/CD pipelines
  • Build clean-core side-by-side extensions for S/4HANA
  • Be prepared for SAP BTP extension developer certification paths and Big4 Consulting Grade Simulation Assessment using SAP Activate