What you'll need
Choose your preferred development environment below. SAP Business Application Studio (BAS) requires only a web browser. Local setup requires Node.js 20+ and additional tools.
Prerequisites
There are hardware, software and service prerequisites for participating in this CodeJam. The exercises will be shown executing in the SAP Business Application Studio as the development tool. However you can also execute them locally on your own tooling such as Microsoft VSCode or using a Dev Container or Codespace. See separate section for each of these options.
Note on the HANA Graphical Calculation View Editor: This tool is only available inside SAP Business Application Studio. If you choose a local development setup, you will need to return to BAS (or use a Dev Container / Codespace) specifically for Exercise 6. All other exercises can be completed locally.
Normal Prerequisites (SAP Business Application Studio)
Hardware
- If attending an in-person CodeJam, please bring your own laptop.
Software
Services
- You will get access to the provided SAP BTP account for the CodeJam. If you want to continue learning afterwards, you can also sign up for a free SAP Business Technology Platform trial account:
Prerequisites for Performing the Exercises Locally
In this exercise variant, you will install all development tools locally and develop there. Unfortunately the SAP HANA Graphical Calculation View Editor is not supported as a VSCode Extension yet, so Exercise 6 must be performed in the SAP Business Application Studio. However the rest of the exercises are possible locally.
There are two additional approaches to get BAS-quality tooling without a full local install:
- Remote Access for SAP Business Application Studio — connects your local VS Code to a running BAS dev space in the cloud, so all tools and runtimes execute remotely. See the section below.
- SAP Business Application Studio toolkit — installs BAS tooling (wizards, project explorer, task runners) directly into your local VS Code, no remote connection needed. See the section below.
Remote Access for SAP Business Application Studio
The Remote Access for SAP Business Application Studio extension (SAPOSS.app-studio-remote-access) allows you to connect to SAP Business Application Studio dev spaces directly from a local Visual Studio Code desktop application. Your code and all development tools run inside the remote BAS dev space; your local VS Code is just the UI.
- Reduced Local Setup: No need to install Node.js, CAP tooling, CF CLI, or SAP extensions locally — everything runs in the remote dev space.
- Full BAS tooling parity: Because the dev space is a real BAS environment, BAS-exclusive tools such as the HANA Graphical Calculation View editor (Exercise 6) are available.
- Requires an active BAS dev space: You need an SAP BTP account with BAS enabled and a running dev space to connect to.
For detailed information, refer to the blog post.
SAP Business Application Studio toolkit
The SAP Business Application Studio toolkit (SAPOSS.app-studio-toolkit) brings essential BAS capabilities directly into your local VS Code installation — no running BAS workspace or remote connection required.
It installs the same SAP-maintained tooling that powers BAS dev spaces, including:
- Application Wizard — the Yeoman-based project scaffolding UI used in BAS exercises (same wizard dialogs, locally)
- SAP Project Explorer — the dedicated sidebar panel for navigating CAP, Fiori, and MTA projects
- Actions and task runners — BAS-style run configurations surfaced in the VS Code UI
Install it from the VS Code Marketplace:
- Open VS Code and go to the Extensions panel (
Ctrl+Shift+X/Cmd+Shift+X). - Search for SAP Business Application Studio toolkit or paste
SAPOSS.app-studio-toolkitinto the search box. - Click Install.
vs. Remote Access above: Remote Access connects your local VS Code to a remote, running BAS dev space — your code and tools actually run in the cloud. The toolkit extension is self-contained and runs entirely on your local machine, requiring no active BAS subscription or network connection to SAP BTP for day-to-day development. The tradeoff is that some BAS-exclusive graphical tools (such as the HANA Calculation View editor used in Exercise 6) are not available locally even with the toolkit extension.
Local Hardware
- None
Local Software
Node.js
Install Node.js 24 (recommended) or another even-numbered LTS release (20 or 22). Odd-numbered versions lack native module support for some CAP dependencies and may fail to install. In case of problems, see the Troubleshooting guide for CAP.
| OS | Instructions |
|---|---|
| Windows | Download the installer from nodejs.org or use winget install OpenJS.NodeJS.LTS |
| macOS | Use Homebrew: brew install node@24, or download from nodejs.org |
| Linux | Use NodeSource — run curl -fsSL https://deb.nodesource.com/setup_24.x | sudo -E bash - && sudo apt-get install -y nodejs (Debian/Ubuntu), or sudo dnf install nodejs (Fedora/RHEL) |
Tip: On any OS, nvm (macOS/Linux) or nvm-windows (Windows) make it easy to switch between Node.js versions.
After installing, verify:
node --version # should print v24.x.x
npm --version
Git
| OS | Instructions |
|---|---|
| Windows | Download from git-scm.com or winget install Git.Git |
| macOS | Included with Xcode Command Line Tools: xcode-select --install, or brew install git |
| Linux | sudo apt-get install git (Debian/Ubuntu) or sudo dnf install git (Fedora/RHEL) |
Cloud Foundry CLI
| OS | Instructions |
|---|---|
| Windows | Download the installer from Cloud Foundry CLI releases or winget install CloudFoundry.cli |
| macOS | brew install cloudfoundry/tap/cf-cli@8 |
| Linux | Follow the CF CLI Linux install guide |
Verify: cf --version
CAP Development Kit (@sap/cds-dk)
Install globally via npm — same command on all platforms:
npm install -g @sap/cds-dk
cds --versionSee Add CAP tooling for the full walkthrough.
MTA Build Tool
npm install -g mbt
mbt --versionAlternatively download a binary from the SAP Cloud MTA Build Tool releases page.
Local IDE Options
The exercises and screenshots use Microsoft Visual Studio Code, but other editors work for the non-BAS steps.
Microsoft Visual Studio Code (recommended for local development)
Install VS Code — available for Windows, macOS, and Linux.
Install the required extensions:
- SAP CDS Language Support
- SAP Fiori Tools Extension Pack
- ESLint
- SAP HANA Database Explorer (optional – for SQL-level exploration)
- REST Client (optional – for testing OData endpoints)
- Remote Access for SAP Business Application Studio (optional – connect your local VS Code to a running BAS dev space; see section above)
- SAP Business Application Studio toolkit (optional – run BAS wizards and tooling locally without a remote connection; see section above)
Install one of the two extensions above depending on your preference — Remote Access if you want to work inside a cloud-hosted BAS dev space, or the toolkit if you want BAS-style tooling running entirely on your local machine. See the sections linked above for a full comparison.
See also the full list in Install VS Code extensions.
JetBrains IDEs (WebStorm / IntelliJ IDEA Ultimate)
JetBrains IDEs can be used for editing JavaScript, CDS, and YAML files. Note the following limitations:
- There is no official SAP CDS Language Server plugin for JetBrains. CDS files (
.cds) will be treated as plain text — you lose syntax highlighting and code completion for CDS. - SAP Fiori tools visual editors are VS Code / BAS only.
- The MTA build,
cdsCLI, and CF CLI all work from the JetBrains integrated terminal as normal.
If you use a JetBrains IDE, plan to switch to BAS or VS Code for Exercise 6 (Calculation View) and wherever CDS editing guidance is shown in the exercises.
Neovim / other editors
Any editor that supports the CDS Language Server Protocol can provide CDS IntelliSense. Install the language server globally:
npm install -g @sap/cds-lspThen configure your editor's LSP client to use cds-lsp --stdio as the language server for .cds files.
Local Services
Prerequisites for Performing the Exercises in a Dev Container
In this scenario you will develop locally but reduce the amount of setup steps and tools you need to install by using development containers. This uses Docker Desktop and VSCode extensions provided by Microsoft to configure and remotely connect VSCode to a container.
Devcontainer Architecture
All Node.js, npm, Git, CF CLI, CAP tooling, and VS Code extensions are pre-configured inside the container image — you do not need to install them on your host machine.
Dev Container Software
A Docker-based container orchestration tool:
OS Recommended option Windows Docker Desktop (requires WSL 2 backend; enable in Docker Desktop settings) macOS Docker Desktop or OrbStack (lighter alternative) Linux Docker Engine — no Desktop required. Add your user to the dockergroup:sudo usermod -aG docker $USERthen log out and back inThe license for Docker Desktop has changed — see Docker is Updating and Extending Our Product Subscriptions for an overview. For corporate laptops, check with your IT policy or consider Podman Desktop as a licence-free alternative.
When the project opens in VSCode you should receive a dialog in the lower right corner that the "Folder contains a Dev Container". Choose to
Reopen in Container
Node.js Docker Images for Dev Containers
When using Dev Containers, you might encounter different Node.js Docker images such as buster, bullseye, and bookworm. These names refer to different Debian releases that the Node.js images are based on:
- buster: Based on Debian 10. Older, stable release.
- bullseye: Based on Debian 11. Good balance of stability and up-to-date packages.
- bookworm: Based on Debian 12. Current stable release — the default in this repository's
devcontainer.json.
For most users bookworm (the current default) is the right choice.
Dev Container Services
Prerequisites for Performing the Exercises in a Codespaces
This is a hybrid scenario. It uses the Dev Container configuration but runs the container and development tools in the cloud via GitHub Codespaces. It has the ease of getting started similar to SAP Business Application Studio Dev Spaces, but allows for more customization of the environment and a larger range of VS Code Extensions.
Codespaces Hardware
- None — everything runs in the cloud.
Codespaces Software
From GitHub choose the option to create a new codespace.

You can then use this codespace from the browser or open it remotely in your locally installed VS Code. The codespace will be pre-configured with the correct Node.js runtime, all other development tools, and will already have the project cloned into it.
Note: GitHub Codespaces has a free monthly quota for personal accounts. If you exceed it, charges apply. Check your Codespaces billing settings before extended use.
Codespaces Services
AI Code Assistant Setup
SAP has moved towards open tooling in the AI code assistant space. Rather than a single prescribed tool, you can choose from several options that integrate well with the SAP CAP and HANA ecosystem. The options below all work in VS Code (local or Dev Container) and in GitHub Codespaces.
AI code assistants can help with boilerplate CAP service definitions, CDS annotations, JavaScript handlers, and understanding OData/HANA patterns. They work best as a complement to the SAP documentation — always verify generated code against the CAP docs at cap.cloud.sap.
GitHub Copilot
GitHub Copilot is a widely used AI code assistant within VS Code and GitHub Codespaces. It provides inline completions and a chat interface.
- Subscribe to GitHub Copilot (free tier available for individual users).
- Install the GitHub Copilot extension in VS Code.
- Install the GitHub Copilot Chat extension for the chat panel.
- Sign in with your GitHub account when prompted.
This repository includes Copilot workspace instructions in .github/copilot-instructions.md and scoped instructions in .github/instructions/ that guide Copilot on CAP conventions and safe editing patterns for this project — they are picked up automatically when you use Copilot Chat inside the repo.
SAP Joule / SAP Build Code AI
If you are developing inside SAP Business Application Studio, SAP Joule is the native AI assistant integrated into BAS. It is aware of CAP, CDS, and the SAP ecosystem out of the box.
- Joule is available in SAP BAS dev spaces — no additional installation required.
- It supports CDS generation, OData service scaffolding, and HANA artifact guidance.
- SAP Build Code (a BAS-based product) bundles Joule with a full CAP-aware IDE experience.
See SAP Build Code documentation for setup details.
Claude Code (Anthropic)
Claude Code is a terminal-based AI coding assistant that works on macOS, Linux, and Windows (WSL). It is capable in reasoning tasks and understanding multi-file CAP projects.
npm install -g @anthropic-ai/claude-code
claudeClaude Code reads CLAUDE.md files in the repository to understand project conventions — this repository includes a CLAUDE.md at the root. Requires an Anthropic API key or Claude.ai Pro/Team subscription.
Continue (open-source, bring your own model)
Continue is an open-source VS Code extension that works with many model providers (OpenAI, Anthropic, local models via Ollama, etc.). It is a good option if you prefer open tooling or want to run a local model.
- Install the Continue extension in VS Code.
- Configure a model provider in the Continue settings panel (
~/.continue/config.json). - For a fully offline setup, install Ollama and pull a code model such as
ollama pull qwen2.5-coder:14b.
SAP MCP Servers
Model Context Protocol (MCP) is an open standard that lets AI assistants call tools provided by external servers — giving the AI structured, authoritative access to documentation, project models, and scaffolding actions rather than relying on training data alone. SAP publishes official MCP servers for its core development areas. All four servers below run via npx (no global install required) and work with any MCP-compatible client including GitHub Copilot Agent mode, Claude Code, Cline, and Continue.
These servers are especially valuable for this CodeJam — they give your AI assistant live access to CAP and Fiori documentation and can scaffold artifacts directly into your project.
@cap-js/mcp-server — CAP (CDS) MCP server
@cap-js/mcp-server is the official MCP server for AI-assisted development of SAP Cloud Application Programming Model (CAP) applications. It provides the AI with:
search_model— fuzzy search across your compiled CDS model (entities, fields, services, HTTP endpoints) so the AI can understand your project's data model without reading raw.cdsfiles.search_docs— local vector-embedding search through the full CAP documentation, enabling the AI to find relevant guidance even with inexact search terms.
Configure it in your MCP client using npx:
{
"mcpServers": {
"cds-mcp": {
"command": "npx",
"args": ["-y", "@cap-js/mcp-server"]
}
}
}For Claude Code specifically: claude mcp add --transport stdio --scope user cds-mcp -- npx -y @cap-js/mcp-server
@sap-ux/fiori-mcp-server — SAP Fiori MCP server
@sap-ux/fiori-mcp-server is the official MCP server for SAP Fiori application development. It enables AI agents to create and modify SAP Fiori elements and freestyle applications through structured tool calls. Key capabilities:
- Scaffold a new SAP Fiori elements app inside a CAP project from a natural-language prompt.
- Add, modify, or delete pages, controller extensions, and
manifest.jsonproperties. - Search SAP Fiori elements, annotations, UI5, and SAP Fiori tools documentation.
SAP recommends using this server together with @cap-js/mcp-server and @ui5/mcp-server for full-stack Fiori + CAP development.
{
"mcpServers": {
"fiori-mcp": {
"type": "stdio",
"timeout": 600,
"command": "npx",
"args": ["--yes", "@sap-ux/fiori-mcp-server@latest", "fiori-mcp"]
}
}
}@ui5/mcp-server — SAPUI5 / OpenUI5 MCP server
@ui5/mcp-server is the official MCP server for SAPUI5 and OpenUI5 development. It improves the AI developer experience by providing:
create_ui5_app/create_integration_card— scaffold new UI5 apps or UI Integration Cards from templates.get_api_reference— fetch and format live UI5 API documentation.get_guidelines— provide UI5 coding best practices to the AI.run_ui5_linter— integrate with@ui5/linterto detect and report UI5-specific issues.run_manifest_validation— validatemanifest.jsonagainst the UI5 schema.
{
"mcpServers": {
"@ui5/mcp-server": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@ui5/mcp-server"]
}
}
}For Claude Code: claude mcp add --transport stdio --scope user ui5-mcp-server -- npx -y @ui5/mcp-server
Windows note: On native Windows (not WSL) you may need to prefix
npxwithcmd /cin thecommandfield.
@sap/mdk-mcp-server — SAP Mobile Development Kit MCP server
@sap/mdk-mcp-server is the official MCP server for AI-assisted development of SAP Mobile Development Kit (MDK) applications. MDK allows you to build cross-platform mobile and web apps that run on SAP Mobile Services. This MCP server gives AI agents the context and tools needed to create and modify MDK metadata projects.
{
"mcpServers": {
"mdk-mcp": {
"command": "npx",
"args": ["-y", "@sap/mdk-mcp-server"]
}
}
}MDK development is not covered in this CodeJam, but if you are extending your skills to mobile after completing these exercises, the MDK MCP server is the recommended starting point for AI-assisted MDK work.
General tips for using AI assistants with this project
- Point your assistant at
solution/MyHANAApp— ask it to readdb/interactions.cdsandsrv/interaction_srv.cdsbefore asking CAP-specific questions. - For HANA-specific topics (HDI, calculation views, stored procedures) the assistants benefit from context — paste the relevant
.hdbprocedureor.hdbcalculationviewcontent into the chat. - Do not ask an AI assistant to modify
mta.yaml,xs-security.json, orapp/router/xs-app.jsonindependently — these files must stay aligned with each other (see the Copilot guardrail instructions).
