Technical Articles
Multitenant Business Applications with CAP | Hands-on Video Tutorials
Philip MUGGLESTONE from the SAP HANA Academy and the Partner Innovation Lab just uploaded a new series of hands-on video tutorials about developing multitenant business applications for SAP Business Technology Platform (BTP) using SAP Cloud Application Programming model (CAP). In this blog post you will find the videos embedded with references and additional information. For more partner-focused hands-on developer series, see
Questions? Please post as comment. Useful? Give us a like and share on social media. Thanks! === Update May 23, 2022 – added video tutorial additional services |
Hands-On Video Tutorials
What You Will Learn
The SAP Business Technology Platform Multitenant Business Application playlist on the SAP HANA Academy YouTube channel is growing rapidly. The first part of the playlist, videos 1 to 10 cover the basics of developing multitenant business applications and were covered in a previous blog post.
Tutorial video 11-20 revisit similar topics but this time using the SAP Cloud Application Programming model, CAP in short. Topics covered are
- Routes
- Dependencies
- Credential Store
- Extend
- Custom Domain
- Local Development
- HDI
- Additional Services (added May, 2022)
YouTube Playlist
To bookmark or directly access the playlist, go to
Free Trial Account
To follow along, you’ll need a (free) SAP Business Technology Platform (BTP) trial account.
Read the Docs
For detailed information about the SAP Cloud Programming model and multitenancy, see
For the documentation, visit
- Developing Multitenant Applications in the Cloud Foundry environment | SAP Help Portal
CAP – First Application I
Tutorial
In this video tutorial, Philip Mugglestone scaffolds a simple first multitenant application using the SAP Cloud Application Programming Model (CAP) and reviews the code before building the project and deploying it to the Cloud Foundry runtime.
Markers
0:00 – Introduction
1:05 – CAP Reference Guide
2:39 – SAP HANA Cloud
3:08 – SAP Business Application Studio
4:05 – Install Jumpstart Generator for CAP
5:00 – Scaffold Application
6:45 – Code Review – db
7:05 – Code Review – srv
9:50 – Code Review – app
10:14 – Code Review – package.json
11:20 – Code Review – xs-security.json
12:15 – Code Review – mta.yaml
14:33 – Build & Deploy
CAP – First Application II
Tutorial
In this video tutorial, Philip Mugglestone shows how to subscribe and configure tenants of the simple first multitenant application already built and deployed in part one.
Markers
0:00 – Introduction
0:30 – Review Service Instances
1:26 – Review Application Log
2:30 – Create Tenant Subaccounts & Subscribe
4:30 – Trust Configuration – Assign Authorization
5:07 – Create & Map Routes
6:50 – Test Application
11:54 – Tear-down Application (Unsubscribe & Undeploy)
CAP – Routes
Tutorial
In this video tutorial, Philip Mugglestone shows how to use the Cloud Foundry RESTful API (CF API) to create consumer/tenant routes programmatically during the subscription process rather than having to create them manually using the BTP Cockpit or Cloud Foundry CLI.
Markers
0:00 – Introduction
0:42 – Scaffold Project
1:30 – Code Review – mta.yaml
2:25 – Code Review – provisioning.js
3:53 – CF API Documentation
4:30 – Build & Deploy
5:15 – Authorize CFAPI technical user
5:51 – Configure CFAPI destination
7:00 – Subscribe Tenant & Test Application
8:20 – Unsubscribe & Review Routes
8:38 – Review Logs
CAP – Dependencies
Tutorial
In this video tutorial, Philip Mugglestone shows how to work with dependencies in the context of multitenant business applications. Philip uses the destination service as an example of a multtenant aware reuse service and covers how to configure the relevant application callbacks as well as use the service in the application.
Markers
0:00 – Introduction
0:45 – Scaffold Project
1:52 – Code Review – mta.yaml
3:11 – Code Review – srv/provisioning.js
3:58 – Code Review – srv/catalog-service.js
4:18 – Code Review – package.json
4:51 – Build & Deploy
5:41 – Subscribe Tenants & Test Application
6:40 – Review, Configure & Test Destinations
CAP – Credential Store
Tutorial
In this video tutorial, Philip Mugglestone shows how to make use of the SAP Credential Store in the context of a multitenant application to securely manage technical user credentials and API keys.
Markers
0:00 – Introduction
0:45 – BTP Entitlements – SAP Credential Store
1:16 – Scaffold Project
3:40 – Review SAP Credential Store service instance
4:40 – Set CFAPI Credentials 5:25 – Code Review – mta.yaml
5:55 – Code Review – srv/provisioning.js
6:40 – Code Review – srv/lib/credStore.js
7:14 – Code Review – srv/catalog-service.js
8:01 – Build & Deploy
8:25 – Subscribe Tenant & Test Application
CAP – Extend
Tutorial
In this video tutorial, Philip Mugglestone shows how subscribers to a multitenant application can extend the data model and services of their tenant.
Markers
0:00 – Introduction
0:55 – Code Review
2:50 – Assign Role Collections
4:10 – cds extend
5:30 – Obtain Passcode
6:30 – cds extend –templates
7:40 – Code Review – db/extend.cds, db/new.cds, srv/extensions.cds
11:15 – cds activate
11:57 – Test Extensions
12:44 – Review Application Logs
13:45 – Apply Extensions to a Different Tenant
CAP – Custom Domain
Tutorial
In this video tutorial, Philip Mugglestone shows how to configure a multitenant business application with a custom domain. Philip scaffolds an example application and explains how to configure “wildcard” host mapping.
Markers
0:00 – Introduction
0:50 – Scaffold Project
1:53 – Code Review – mta.yaml
3:44 – Code Review – xs-security.json
4:35 – Code Review – srv/provisioning.js
5:35 – Review Jumpstart Generator Log – cf map-route
CAP – Local Development
Tutorial
In this video tutorial, Philip Mugglestone shows how to enable “local” development of multitenant business applications – in particular from SAP Business Application Studio.
Markers
0:00 – Introduction
0:40 – Scaffold Project
1:10 – Configure redirect-uris in xs-security.json
2:10 – Build & Deploy
2:25 – Subscribe Tenants
3:55 – Set Authentication Strategy to JWT in package.json
4:40 – Install default-env plugin for CF CLI
5:20 – srv – cf de app-srv
6:05 – srv – cds watch
6:42 – app – cf de app
7:10 – Configure destinations, TENANT_HOST & EXTERNAL_REVERSE_PROXY in app/default-env.json
9:37 – npm run custom
10:20 – Test Locally Running Application
CAP – HDI (Under the Hood)
Tutorial
In this video tutorial, Philip Mugglestone shows how to find out more about SAP HANA Cloud HDI containers created for each subscriber tenant by the service instance of SAP Service Manager.
Markers
0:00 – Introduction
0:45 – Review Service Manager Service Instance – HDI Containers
1:50 – Install SMSI plugin for CF CLI
2:30 – cf smsi -m -a
3:05 – SQLTools
3:20 – Connect & Review Tenant HDI Containers
4:05 – Change Data For a Tenant Subscriber
4:23 – Review Tenant HDI Containers
5:10 – Connect & Review _META_ HDI Container
BTP Multitenant CAP – Additional Services
Tutorial
In this video tutorial, Philip Mugglestone shows how to configure additional backend services as part of a CAP-based multitenant business application for performance, functional or scalability reasons. Both CAP-based and regular Node.js examples of additional services are configured.
Markers
0:00 – Introduction
1:30 – Start CAP generator
2:35 – Source code review
12:10 – Build and deploy
12:40 – Configure Destination service
13:35 – Register technical user
13:55 – Subscribe app
15:20 – Launch app
16:05 – Recap
Share and Connect
Questions? Please post as comment.
Useful? Give us a like and share on social media.
Thanks!
If you would like to receive updates, connect with me on
- LinkedIn > linkedin.com/in/dvankempen
- Twitter > @dvankempen
For the author page of SAP PRESS, visit
Over the years, for the SAP HANA Academy, SAP’s Partner Innovation Lab, and à titre personnel, I have written a little over 300 posts here for the SAP Community. Some articles only reached a few readers. Others attracted quite a few more. For your reading pleasure and convenience, here is a curated list of posts which somehow managed to pass the 10k-view milestone and, as sign of current interest, still tickle the counters each month. |
Hi,
great article!
Is it possible to extend UI? For example add some fields to existing app?
Hi Denys van Kempen
Thanks for the article. This is very helpful and gave us a good starting point. I have started working on extending this app to accomidate Fiori UI. I was successful upto building the MTA but got stuck at the deployment phase and getting the below error.
Hi @svelagala
I am also getting the same error
Denys van Kempen Pl provide your any inputs / comments for the above error.
Thanks
Lakshmi
Hi Srinath Velagala,
The issue is new to me. No answer 1-2-3 and the MTA does not provide sufficient information to reproduce.
Would you mind posting the question to the forum? > answers.sap.com
This space is monitored by the experts who might have an answer.
Thanks!