writing-skills
writing-skills
Use when creating new skills, editing existing skills, or verifying skills work before deployment
btp-business-application-studioSAP Business Application Studio (BAS) — dev spaces, CAP project creation, Fiori tools, debugger setup, hybrid testing, deployment workflows, source control. Use when working in BAS, creating dev spaces, configuring extensions, or troubleshooting BAS connectivity.
Independent GitHub snapshot · Automated classification · Original documentation governs
name: btp-business-application-studio description: > SAP Business Application Studio (BAS) — dev spaces, CAP project creation, Fiori tools, debugger setup, hybrid testing, deployment workflows, source control. Use when working in BAS, creating dev spaces, configuring extensions, or troubleshooting BAS connectivity. trigger:
Cloud IDE on SAP BTP for CAP, Fiori, and full-stack development. Browser-based, no local install needed.
cf commands outside BAS| Type | Key Extensions | Best For |
|---|---|---|
| Full Stack Cloud Application | CAP, CDS, Fiori tools, MTA | CAP + Fiori apps |
| SAP Fiori | Fiori tools, UI5 Adaptation | Freestyle UI5, adaptation |
| SAP HANA Native | HANA tools, DB Explorer, HDI | HANA DB artifacts |
| Basic | None (manual install) | Custom setup, non-SAP |
# In BAS terminal (Terminal → New Terminal)
cd /home/user/projects
cds init my-app --add java,nodejs,mta,fiori,sample
cd my-app
npm install
# Create Fiori app from template
# Use View → Find Command → "Fiori: Open Application Generator"
# Choose floorplan (List Report, Object Page, etc.)
# Select OData service → Configure → Generate
cd /home/user/projects
git clone https://github.com/myorg/my-cap-app.git
cd my-cap-app
npm install
Bind local CAP runtime to BTP-backed services (HDI, XSUAA, destination) for realistic testing:
# Bind to running BTP service instances
cds bind -2 my-hdi-container,my-xsuaa
# Start dev server with hybrid profile
cds watch --profile hybrid
# Test endpoint locally — hits real BTP backends
curl http://localhost:4004/odata/v4/catalog/Books
.js or .ts handler file in BAS editorF5 → select debug configuration: CDS with Node.jsF10: Step OverF11: Step IntoShift+F11: Step OutF5: Continue# Compile CDS → CSN/EDMX/SQL
cds build
# Build MTA archive
mbt build
# Deploy to Cloud Foundry
cf login -a https://api.cf.us10.hana.ondemand.com -o <org> -s <space>
cf deploy mta_archives/my-app_1.0.0.mtar
# Push to git
git add -A && git commit -m "feat: initial CAP app"
git push origin main
| Cause | Solution |
|---|---|
| Dev space stopped unexpectedly | Dev spaces auto-stop after 30 min idle. In BAS launcher, click Start to resume. Work is preserved. |
cds bind fails with "service not found" | Service instances must exist in the current CF space. Run cf services to verify. Create missing instances with cf create-service. |
| Large node_modules exceeds 10 GB limit | Dev spaces have 10 GB storage. Run npm prune --production or delete .cache/ dir. Use npm ci instead of npm install for deterministic builds. |
| Only one dev space running | Free-tier subaccounts allow only 1 running dev space. Stop others before starting a new one. |
| Extension not found in marketplace | BAS uses the Open VSX Registry, not the VS Code Marketplace. Install custom extensions from .vsix files via Extensions → ... → Install from VSIX. |
mbt build fails — Makefile not found | Run cds add mta first to generate the mta.yaml and Makefile. Ensure mbt CLI is installed: npm install -g mbt. |
| Debugger won't attach | Ensure cds watch is not already running on the same port. Stop it, then start via F5 debug config. Check .vscode/launch.json exists. |
# Dev space is running
# (Check in BAS launcher — status should be "RUNNING")
# CAP project structure is valid
cds compile srv/ -2 sql 2>&1 | head -5 # No errors = valid model
# Dev server responds
curl -s http://localhost:4004/odata/v4/catalog/$metadata | head -3
# MTA archive built
ls -la mta_archives/*.mtar # Should show .mtar file
# Deployment succeeded
cf apps # App should show "started" state
curl -s https://my-app.cfapps.<region>.hana.ondemand.com/odata/v4/catalog/$metadata | head -3
# Git push succeeded
git log --oneline -3 # Shows recent commits
git status # Shows "up to date"
Checklist:
cds watch serves OData endpoint at localhost:4004mbt build produces .mtar without errorscf deploy completes with all modules startedgit status clean)