Initial commit
This commit is contained in:
12
.claude-plugin/plugin.json
Normal file
12
.claude-plugin/plugin.json
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"name": "sap-btp-business-application-studio",
|
||||
"description": "Cloud-based IDE on SAP BTP for SAP Fiori, CAP, and HANA development. Covers dev spaces, connectivity, MTA deployment, Git operations, and runtime management.",
|
||||
"version": "1.0.0",
|
||||
"author": {
|
||||
"name": "Zhongwei Li",
|
||||
"email": "zhongweili@tubi.tv"
|
||||
},
|
||||
"skills": [
|
||||
"./"
|
||||
]
|
||||
}
|
||||
3
README.md
Normal file
3
README.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# sap-btp-business-application-studio
|
||||
|
||||
Cloud-based IDE on SAP BTP for SAP Fiori, CAP, and HANA development. Covers dev spaces, connectivity, MTA deployment, Git operations, and runtime management.
|
||||
227
SKILL.md
Normal file
227
SKILL.md
Normal file
@@ -0,0 +1,227 @@
|
||||
---
|
||||
name: sap-btp-business-application-studio
|
||||
description: |
|
||||
This skill provides comprehensive guidance for SAP Business Application Studio (BAS), the cloud-based IDE on SAP BTP built on Code-OSS. Use when setting up BAS subscriptions, creating dev spaces, connecting to external systems, deploying MTA applications, troubleshooting connectivity issues, managing Git repositories, configuring runtime versions, or using the layout editor.
|
||||
|
||||
Keywords: SAP Business Application Studio, BAS, SAP BTP, dev space, Cloud Foundry, MTA, multitarget application, SAP Fiori, CAP, HANA, destination, WebIDEEnabled, Cloud Connector, Service Center, Storyboard, Layout Editor, ABAP, OData, subscription, entitlements, role collection, Business_Application_Studio_Developer, Git, clone, push, pull, Gerrit, PAT, OAuth, asdf, runtime, Node.js, Java, Python, Task Explorer, CI/CD, Yeoman, generator, template wizard, mbt, mtar, debugging, breakpoint
|
||||
license: GPL-3.0
|
||||
metadata:
|
||||
version: "1.1.0"
|
||||
last_verified: "2025-11-27"
|
||||
---
|
||||
|
||||
# SAP Business Application Studio
|
||||
|
||||
## Overview
|
||||
|
||||
SAP Business Application Studio is a cloud-based IDE on SAP BTP built on Code-OSS (VS Code foundation). It provides tailored dev spaces for SAP Fiori, CAP, HANA, and mobile development with pre-installed tools and runtimes.
|
||||
|
||||
**Architecture**: Multi-cloud SaaS (AWS, Azure, GCP) with isolated dev spaces functioning as Developer Virtual Appliances.
|
||||
|
||||
## Quick Decision Tree
|
||||
|
||||
**Setting up BAS?** → See [Setup Checklist](#setup-checklist)
|
||||
**Creating a dev space?** → See [Dev Space Types](#dev-space-types)
|
||||
**Connecting to external systems?** → See [Connectivity](#connectivity)
|
||||
**Deploying applications?** → See [Build & Deploy](#build--deploy)
|
||||
**Working with Git?** → See `references/git-operations.md`
|
||||
**Project creation/development?** → See `references/development-workflow.md`
|
||||
**Service Center/Extensions?** → See `references/service-center-and-tools.md`
|
||||
**Troubleshooting?** → See `references/connectivity-guide.md`
|
||||
|
||||
---
|
||||
|
||||
## Setup Checklist
|
||||
|
||||
### Prerequisites
|
||||
- SAP BTP global account
|
||||
- Subaccount in Cloud Foundry environment
|
||||
|
||||
### Steps
|
||||
|
||||
1. **Create Subaccount** - Select region based on [availability](https://help.sap.com/docs/bas/sap-business-application-studio/sap-business-application-studio-availability)
|
||||
2. **Configure Entitlements** - Add SAP Business Application Studio service plan
|
||||
3. **Subscribe** - Complete subscription in subaccount
|
||||
4. **Assign Roles** - Add `Business_Application_Studio_Developer` role collection
|
||||
5. **Optional: Configure IdP** - Set up assertion-based attribute mapping
|
||||
6. **Optional: Connect Git** - Link to public or corporate repositories
|
||||
7. **Optional: Create CF Spaces** - At least 1 space per development team
|
||||
|
||||
For detailed setup: See `references/setup-checklist.md`
|
||||
|
||||
---
|
||||
|
||||
## Dev Space Types
|
||||
|
||||
| Type | Purpose | Key Extensions |
|
||||
|------|---------|----------------|
|
||||
| **SAP Fiori** | Fiori apps (CF, ABAP Cloud, on-prem) | SAP Fiori Tools, SAPUI5 Layout Editor, MTA Tools |
|
||||
| **Full Stack Cloud Application** | CAP with Node.js/Java + Fiori | CAP Tools, CDS Graphical Modeler, Java Tools |
|
||||
| **Full-Stack Application Using Productivity Tools** | Low-code development | Productivity Tools, CAP Tools, Mobile Services |
|
||||
| **SAP HANA Native Application** | Native HANA apps, calculation views | HANA Tools, Calculation View Editor, SDI Tools |
|
||||
| **SAP Mobile Application** | iOS/Android with MDK | Mobile Services Tools, HTML5 Runner |
|
||||
| **SAP SME Business Application** | SME apps with Business Application Factory | SME programming model tools |
|
||||
| **Basic** | Minimal environment | SAP Basic Tools only |
|
||||
|
||||
For extension details: See `references/dev-space-types.md`
|
||||
|
||||
---
|
||||
|
||||
## Service Plans
|
||||
|
||||
| Plan | Dev Spaces | Running | Storage | Notes |
|
||||
|------|------------|---------|---------|-------|
|
||||
| **Standard** | 10 | 2 | 10 GB | Production development |
|
||||
| **Free** | 2 | 1 | 4 GB | Community support only, 2 deployments max |
|
||||
| **Trial** | 2 | 1 | 4 GB | 1-hour timeout, 30-day inactivity deletion |
|
||||
| **Build-Code** | Varies | Varies | Varies | Requires SAP Build Code subscription |
|
||||
|
||||
For restrictions: See `references/service-plans.md`
|
||||
|
||||
---
|
||||
|
||||
## Connectivity
|
||||
|
||||
### Required Destination Properties
|
||||
|
||||
```
|
||||
WebIDEEnabled = true
|
||||
HTML5.DynamicDestination = true
|
||||
```
|
||||
|
||||
### WebIDEUsage by System Type
|
||||
|
||||
| System Type | WebIDEUsage Value |
|
||||
|-------------|-------------------|
|
||||
| ABAP System | `odata_abap,dev_abap` |
|
||||
| SAP Cloud for Customer | `odata_c4c` |
|
||||
| Service URL | `odata_gen` |
|
||||
| SAP Business Accelerator Hub | `apihub_sandbox` |
|
||||
|
||||
### Cloud Connector Requirements (On-Premise)
|
||||
|
||||
1. Virtual URL in Cloud Connector must match destination URL (host:port only)
|
||||
2. Protocol must be HTTP
|
||||
3. Grant access to required paths:
|
||||
- `/sap/opu/odata/` (OData services)
|
||||
- `/sap/bc/ui5_ui5/` (UI5 resources)
|
||||
- `/sap/bc/adt/` (ABAP Development Tools)
|
||||
- `/sap/bc/ui2/app_index/` (App index)
|
||||
|
||||
For troubleshooting: See `references/connectivity-guide.md`
|
||||
|
||||
---
|
||||
|
||||
## Build & Deploy
|
||||
|
||||
### Prerequisites
|
||||
|
||||
1. Log into Cloud Foundry account
|
||||
2. For HANA apps: Add "SAP HANA Cloud, SAP HANA Schemas & HDI Containers" entitlement
|
||||
3. For Trial/Free: Add "SAP Build Work Zone, standard edition" + Launchpad_Admin role
|
||||
|
||||
### MTA Deployment
|
||||
|
||||
```bash
|
||||
# Build MTA archive
|
||||
mbt build
|
||||
|
||||
# Deploy to Cloud Foundry
|
||||
cf deploy mta_archives/<app>.mtar
|
||||
```
|
||||
|
||||
### Key Tools
|
||||
|
||||
- **MTA Editor**: Visual editing of `mta.yaml`
|
||||
- **Cloud Foundry CLI**: `cf` commands for deployment
|
||||
- **Cloud MTA Build Tool**: Generates `.mtar` files
|
||||
- **Task Explorer**: Execute build/deploy tasks
|
||||
|
||||
---
|
||||
|
||||
## Roles & Authorization
|
||||
|
||||
| Role | Purpose |
|
||||
|------|---------|
|
||||
| **Developer** | `Business_Application_Studio_Developer` - Application development |
|
||||
| **Administrator** | Export/delete user data, restart dev spaces |
|
||||
| **Extension Deployer** | Create and deploy custom extensions |
|
||||
|
||||
Assign via: SAP BTP Cockpit → Security → Role Collections
|
||||
|
||||
---
|
||||
|
||||
## Common Issues
|
||||
|
||||
### Dev Space Stuck in STARTING
|
||||
1. Wait 5 minutes
|
||||
2. If persists, start new dev space and restore via Git
|
||||
3. Contact support with workspace ID (ws-id)
|
||||
|
||||
### Connectivity Failures
|
||||
1. Verify destination in BTP Cockpit (WebIDEEnabled, HTML5.DynamicDestination)
|
||||
2. Check Cloud Connector configuration
|
||||
3. Run in terminal: `curl localhost:8887/reload` then `curl $H2O_URL/api/listDestinations -o dests.json`
|
||||
|
||||
### Storage/Inode Issues
|
||||
```bash
|
||||
df -ih # Check inodes
|
||||
df -h # Check disk space
|
||||
```
|
||||
Remove cache folders and unnecessary files.
|
||||
|
||||
### HANA Connection Issues
|
||||
Configure SAP HANA Cloud to allow BAS IP addresses. See [Availability](https://help.sap.com/docs/bas/sap-business-application-studio/sap-business-application-studio-availability) for region IPs.
|
||||
|
||||
---
|
||||
|
||||
## Keyboard Shortcuts
|
||||
|
||||
| Action | Shortcut |
|
||||
|--------|----------|
|
||||
| Command Palette | `F1` or `Cmd+Shift+P` |
|
||||
| Select parent control | `Ctrl+Click` |
|
||||
| Move control up | `Shift+Left Arrow` |
|
||||
| Move control down | `Shift+Right Arrow` |
|
||||
|
||||
---
|
||||
|
||||
## Security Recommendations
|
||||
|
||||
- **BTP-BAS-0001**: Limit administrators with full management permissions
|
||||
- Use Personal Access Tokens (PATs) for Git authentication
|
||||
- Protect connections to external systems
|
||||
- Avoid personal data in source files when using Joule AI
|
||||
|
||||
---
|
||||
|
||||
## Reference Files
|
||||
|
||||
- `references/dev-space-types.md` - Detailed dev space extensions and capabilities
|
||||
- `references/connectivity-guide.md` - Complete connectivity troubleshooting
|
||||
- `references/service-plans.md` - Plan restrictions and metering
|
||||
- `references/setup-checklist.md` - Detailed setup procedures
|
||||
- `references/git-operations.md` - Git commands, stash, authentication, Gerrit
|
||||
- `references/development-workflow.md` - Project creation, UI development, debugging, CI/CD
|
||||
- `references/service-center-and-tools.md` - Service providers, extensions, IDE features
|
||||
|
||||
## Templates
|
||||
|
||||
- `templates/destination-config.md` - Destination configuration examples
|
||||
- `templates/dev-space-setup.md` - Dev space creation checklist
|
||||
|
||||
---
|
||||
|
||||
## Documentation Links
|
||||
|
||||
| Resource | URL |
|
||||
|----------|-----|
|
||||
| SAP Help Portal | [https://help.sap.com/docs/bas](https://help.sap.com/docs/bas) |
|
||||
| GitHub Docs Source | [https://github.com/SAP-docs/sap-btp-business-application-studio](https://github.com/SAP-docs/sap-btp-business-application-studio) |
|
||||
| Discovery Center | [https://discovery-center.cloud.sap/serviceCatalog/business-application-studio](https://discovery-center.cloud.sap/serviceCatalog/business-application-studio) |
|
||||
| Availability/IPs | [https://help.sap.com/docs/bas/sap-business-application-studio/sap-business-application-studio-availability](https://help.sap.com/docs/bas/sap-business-application-studio/sap-business-application-studio-availability) |
|
||||
|
||||
---
|
||||
|
||||
**Last Verified**: 2025-11-27
|
||||
**Source**: SAP-docs/sap-btp-business-application-studio (145+ docs)
|
||||
81
plugin.lock.json
Normal file
81
plugin.lock.json
Normal file
@@ -0,0 +1,81 @@
|
||||
{
|
||||
"$schema": "internal://schemas/plugin.lock.v1.json",
|
||||
"pluginId": "gh:secondsky/sap-skills:skills/sap-btp-business-application-studio",
|
||||
"normalized": {
|
||||
"repo": null,
|
||||
"ref": "refs/tags/v20251128.0",
|
||||
"commit": "41536e375cc5ee5f9cce786cfc797d595d209e04",
|
||||
"treeHash": "dd937b126f488f8fb661df81e58716323f4670ab08d77ffd79927088f91569f4",
|
||||
"generatedAt": "2025-11-28T10:28:11.546493Z",
|
||||
"toolVersion": "publish_plugins.py@0.2.0"
|
||||
},
|
||||
"origin": {
|
||||
"remote": "git@github.com:zhongweili/42plugin-data.git",
|
||||
"branch": "master",
|
||||
"commit": "aa1497ed0949fd50e99e70d6324a29c5b34f9390",
|
||||
"repoRoot": "/Users/zhongweili/projects/openmind/42plugin-data"
|
||||
},
|
||||
"manifest": {
|
||||
"name": "sap-btp-business-application-studio",
|
||||
"description": "Cloud-based IDE on SAP BTP for SAP Fiori, CAP, and HANA development. Covers dev spaces, connectivity, MTA deployment, Git operations, and runtime management.",
|
||||
"version": "1.0.0"
|
||||
},
|
||||
"content": {
|
||||
"files": [
|
||||
{
|
||||
"path": "README.md",
|
||||
"sha256": "58198d58e249d76688b3b8830145874099387feb17a93cbd731cfe996a7e6db7"
|
||||
},
|
||||
{
|
||||
"path": "SKILL.md",
|
||||
"sha256": "018bcb4e557a7463c88c8a5b47b759c73091f1b04cd4db52b6278fa9dee75335"
|
||||
},
|
||||
{
|
||||
"path": "references/service-plans.md",
|
||||
"sha256": "ad7280c174e1aa990092cb49c252a24b83104a2042adecaec2c53d2a76c298cc"
|
||||
},
|
||||
{
|
||||
"path": "references/service-center-and-tools.md",
|
||||
"sha256": "d6cfe9ad3dd026faf2bcd325c294800bb15f1e63694ccfc8e84098ea60b63652"
|
||||
},
|
||||
{
|
||||
"path": "references/connectivity-guide.md",
|
||||
"sha256": "e78cc80880dd9957e2b0ccefe6f4aba954eb912356650167c4a099029120130f"
|
||||
},
|
||||
{
|
||||
"path": "references/git-operations.md",
|
||||
"sha256": "d45134a208327268aacc83a3922d3bec36b71d7bed230881d83ed098d16d3a46"
|
||||
},
|
||||
{
|
||||
"path": "references/dev-space-types.md",
|
||||
"sha256": "5237e6ebc35b90f74beb1360a0d8f761494cd1f01caa95f35476d693e1e39f28"
|
||||
},
|
||||
{
|
||||
"path": "references/development-workflow.md",
|
||||
"sha256": "f1f28d53ecb0200099e7a83a6ca15a2b85564a21f84360dccbf5c8a2b6c3275c"
|
||||
},
|
||||
{
|
||||
"path": "references/setup-checklist.md",
|
||||
"sha256": "7c1aed3dfb03029bba7dee27ab87ebae1348b244e9746c5e1a21ee8885be329d"
|
||||
},
|
||||
{
|
||||
"path": ".claude-plugin/plugin.json",
|
||||
"sha256": "40a31a28f0ad87e402a43ef35df062008ce06cb04b6a82ef482bf223cc9b7c43"
|
||||
},
|
||||
{
|
||||
"path": "templates/destination-config.md",
|
||||
"sha256": "48cb378e5778825e8d55e5607ddd75e9483923db103709ceb9bb0ecd27917a5f"
|
||||
},
|
||||
{
|
||||
"path": "templates/dev-space-setup.md",
|
||||
"sha256": "da92d37bb89bd4288d9ded3711b1857879f582bc2a8325230e2aeca44f8da7e8"
|
||||
}
|
||||
],
|
||||
"dirSha256": "dd937b126f488f8fb661df81e58716323f4670ab08d77ffd79927088f91569f4"
|
||||
},
|
||||
"security": {
|
||||
"scannedAt": null,
|
||||
"scannerVersion": null,
|
||||
"flags": []
|
||||
}
|
||||
}
|
||||
314
references/connectivity-guide.md
Normal file
314
references/connectivity-guide.md
Normal file
@@ -0,0 +1,314 @@
|
||||
# Connectivity Guide - Complete Troubleshooting Reference
|
||||
|
||||
## Table of Contents
|
||||
|
||||
1. [Overview](#overview)
|
||||
2. [Destination Configuration](#destination-configuration)
|
||||
3. [Cloud Connector Setup](#cloud-connector-setup)
|
||||
4. [Troubleshooting Connectivity Issues](#troubleshooting-connectivity-issues)
|
||||
5. [Specific System Scenarios](#specific-system-scenarios)
|
||||
6. [Service Center](#service-center)
|
||||
7. [Cloud Foundry Tools](#cloud-foundry-tools)
|
||||
8. [Network Requirements](#network-requirements)
|
||||
9. [Documentation Links](#documentation-links)
|
||||
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
SAP Business Application Studio dev spaces include a built-in web proxy for accessing:
|
||||
- On-premise systems (ABAP, databases)
|
||||
- On-premise Git repositories
|
||||
- npm repositories
|
||||
- External services
|
||||
|
||||
**Security Principle**: Always protect access to external systems including Private Artifact Repositories, on-premise systems, and trusted systems.
|
||||
|
||||
---
|
||||
|
||||
## Destination Configuration
|
||||
|
||||
### Required Properties (All Destinations)
|
||||
|
||||
```properties
|
||||
WebIDEEnabled = true
|
||||
HTML5.DynamicDestination = true
|
||||
```
|
||||
|
||||
### WebIDEUsage Property by System Type
|
||||
|
||||
| System Type | WebIDEUsage Value | WebIDEAdditionalData |
|
||||
|-------------|-------------------|---------------------|
|
||||
| ABAP System | `odata_abap,dev_abap` | Do not set |
|
||||
| SAP Cloud for Customer | `odata_c4c` | As required |
|
||||
| Generic Service URL | `odata_gen` | As required |
|
||||
| SAP Business Accelerator Hub | `apihub_sandbox` | As required |
|
||||
|
||||
### ABAP System Additional Properties
|
||||
|
||||
| Property | Value | Required |
|
||||
|----------|-------|----------|
|
||||
| `sap-client` | SAP client number (e.g., `100`) | Yes for ABAP |
|
||||
| `WebIDEUsage` | `odata_abap,dev_abap` | Yes |
|
||||
| URL | Host and port only (no path) | Yes |
|
||||
|
||||
### Creating Destinations
|
||||
|
||||
**Method 1: SAP BTP Cockpit**
|
||||
1. Navigate to subaccount → Connectivity → Destinations
|
||||
2. Click New Destination
|
||||
3. Enter URL, authentication, and additional properties
|
||||
4. Save and test with Check Connection
|
||||
|
||||
**Method 2: Service Center**
|
||||
For OData services, use Service Center to discover and add services.
|
||||
|
||||
---
|
||||
|
||||
## Cloud Connector Setup
|
||||
|
||||
### Prerequisites
|
||||
- Cloud Connector installed and connected to SAP BTP subaccount
|
||||
- System URL exposed in Cloud Connector
|
||||
|
||||
### Configuration Requirements
|
||||
|
||||
1. **Virtual URL Match**: Cloud Connector virtual URL (host:port) must exactly match destination URL property
|
||||
2. **Protocol**: Must be HTTP
|
||||
3. **Internal URL**: Correct internal host and port for your network
|
||||
|
||||
### Required Path Access
|
||||
|
||||
Grant "Path and all sub-paths" access for:
|
||||
|
||||
```
|
||||
/sap/opu/odata/ # OData services
|
||||
/sap/bc/ui5_ui5/ # UI5 resources
|
||||
/sap/bc/adt/ # ABAP Development Tools
|
||||
/sap/bc/ui2/app_index/ # App index
|
||||
```
|
||||
|
||||
### Finding Internal ABAP Port
|
||||
|
||||
1. Open SAP GUI transaction `/NSMICM`
|
||||
2. Go to More → Go to → Services
|
||||
3. Locate port for desired protocol
|
||||
|
||||
---
|
||||
|
||||
## Troubleshooting Connectivity Issues
|
||||
|
||||
### Step 1: Verify Destination in BTP Cockpit
|
||||
|
||||
1. Log into SAP BTP Cockpit
|
||||
2. Navigate to subscribed subaccount
|
||||
3. Go to Connectivity → Destinations
|
||||
4. Verify destination exists with correct properties:
|
||||
- `WebIDEEnabled = true`
|
||||
- `HTML5.DynamicDestination = true`
|
||||
- Correct `WebIDEUsage` value
|
||||
- URL contains host:port only (no path)
|
||||
5. Use Check Connection to test
|
||||
|
||||
### Step 2: Verify Destination from Dev Space
|
||||
|
||||
Run in terminal:
|
||||
|
||||
```bash
|
||||
# Refresh destination list
|
||||
curl localhost:8887/reload
|
||||
|
||||
# Generate destination list
|
||||
curl $H2O_URL/api/listDestinations -o dests.json
|
||||
```
|
||||
|
||||
Open `dests.json`, right-click → Format Document, and verify:
|
||||
- Destination name matches exactly
|
||||
- Host property points to correct URL
|
||||
- Required properties present
|
||||
|
||||
### Step 3: Fiori-Specific Verification
|
||||
|
||||
1. Open Command Palette
|
||||
2. Run `Fiori: Open Environment Check`
|
||||
3. Select destination
|
||||
4. Provide credentials if prompted
|
||||
5. Save and view results in `/home/user/projects`
|
||||
|
||||
Report shows:
|
||||
- All available destinations
|
||||
- OData service catalog retrieval results
|
||||
- Configuration issues
|
||||
|
||||
### Step 4: Cloud Connector Verification
|
||||
|
||||
In Cloud Connector:
|
||||
1. Check Connectivity → Cloud Connectors in BTP Cockpit
|
||||
2. Verify system virtual URL matches destination URL
|
||||
3. Verify protocol is HTTP
|
||||
4. Check Access Control grants required path access
|
||||
5. Review Cloud Connector logs for errors
|
||||
|
||||
### Common Errors
|
||||
|
||||
#### "Tunnel handshake failed"
|
||||
|
||||
**Causes**:
|
||||
- Proxy or network policy blocking connection
|
||||
- No internet access to BAS connectivity service host
|
||||
|
||||
**Solutions**:
|
||||
1. Verify network allows connection to connectivity service
|
||||
2. Check connectivity service host for your region
|
||||
3. See [SAP Note 3035686](https://me.sap.com/notes/3035686)
|
||||
|
||||
#### OData Service List Not Displayed
|
||||
|
||||
1. Test in internal network: `[https://<system-url>/sap/opu/odata/IWFND/CATALOGSERVICE;v=2/ServiceCollection`](https://<system-url>/sap/opu/odata/IWFND/CATALOGSERVICE;v=2/ServiceCollection`)
|
||||
2. Verify `sap-opu-iwfnd-catalogservice` service is active (transaction `/NSICF`)
|
||||
3. Check destination credentials
|
||||
|
||||
#### Workbench Failed to Connect
|
||||
|
||||
Verify network allows websocket connections to SAP Business Application Studio.
|
||||
|
||||
---
|
||||
|
||||
## Specific System Scenarios
|
||||
|
||||
### SAP S/4HANA Cloud
|
||||
|
||||
1. Establish trust with SAP S/4HANA Cloud
|
||||
2. Manually create destination in BTP subaccount
|
||||
3. Follow: [Integrating SAP Business Application Studio](https://help.sap.com/docs/SAP_S4HANA_CLOUD/0f69f8fb28ac4bf48d2b57b9637e81fa/22bc724fd51a4aa4a4d1c5854db7e026.html)
|
||||
|
||||
For Cloud Foundry deployment target, setup can be automated. See [Extending SAP S/4HANA Cloud](https://help.sap.com/docs/btp/sap-business-technology-platform/extending-sap-s-4hana-cloud-in-cloud-foundry-and-kyma-environment).
|
||||
|
||||
### On-Premise ABAP with Principal Propagation
|
||||
|
||||
Follow guides:
|
||||
- [Configuring Principal Propagation](https://help.sap.com/docs/connectivity/sap-btp-connectivity-cf/configuring-principal-propagation)
|
||||
- [Principal Propagation in HTTPS Scenario](https://community.sap.com/t5/technology-blogs-by-sap/how-to-guide-principal-propagation-in-an-https-scenario/ba-p/13325048)
|
||||
|
||||
### SAPUI5 Extension Projects
|
||||
|
||||
For failures during preview or Add Extension wizard:
|
||||
|
||||
1. Locate failing request in browser network trace (filter `/sap/bc/`)
|
||||
2. Get internal host:port from Cloud Connector
|
||||
3. Test URL from internal network with internal host:port
|
||||
4. Verify `/sap/bc/adt` service is active
|
||||
|
||||
---
|
||||
|
||||
## Service Center
|
||||
|
||||
### Access Methods
|
||||
|
||||
1. Click Service Center icon in activity bar
|
||||
2. View → Open View → search "Service Center"
|
||||
3. Click + in External Resources section of Storyboard
|
||||
|
||||
### Available Service Providers
|
||||
|
||||
| Provider | Purpose |
|
||||
|----------|---------|
|
||||
| **SAP System** | Systems from BAS subaccount |
|
||||
| **SAP Business Accelerator Hub** | SAP products, packages, services, events |
|
||||
| **Developer Hub** | Published products and services |
|
||||
| **Unified Customer Landscape** | Registered S/4HANA Cloud systems |
|
||||
|
||||
### Capabilities
|
||||
|
||||
- Explore services, events, business objects, functions
|
||||
- Use services as data sources
|
||||
- Consume events and functions
|
||||
- Create new services from business objects
|
||||
|
||||
---
|
||||
|
||||
## Cloud Foundry Tools
|
||||
|
||||
### Access
|
||||
|
||||
Open Command Palette, type `CF`
|
||||
|
||||
### Key Operations
|
||||
|
||||
**Login**:
|
||||
1. Select authentication method
|
||||
2. Enter credentials
|
||||
3. Choose organization and space
|
||||
|
||||
**Target Management**:
|
||||
- Create list of frequently used CF targets
|
||||
- Switch targets with single click
|
||||
- Reload target tree to refresh
|
||||
|
||||
**Service Instance Creation**:
|
||||
- Marketplace services: Select service, plan, enter name
|
||||
- User-provided services: For services not in marketplace
|
||||
|
||||
**Service Binding**:
|
||||
- Binds service to locally run application
|
||||
- Generates `.env` file with connection info
|
||||
- Available via Command Palette or Targets view
|
||||
|
||||
---
|
||||
|
||||
## Network Requirements
|
||||
|
||||
### Outbound IP Addresses
|
||||
|
||||
Use outbound IPs when connecting FROM BAS to external services.
|
||||
|
||||
Example (eu10 region):
|
||||
- 18.158.7.155
|
||||
- 3.65.235.145
|
||||
- (See availability docs for complete list)
|
||||
|
||||
### Inbound Connectivity
|
||||
|
||||
For firewall allowlisting:
|
||||
- Connectivity service host: `[https://connectivity.[region].applicationstudio.cloud.sap`](https://connectivity.[region].applicationstudio.cloud.sap`)
|
||||
- Inbound IPs listed in availability documentation
|
||||
|
||||
For trial environments, use DNS resolution:
|
||||
```bash
|
||||
nslookup <connectivity_service_host>
|
||||
```
|
||||
|
||||
### Performance Recommendation
|
||||
|
||||
Connect to the data center closest to your physical location.
|
||||
|
||||
---
|
||||
|
||||
## Documentation Links
|
||||
|
||||
| Resource | URL |
|
||||
|----------|-----|
|
||||
| Connectivity Troubleshooting | [https://help.sap.com/docs/bas/sap-business-application-studio/connectivity](https://help.sap.com/docs/bas/sap-business-application-studio/connectivity) |
|
||||
| Connecting to External Systems | [https://help.sap.com/docs/bas/sap-business-application-studio/connecting-to-external-systems](https://help.sap.com/docs/bas/sap-business-application-studio/connecting-to-external-systems) |
|
||||
| Cloud Connector | [https://help.sap.com/docs/connectivity/sap-btp-connectivity-cf/cloud-connector](https://help.sap.com/docs/connectivity/sap-btp-connectivity-cf/cloud-connector) |
|
||||
| Destination Configuration | [https://help.sap.com/docs/connectivity/sap-btp-connectivity-cf/http-destinations](https://help.sap.com/docs/connectivity/sap-btp-connectivity-cf/http-destinations) |
|
||||
| Availability/IP Addresses | [https://help.sap.com/docs/bas/sap-business-application-studio/sap-business-application-studio-availability](https://help.sap.com/docs/bas/sap-business-application-studio/sap-business-application-studio-availability) |
|
||||
| Service Center | [https://help.sap.com/docs/bas/sap-business-application-studio/explore-services-using-service-center](https://help.sap.com/docs/bas/sap-business-application-studio/explore-services-using-service-center) |
|
||||
|
||||
### SAP Guided Answers
|
||||
|
||||
- [Configure SAP BTP Destination](https://ga.support.sap.com/dtp/viewer/index.html#/tree/3046/actions/45995:48363:53594:54336)
|
||||
- [Validate Destination Configuration](https://ga.support.sap.com/dtp/viewer/index.html#/tree/3046/actions/45995:48363:53594:48364:51208)
|
||||
|
||||
### Support Components
|
||||
|
||||
| Issue Area | Component |
|
||||
|------------|-----------|
|
||||
| Connectivity | CA-BAS-CNSM |
|
||||
| S/4HANA Cloud Extension | BC-SRV-APS-EXT-BAS |
|
||||
| S/4HANA Cloud Setup | BC-SRV-APS-COM |
|
||||
|
||||
---
|
||||
|
||||
**Last Updated**: 2025-11-22
|
||||
**Source**: [https://github.com/SAP-docs/sap-btp-business-application-studio/tree/main/docs](https://github.com/SAP-docs/sap-btp-business-application-studio/tree/main/docs)
|
||||
270
references/dev-space-types.md
Normal file
270
references/dev-space-types.md
Normal file
@@ -0,0 +1,270 @@
|
||||
# Dev Space Types - Complete Reference
|
||||
|
||||
## Table of Contents
|
||||
|
||||
1. [Overview](#overview)
|
||||
2. [SAP Fiori](#sap-fiori)
|
||||
3. [Full Stack Cloud Application](#full-stack-cloud-application)
|
||||
4. [Full-Stack Application Using Productivity Tools](#full-stack-application-using-productivity-tools)
|
||||
5. [SAP HANA Native Application](#sap-hana-native-application)
|
||||
6. [SAP Mobile Application](#sap-mobile-application)
|
||||
7. [SAP SME Business Application](#sap-sme-business-application)
|
||||
8. [Basic](#basic)
|
||||
9. [Managing Dev Spaces](#managing-dev-spaces)
|
||||
10. [Documentation Links](#documentation-links)
|
||||
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
Dev spaces are isolated cloud-based development environments functioning as Developer Virtual Appliances. Each contains:
|
||||
- Tailored development tools
|
||||
- Pre-installed runtimes
|
||||
- Scenario-specific configurations
|
||||
- Security and connectivity instruments
|
||||
|
||||
**Key Principle**: Select the dev space type that matches your development scenario. Extensions can be added or removed later.
|
||||
|
||||
---
|
||||
|
||||
## SAP Fiori
|
||||
|
||||
**Purpose**: Develop SAP Fiori applications for Cloud Foundry, ABAP Cloud, and ABAP on-premise environments.
|
||||
|
||||
### Predefined Extensions
|
||||
|
||||
| Extension | Description |
|
||||
|-----------|-------------|
|
||||
| **Basic Tools** | Code editing, file management, split view, window management, preferences |
|
||||
| **Fiori Freestyle Tools** | Fiori templates, UI5 CLI, Grunt CLI, abap-deploy CLI |
|
||||
| **SAP Fiori Tools** | Generators, Application Modeler, Guided Development, Service Modeler, XML Annotation Language Server |
|
||||
| **HTML5 Runner** | Local HTML5 application execution with run configurations |
|
||||
| **MTA Tools** | Cloud Foundry CLI, MTA Build Tool, deployment plugin |
|
||||
| **SAPUI5 Layout Editor** | Visual XML view development |
|
||||
| **SAPUI5 Adaptation Project** | Extend SAPUI5 applications using Adaptation Project |
|
||||
| **SAPUI5 Extensibility** | Extend SAPUI5 ABAP repository applications |
|
||||
| **Startup Server** | Trigger-based actions during development |
|
||||
|
||||
### Use Cases
|
||||
- SAP Fiori Elements applications
|
||||
- Freestyle SAPUI5 applications
|
||||
- SAP Web IDE project migration
|
||||
- ABAP deployment scenarios
|
||||
|
||||
---
|
||||
|
||||
## Full Stack Cloud Application
|
||||
|
||||
**Purpose**: Build business services and applications extending SAP S/4HANA using SAP Cloud Application Programming Model (CAP) with Node.js or Java.
|
||||
|
||||
### Predefined Extensions
|
||||
|
||||
| Extension | Description |
|
||||
|-----------|-------------|
|
||||
| **Basic Tools** | Code editing, file management, split view, preferences |
|
||||
| **CAP Tools** | CDS command-line tools, code editors, database management, application runners |
|
||||
| **CDS Graphical Modeler** | Visual design of CDS models (entities, types, enums, associations) |
|
||||
| **Fiori Application** | Yeoman generator for Fiori applications |
|
||||
| **Fiori Freestyle Tools** | UI5 CLI, Grunt CLI, abap-deploy CLI |
|
||||
| **SAP Fiori Tools** | Code generation, modelers, visualization |
|
||||
| **Java Tools** | Java development, testing, debugging, execution |
|
||||
| **SAP HANA Database Explorer** | Browser interface for HANA runtime objects |
|
||||
| **MTA Tools** | Cloud Foundry CLI, MTA Build Tool |
|
||||
| **SAPUI5 Layout Editor** | Visual XML view development |
|
||||
| **Startup Server** | Trigger-based action execution |
|
||||
|
||||
### Use Cases
|
||||
- CAP Node.js applications
|
||||
- CAP Java applications
|
||||
- S/4HANA Cloud extensions
|
||||
- Full-stack applications with Fiori frontend
|
||||
|
||||
---
|
||||
|
||||
## Full-Stack Application Using Productivity Tools
|
||||
|
||||
**Purpose**: Low-code development with high productivity tools for desktop and mobile applications.
|
||||
|
||||
### Predefined Extensions
|
||||
|
||||
| Extension | Description |
|
||||
|-----------|-------------|
|
||||
| **Basic Tools** | Code editing, file management, split view, preferences |
|
||||
| **Productivity Tools** | Low-code capabilities for full-stack development |
|
||||
| **CAP Tools** | CDS command-line and database management |
|
||||
| **CDS Graphical Modeler** | Visual CDS model design |
|
||||
| **Mobile Services App Development Tools** | OData service modeling, MDK apps, Mobile Cards |
|
||||
| **Fiori Freestyle Tools** | UI5 CLI, Grunt CLI, abap-deploy CLI |
|
||||
| **HTML5 Runner** | Local HTML5 execution |
|
||||
| **Java Tools** | Java development and debugging |
|
||||
| **MTA Tools** | Cloud Foundry CLI, MTA Build Tool |
|
||||
| **SAP Fiori Tools** | Fiori elements development |
|
||||
| **SAPUI5 Layout Editor** | Visual XML view development |
|
||||
| **Startup Server** | Trigger-based actions |
|
||||
|
||||
### Use Cases
|
||||
- Rapid application development
|
||||
- Low-code business applications
|
||||
- Cross-platform (desktop + mobile) apps
|
||||
|
||||
---
|
||||
|
||||
## SAP HANA Native Application
|
||||
|
||||
**Purpose**: Build and deploy native SAP HANA applications and analytical models.
|
||||
|
||||
### Predefined Extensions
|
||||
|
||||
| Extension | Description |
|
||||
|-----------|-------------|
|
||||
| **Basic Tools** | Code editing, file management, split view, preferences |
|
||||
| **SAP HANA Tools** | Graphical and text-based editors, project generators, productivity tools |
|
||||
| **SAP HANA Calculation View Editor** | Edit calculation views, synonyms, analytical privileges |
|
||||
| **SAP HANA Database Explorer** | Access and inspect HANA runtime objects |
|
||||
| **SAP HANA Smart Data Integration Tools** | Data federation, replication, transformation |
|
||||
| **MTA Tools** | Cloud Foundry CLI, MTA Build Tool |
|
||||
| **Startup Server** | Trigger-based action execution |
|
||||
|
||||
### Special Requirements
|
||||
|
||||
**HANA Cloud Connection**: SAP Business Application Studio must connect to your SAP HANA Cloud instance. Configuration needed when:
|
||||
- Working on an Azure account
|
||||
- Connecting to HANA instance in a different region
|
||||
|
||||
Configure SAP HANA Cloud to allow connections from BAS IP addresses. See [Availability](https://help.sap.com/docs/bas/sap-business-application-studio/sap-business-application-studio-availability).
|
||||
|
||||
### Use Cases
|
||||
- Calculation views development
|
||||
- SQLScript procedures
|
||||
- HANA database artifact development
|
||||
- Analytical models
|
||||
|
||||
---
|
||||
|
||||
## SAP Mobile Application
|
||||
|
||||
**Purpose**: Customize, deploy, and manage iOS and Android applications using SAP Mobile Development Kit (MDK).
|
||||
|
||||
### Predefined Extensions
|
||||
|
||||
| Extension | Description |
|
||||
|-----------|-------------|
|
||||
| **Basic Tools** | Code editing, file management, split view, preferences |
|
||||
| **Mobile Services App Development Tools** | OData service modeling, MDK native apps, SAP Mobile Cards |
|
||||
| **HTML5 Runner** | Local HTML5 application execution |
|
||||
| **Java Tools** | Java development and debugging |
|
||||
| **MTA Tools** | Cloud Foundry CLI, MTA Build Tool |
|
||||
| **Startup Server** | Trigger-based action execution |
|
||||
|
||||
### Use Cases
|
||||
- Native iOS applications
|
||||
- Native Android applications
|
||||
- SAP Mobile Cards content
|
||||
- OData-based mobile apps
|
||||
|
||||
---
|
||||
|
||||
## SAP SME Business Application
|
||||
|
||||
**Purpose**: Build and extend SME applications using the SME programming model and Business Application Factory.
|
||||
|
||||
### Predefined Extensions
|
||||
- SME programming model tools
|
||||
- Business Application Factory integration
|
||||
- Basic development tools
|
||||
|
||||
### Use Cases
|
||||
- SME-specific applications
|
||||
- Business Application Factory extensions
|
||||
|
||||
---
|
||||
|
||||
## Basic
|
||||
|
||||
**Purpose**: Minimal development environment for basic development needs.
|
||||
|
||||
### Predefined Extensions
|
||||
|
||||
| Extension | Description |
|
||||
|-----------|-------------|
|
||||
| **SAP Basic Tools** | Core development functionality |
|
||||
|
||||
### Use Cases
|
||||
- Simple development tasks
|
||||
- Custom extension testing
|
||||
- Minimal resource usage
|
||||
|
||||
---
|
||||
|
||||
## Managing Dev Spaces
|
||||
|
||||
### Creating a Dev Space
|
||||
|
||||
1. Open SAP Business Application Studio
|
||||
2. Click **Create Dev Space**
|
||||
3. Enter a name (required before activation)
|
||||
4. Select application type
|
||||
5. Optionally select additional extensions
|
||||
6. Confirm creation
|
||||
|
||||
### Storage Limits
|
||||
|
||||
| Plan | Storage per Dev Space |
|
||||
|------|----------------------|
|
||||
| Standard | 10 GB |
|
||||
| Free | 4 GB |
|
||||
| Trial | 4 GB |
|
||||
|
||||
### Modifying Extensions
|
||||
|
||||
1. Open Dev Space Manager
|
||||
2. Click Edit icon on dev space
|
||||
3. Dev space must be **STOPPED**
|
||||
4. Add or remove extensions
|
||||
5. Save changes
|
||||
|
||||
### Downloading Dev Space Content
|
||||
|
||||
Available when dev space is:
|
||||
- **RUNNING**: To save contents
|
||||
- **ERROR**: To recover data
|
||||
|
||||
Process:
|
||||
1. Click download in Dev Space Manager
|
||||
2. Generates compressed tar file
|
||||
3. Save to local machine
|
||||
|
||||
### Importing Dev Space Content
|
||||
|
||||
1. Create and start new dev space
|
||||
2. Open Explorer → `/home/user/` folder
|
||||
3. Upload tar file to projects folder
|
||||
4. Extract: `tar xvzf <filename.tar.gz>`
|
||||
|
||||
### Dev Space States
|
||||
|
||||
| State | Description |
|
||||
|-------|-------------|
|
||||
| STOPPED | Not consuming resources, files preserved |
|
||||
| STARTING | Transitioning to running |
|
||||
| RUNNING | Active, resources allocated |
|
||||
| ERROR | Problem occurred, data recoverable |
|
||||
| SAFE MODE | After error recovery download |
|
||||
|
||||
---
|
||||
|
||||
## Documentation Links
|
||||
|
||||
| Resource | URL |
|
||||
|----------|-----|
|
||||
| Dev Space Types | [https://help.sap.com/docs/bas/sap-business-application-studio/dev-space-types](https://help.sap.com/docs/bas/sap-business-application-studio/dev-space-types) |
|
||||
| Dev Space Manager | [https://help.sap.com/docs/bas/sap-business-application-studio/working-in-dev-space-manager](https://help.sap.com/docs/bas/sap-business-application-studio/working-in-dev-space-manager) |
|
||||
| SAP Fiori Dev Space | [https://help.sap.com/docs/bas/sap-business-application-studio/sap-fiori](https://help.sap.com/docs/bas/sap-business-application-studio/sap-fiori) |
|
||||
| Full Stack Cloud Application | [https://help.sap.com/docs/bas/sap-business-application-studio/full-stack-cloud-application](https://help.sap.com/docs/bas/sap-business-application-studio/full-stack-cloud-application) |
|
||||
| HANA Native Application | [https://help.sap.com/docs/bas/sap-business-application-studio/sap-hana-native-application](https://help.sap.com/docs/bas/sap-business-application-studio/sap-hana-native-application) |
|
||||
| Mobile Application | [https://help.sap.com/docs/bas/sap-business-application-studio/sap-mobile-application](https://help.sap.com/docs/bas/sap-business-application-studio/sap-mobile-application) |
|
||||
|
||||
---
|
||||
|
||||
**Last Updated**: 2025-11-22
|
||||
**Source**: [https://github.com/SAP-docs/sap-btp-business-application-studio/tree/main/docs](https://github.com/SAP-docs/sap-btp-business-application-studio/tree/main/docs)
|
||||
464
references/development-workflow.md
Normal file
464
references/development-workflow.md
Normal file
@@ -0,0 +1,464 @@
|
||||
# Development Workflow - Complete Reference
|
||||
|
||||
## Table of Contents
|
||||
|
||||
1. [Project Creation](#project-creation)
|
||||
2. [UI Development](#ui-development)
|
||||
3. [Runtime Management](#runtime-management)
|
||||
4. [Task Explorer](#task-explorer)
|
||||
5. [Run Configurations](#run-configurations)
|
||||
6. [Debugging](#debugging)
|
||||
7. [MTA Development](#mta-development)
|
||||
8. [CI/CD Integration](#cicd-integration)
|
||||
9. [Extensions Management](#extensions-management)
|
||||
10. [Security Features](#security-features)
|
||||
11. [Data Management](#data-management)
|
||||
12. [Documentation Links](#documentation-links)
|
||||
|
||||
---
|
||||
|
||||
## Project Creation
|
||||
|
||||
### Methods Available
|
||||
|
||||
| Method | Description |
|
||||
|--------|-------------|
|
||||
| **Template Wizard** | Create from predefined templates based on dev space |
|
||||
| **Terminal** | Command-line project creation |
|
||||
| **Git Clone** | Clone existing repository |
|
||||
| **Import** | Import ZIP/TAR files from local system |
|
||||
| **Yeoman Generators** | Use any Yeoman generator from npm registry |
|
||||
|
||||
### Using the Template Wizard
|
||||
|
||||
**Access Methods**:
|
||||
1. Menu: File → New Project from Template
|
||||
2. Get Started page
|
||||
3. Command Palette: `SAP Business Application Studio: New Project from Template`
|
||||
|
||||
**Process**:
|
||||
1. Select template type (based on dev space extensions)
|
||||
2. Fill in required details
|
||||
3. Navigate with Back/Next or wizard tree
|
||||
4. Review error messages at field and step levels
|
||||
5. Generate project with folder structure and artifacts
|
||||
|
||||
**Important**: When using templates, you become code owner. Implement automated vulnerability scanning in CI/CD pipeline.
|
||||
|
||||
### Importing Projects
|
||||
|
||||
**Supported Formats**: ZIP, TAR (including from SAP Web IDE)
|
||||
|
||||
**Steps**:
|
||||
1. Ensure active workspace exists
|
||||
2. Access Import via Get Started page or Command Palette
|
||||
3. Select compressed file
|
||||
4. Project added to dev space
|
||||
|
||||
---
|
||||
|
||||
## UI Development
|
||||
|
||||
### Layout Editor
|
||||
|
||||
Visual editor for XML views in SAP Fiori projects. **Note**: Safari browser not supported.
|
||||
|
||||
**Components**:
|
||||
|
||||
| Component | Description |
|
||||
|-----------|-------------|
|
||||
| Controls Tab | Drag-and-drop SAPUI5 controls |
|
||||
| Outline Tab | Hierarchical view with semantic controls |
|
||||
| Canvas | Visual representation of XML view |
|
||||
| Properties Pane | Editable properties with data binding |
|
||||
| Events Pane | Event handler management |
|
||||
|
||||
**Opening**: Right-click XML view → Open With → Layout Editor
|
||||
|
||||
**Key Operations**:
|
||||
- Add controls via drag-and-drop
|
||||
- Rearrange controls
|
||||
- Keyboard navigation (double-click to select parent)
|
||||
- Extract controls into fragments
|
||||
|
||||
### Supported SAPUI5 Controls (150+)
|
||||
|
||||
**Input & Selection**: Button, CheckBox, RadioButton, Input, TextArea, ComboBox, Select, DatePicker, TimePicker, SearchField, Slider
|
||||
|
||||
**Containers & Layouts**: App, Page, Panel, FlexBox, HBox, VBox, Grid, Form, SimpleForm, List, Table, Carousel
|
||||
|
||||
**Display**: Label, Text, Icon, Image, Link, Breadcrumbs, IconTabBar, ObjectHeader
|
||||
|
||||
**Smart Controls**: SmartChart, SmartTable, SmartForm, SmartField
|
||||
|
||||
**Outline Tab Only**: Semantic actions (AddAction, EditAction, SaveAction), Suite controls (BusinessCard, Charts), Classic UI controls
|
||||
|
||||
### Data Binding
|
||||
|
||||
**Prerequisites**: Define data set for view first
|
||||
|
||||
**Binding Types**:
|
||||
- Properties of controls
|
||||
- Aggregations of controls
|
||||
|
||||
**Notes**:
|
||||
- Modifying existing data set may invalidate bindings
|
||||
- For non-OData models, use source code directly
|
||||
- Applications can incorporate OData Service component
|
||||
|
||||
**Related Binding Operations**:
|
||||
- Define entity sets
|
||||
- Bind simple controls
|
||||
- Bind aggregate-type controls (templates)
|
||||
- Bind to i18n model
|
||||
- Bind to label annotations
|
||||
|
||||
### Storyboard
|
||||
|
||||
Graphical view of application architecture showing data models, services, and UI front ends.
|
||||
|
||||
**Available in Dev Spaces**:
|
||||
- SAP Fiori
|
||||
- Full-Stack Application Using Productivity Tools
|
||||
- SAP Mobile Application
|
||||
- Full Stack Cloud Application
|
||||
|
||||
**Features**:
|
||||
- Trigger graphical editors
|
||||
- Visualize component relationships
|
||||
- Quick application structure comprehension
|
||||
|
||||
### Keyboard Shortcuts (Layout Editor)
|
||||
|
||||
| Action | Shortcut |
|
||||
|--------|----------|
|
||||
| Select parent | Ctrl + Click |
|
||||
| Navigate to parent | Up Arrow |
|
||||
| Navigate to child | Down Arrow |
|
||||
| Navigate siblings | Left/Right Arrow |
|
||||
| Move control up | Shift + Left Arrow |
|
||||
| Move control down | Shift + Right Arrow |
|
||||
| Drop position up (drag) | Shift |
|
||||
| Drop position down (drag) | Alt |
|
||||
|
||||
---
|
||||
|
||||
## Runtime Management
|
||||
|
||||
SAP Business Application Studio uses **asdf** for runtime version management.
|
||||
|
||||
### Default Versions
|
||||
|
||||
Only one LTS version per runtime officially supported. Check versions:
|
||||
|
||||
```bash
|
||||
java -version
|
||||
node --version
|
||||
python --version
|
||||
```
|
||||
|
||||
### Installing New Versions
|
||||
|
||||
1. Command Palette → Runtime: Install
|
||||
2. Select runtime type
|
||||
3. Choose specific version
|
||||
|
||||
Installed versions persist in dev space storage.
|
||||
|
||||
### Setting Default Versions
|
||||
|
||||
1. Command Palette → Runtime: Set default
|
||||
2. Select runtime type
|
||||
3. Choose preferred version
|
||||
|
||||
Applies across all workspaces in dev space.
|
||||
|
||||
### Java Proxy Certificate
|
||||
|
||||
After installing Java via terminal:
|
||||
```
|
||||
Command Palette → Runtime: Add Proxy Certificate to Java
|
||||
```
|
||||
Enables connectivity to on-premise Java repositories during Maven build.
|
||||
|
||||
### Direct asdf Usage
|
||||
|
||||
asdf can be used directly from terminal for advanced version management.
|
||||
|
||||
---
|
||||
|
||||
## Task Explorer
|
||||
|
||||
Create, modify, and run scenario-specific tasks through dedicated UI.
|
||||
|
||||
**Requirement**: Dev space extensions must provide scenario-specific tasks.
|
||||
|
||||
### Using Task Explorer
|
||||
|
||||
1. Click Task Explorer icon in sidebar
|
||||
2. Click `+` to create task
|
||||
3. Select "Configure" to generate in `tasks.json`
|
||||
4. Modify via right-click menu
|
||||
5. Run via Run icon or Build button
|
||||
|
||||
### Features
|
||||
|
||||
- Tasks organized by user intent groups
|
||||
- Only workspace-relevant tasks displayed
|
||||
- Configurations stored for reuse
|
||||
- Integrates with MTA build/deploy workflows
|
||||
|
||||
---
|
||||
|
||||
## Run Configurations
|
||||
|
||||
Define how projects and unit tests execute.
|
||||
|
||||
### Execution Priority
|
||||
|
||||
1. Default configuration from project creation
|
||||
2. Newly added configuration
|
||||
3. Most recently executed (among multiple)
|
||||
4. User selection for multiple projects
|
||||
|
||||
### Supported Frameworks
|
||||
|
||||
- SAP Fiori Tools applications
|
||||
- CAP Java Modules
|
||||
- CAP Node Applications
|
||||
|
||||
### Creating Configurations
|
||||
|
||||
Access Run and Debug view → Add Configuration → Select framework type
|
||||
|
||||
---
|
||||
|
||||
## Debugging
|
||||
|
||||
Integrated debugging for Node.js runtime (JavaScript, TypeScript, compiled-to-JS languages).
|
||||
|
||||
### Setup
|
||||
|
||||
1. Open Run and Debug view
|
||||
2. Select configuration from dropdown
|
||||
3. Choose Node.js to generate `launch.json`
|
||||
|
||||
### Preset Configurations
|
||||
|
||||
- Launch Program
|
||||
- Create JavaScript Debug Terminal
|
||||
- Run Current File
|
||||
|
||||
### Debugging Modes
|
||||
|
||||
| Mode | Description |
|
||||
|------|-------------|
|
||||
| Launch | Start program in debug state |
|
||||
| Attach | Connect to running program in debug state |
|
||||
|
||||
**Attach via**: Command Palette → Debug: Attach to Node Process
|
||||
|
||||
### Breakpoints
|
||||
|
||||
- Toggle: Click editor margin or press F9
|
||||
- Add function breakpoints via BREAKPOINTS section
|
||||
- Deactivate/remove all at once
|
||||
|
||||
---
|
||||
|
||||
## MTA Development
|
||||
|
||||
### MTA Editor (Visual)
|
||||
|
||||
Edit `mta.yaml` without direct YAML editing.
|
||||
|
||||
**Open**: Right-click `mta.yaml` → Open With → MTA Editor
|
||||
|
||||
**Important Notes**:
|
||||
- Visual editor removes comments and formats file
|
||||
- Use code editor if comments needed
|
||||
- YAML requires spaces (not tabs) for indentation
|
||||
|
||||
### MTA Tools
|
||||
|
||||
| Tool | Description |
|
||||
|------|-------------|
|
||||
| Cloud Foundry CLI | Deploy and manage CF services/apps |
|
||||
| Cloud MTA Build Tool | Build `.mtar` archives from `mta.yaml` |
|
||||
| CF CLI MTA Plugin | MTA operations in CF environment |
|
||||
| CF Targets Plugin | Manage multiple API targets |
|
||||
| CF CLI Copy Env Plugin | Export VCAP_SERVICES locally |
|
||||
| Chisel | TCP tunnel over HTTP via SSH |
|
||||
|
||||
### Basic MTA Commands
|
||||
|
||||
```bash
|
||||
# Build MTA archive
|
||||
mbt build
|
||||
|
||||
# Deploy to Cloud Foundry
|
||||
cf deploy mta_archives/<app>.mtar
|
||||
```
|
||||
|
||||
### Deployment Troubleshooting
|
||||
|
||||
If MTAR deployment fails due to `package-lock.json` conflicts or `node_modules` issues:
|
||||
|
||||
1. Create `.npmrc` file at project level
|
||||
2. Configure to reference npm public registry
|
||||
3. Disable npm cache in SAP BAS
|
||||
|
||||
---
|
||||
|
||||
## CI/CD Integration
|
||||
|
||||
SAP Continuous Integration and Delivery automates build, test, and deployment.
|
||||
|
||||
### Prerequisites
|
||||
|
||||
- Execute "Get started with SAP Business Application Studio" booster
|
||||
- Add CI/CD service via "Get started with SAP Build Code" booster
|
||||
|
||||
### Features
|
||||
|
||||
- One `config.yaml`-based job per project
|
||||
- View build logs and steps
|
||||
- Manually trigger builds (webhooks recommended)
|
||||
- Edit configuration
|
||||
- Delete jobs and config files
|
||||
|
||||
### Usage
|
||||
|
||||
1. Open CI/CD view from activity bar
|
||||
2. Click "Create Job" (disabled if job exists)
|
||||
3. Access actions via job context menu
|
||||
|
||||
---
|
||||
|
||||
## Extensions Management
|
||||
|
||||
### VS Code Extensions
|
||||
|
||||
Install from [Open VSX Registry](https://open-vsx.org/).
|
||||
|
||||
**Disclaimer**: SAP does not certify third-party extensions. Users assume:
|
||||
- Responsibility for maintenance and security
|
||||
- Liability for negative effects
|
||||
- No auto-update support
|
||||
|
||||
**Install**:
|
||||
1. Click Extensions icon or View → Extensions
|
||||
2. Accept disclaimer
|
||||
3. Search and install
|
||||
|
||||
**Manage**:
|
||||
- Uninstall: Search → Manage → Uninstall
|
||||
- Update: Uninstall → Reinstall latest
|
||||
|
||||
### Yeoman Generators
|
||||
|
||||
Install from npm registry for additional templates.
|
||||
|
||||
**Install**:
|
||||
1. Template wizard → Explore and Install Generators
|
||||
2. Accept disclaimer
|
||||
3. Search for template type
|
||||
4. Click Install
|
||||
|
||||
---
|
||||
|
||||
## Security Features
|
||||
|
||||
### Malware Scanning
|
||||
|
||||
- Automatic scan every 10 minutes for running dev spaces
|
||||
- Notification on detection with delete/dismiss options
|
||||
- Audit log entry created with file, dev space, and user details
|
||||
|
||||
### Encryption (CMK)
|
||||
|
||||
Customer-managed key encryption enabled by default since September 18, 2022.
|
||||
|
||||
**Scope**: All content under `/home/user` encrypted in physical storage.
|
||||
|
||||
**If CMK Disabled**:
|
||||
- Existing dev spaces cannot start
|
||||
- New dev spaces cannot be created
|
||||
- Files inaccessible
|
||||
- Dev space deletion still possible
|
||||
- Re-enable to restore access
|
||||
|
||||
### Security Standards
|
||||
|
||||
- Authentication and authorization enforced
|
||||
- Communication encrypted
|
||||
- Untrusted input prevented
|
||||
- Audit logging enabled
|
||||
|
||||
### Recommendations
|
||||
|
||||
- **BTP-BAS-0001**: Limit administrators with full management permissions
|
||||
- Use PATs for Git authentication
|
||||
- Protect external system access
|
||||
- Include only secured artifacts in custom extensions
|
||||
|
||||
---
|
||||
|
||||
## Data Management
|
||||
|
||||
### On-Premise System Access
|
||||
|
||||
Built-in web proxy at `[http://localhost:8887`.](http://localhost:8887`.)
|
||||
|
||||
**Refresh Destinations**:
|
||||
```bash
|
||||
curl [http://localhost:8887/reload](http://localhost:8887/reload)
|
||||
```
|
||||
|
||||
**Git Repositories**: Use exact host:port from destination URL.
|
||||
|
||||
**npm Modules**:
|
||||
```bash
|
||||
npm config set @<scope>:registry <URL>
|
||||
```
|
||||
|
||||
**Maven Dependencies**: Edit `/home/user/.m2/settings.xml`:
|
||||
```xml
|
||||
<repository>
|
||||
<id>corporate.repository</id>
|
||||
<url>REPOSITORY_URL</url>
|
||||
</repository>
|
||||
```
|
||||
|
||||
### Deleting Personal Data
|
||||
|
||||
Requires administrator access and REST API tool.
|
||||
|
||||
**Process**:
|
||||
1. Get workspace list: `[https://<bas-url>/ws-manager/api/v1/workspace?all=true`](https://<bas-url>/ws-manager/api/v1/workspace?all=true`)
|
||||
2. Copy workspace `id` from `config` section
|
||||
3. Optionally export data first
|
||||
4. Get JWT: `[https://<bas-url>/jwt`](https://<bas-url>/jwt`)
|
||||
5. DELETE request: `[https://<bas-url>/ws-manager/api/v1/workspace/<ws-id>?all=true`](https://<bas-url>/ws-manager/api/v1/workspace/<ws-id>?all=true`)
|
||||
6. Header: `X-Approuter-Authorization: Bearer <JWT_Token>`
|
||||
|
||||
---
|
||||
|
||||
## Documentation Links
|
||||
|
||||
| Resource | URL |
|
||||
|----------|-----|
|
||||
| Project Creation | [https://help.sap.com/docs/bas/sap-business-application-studio/create-a-project](https://help.sap.com/docs/bas/sap-business-application-studio/create-a-project) |
|
||||
| Layout Editor | [https://help.sap.com/docs/bas/sap-business-application-studio/layout-editor](https://help.sap.com/docs/bas/sap-business-application-studio/layout-editor) |
|
||||
| Task Explorer | [https://help.sap.com/docs/bas/sap-business-application-studio/task-explorer](https://help.sap.com/docs/bas/sap-business-application-studio/task-explorer) |
|
||||
| Run Configurations | [https://help.sap.com/docs/bas/sap-business-application-studio/creating-run-configurations](https://help.sap.com/docs/bas/sap-business-application-studio/creating-run-configurations) |
|
||||
| Debugging | [https://help.sap.com/docs/bas/sap-business-application-studio/debugging](https://help.sap.com/docs/bas/sap-business-application-studio/debugging) |
|
||||
| MTA Development | [https://help.sap.com/docs/bas/sap-business-application-studio/mta-development](https://help.sap.com/docs/bas/sap-business-application-studio/mta-development) |
|
||||
| CI/CD | [https://help.sap.com/docs/bas/sap-business-application-studio/continuous-integration-and-delivery](https://help.sap.com/docs/bas/sap-business-application-studio/continuous-integration-and-delivery) |
|
||||
| VS Code Extensions | [https://help.sap.com/docs/bas/sap-business-application-studio/explore-and-install-vs-code-extensions](https://help.sap.com/docs/bas/sap-business-application-studio/explore-and-install-vs-code-extensions) |
|
||||
| Malware Scan | [https://help.sap.com/docs/bas/sap-business-application-studio/malware-scan-in-dev-spaces](https://help.sap.com/docs/bas/sap-business-application-studio/malware-scan-in-dev-spaces) |
|
||||
|
||||
---
|
||||
|
||||
**Last Updated**: 2025-11-22
|
||||
**Source**: [https://github.com/SAP-docs/sap-btp-business-application-studio/tree/main/docs](https://github.com/SAP-docs/sap-btp-business-application-studio/tree/main/docs)
|
||||
361
references/git-operations.md
Normal file
361
references/git-operations.md
Normal file
@@ -0,0 +1,361 @@
|
||||
# Git Operations - Complete Reference
|
||||
|
||||
## Table of Contents
|
||||
|
||||
1. [Overview](#overview)
|
||||
2. [Git Views](#git-views)
|
||||
3. [Repository Management](#repository-management)
|
||||
4. [Basic Operations](#basic-operations)
|
||||
5. [Branch Management](#branch-management)
|
||||
6. [Git Stash](#git-stash)
|
||||
7. [Authentication](#authentication)
|
||||
8. [Corporate Git Repositories](#corporate-git-repositories)
|
||||
9. [Gerrit Integration](#gerrit-integration)
|
||||
10. [Troubleshooting](#troubleshooting)
|
||||
11. [Documentation Links](#documentation-links)
|
||||
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
SAP Business Application Studio provides integrated Git capabilities through built-in tools. Key points:
|
||||
|
||||
- Only **HTTPS connections** supported (SSH not available for on-premise)
|
||||
- Built-in web proxy for on-premise Git access
|
||||
- Two interface options: Simplified Git View and Advanced Git View (Source Control)
|
||||
|
||||
**Best Practice**: Always connect projects to Git repositories for long-term persistence.
|
||||
|
||||
---
|
||||
|
||||
## Git Views
|
||||
|
||||
### Simplified Git View
|
||||
|
||||
Default view for basic Git operations. Access via Simplified Git icon in activity bar.
|
||||
|
||||
**Capabilities**:
|
||||
- Clone repositories
|
||||
- Create and manage branches
|
||||
- Commit, pull, push operations
|
||||
- Conflict resolution
|
||||
- Pending changes management
|
||||
|
||||
### Advanced Git View (Source Control)
|
||||
|
||||
Full-featured Git interface. Enable by right-clicking activity bar → deselect Simplified Git → select Source Control.
|
||||
|
||||
**Components**:
|
||||
|
||||
| Section | Purpose |
|
||||
|---------|---------|
|
||||
| Menu Toolbar | Toggle views, commit, refresh, history, more actions |
|
||||
| Message Section | Enter commit descriptions |
|
||||
| Staged Changes | Files ready for commit |
|
||||
| Changes | Modified but unstaged files |
|
||||
| Amend Section | Modify existing commits |
|
||||
|
||||
**Status Bar Indicators**:
|
||||
- `*` - Unstaged changes (dirty)
|
||||
- `+` - Staged changes
|
||||
- `!` - Conflicts
|
||||
- `↑↓` - Ahead/behind commit counts
|
||||
|
||||
**File Status Indicators**:
|
||||
- **A** - Newly staged file
|
||||
- **U** - Unstaged file with changes
|
||||
- **M** - Modified file
|
||||
- **C** - Copied (blue) or conflicted (red)
|
||||
- **D** - Deleted file
|
||||
|
||||
**Visual Change Indicators** (Editor Gutter):
|
||||
- Red triangle - Deleted lines
|
||||
- Green bar - Added lines
|
||||
- Blue bar - Modified lines
|
||||
|
||||
---
|
||||
|
||||
## Repository Management
|
||||
|
||||
### Cloning Repositories
|
||||
|
||||
**Method 1: Terminal**
|
||||
```bash
|
||||
git clone [https://github.com/YOUR-USERNAME/YOUR-REPOSITORY](https://github.com/YOUR-USERNAME/YOUR-REPOSITORY)
|
||||
```
|
||||
|
||||
**Method 2: Command Palette**
|
||||
1. Open Command Palette
|
||||
2. Type `Git: Clone`
|
||||
3. Enter repository URL
|
||||
4. Select destination folder
|
||||
5. Provide credentials if required
|
||||
|
||||
### Opening Projects
|
||||
|
||||
Projects appear in file explorer within workspace or as standalone folders.
|
||||
|
||||
---
|
||||
|
||||
## Basic Operations
|
||||
|
||||
### Stage and Unstage Changes
|
||||
|
||||
**Stage All**: Click stage all icon in Changes section
|
||||
**Stage Individual**: Click `+` icon next to file
|
||||
**Unstage All**: Click unstage all in Staged Changes
|
||||
**Unstage Individual**: Click `-` icon next to file
|
||||
|
||||
### Commit Changes
|
||||
|
||||
1. Stage files
|
||||
2. Enter commit message
|
||||
3. Press `Ctrl+Enter` or click checkmark
|
||||
|
||||
**Commit Types**:
|
||||
|
||||
| Type | Description |
|
||||
|------|-------------|
|
||||
| Standard Commit | Save changes to local repository |
|
||||
| Commit (Amend) | Add changes to the last commit |
|
||||
| Commit (Signed Off) | Add sign-off line certifying authorship |
|
||||
|
||||
### Push Changes
|
||||
|
||||
Incorporates all unsynced committed changes into remote branch.
|
||||
|
||||
```bash
|
||||
git push
|
||||
```
|
||||
|
||||
Or use Source Control menu → Push
|
||||
|
||||
### Pull Changes
|
||||
|
||||
Downloads and merges remote changes into local repository.
|
||||
|
||||
```bash
|
||||
git pull
|
||||
```
|
||||
|
||||
Or use Source Control menu → Pull
|
||||
|
||||
### Fetch Changes
|
||||
|
||||
Downloads objects and references without merging.
|
||||
|
||||
```bash
|
||||
git fetch
|
||||
```
|
||||
|
||||
Then merge or rebase manually.
|
||||
|
||||
### Merge Changes
|
||||
|
||||
Incorporate all changes from one branch into another.
|
||||
|
||||
1. Checkout target branch
|
||||
2. Source Control menu → Merge
|
||||
3. Select source branch
|
||||
|
||||
### Discard Changes
|
||||
|
||||
Removes all changes from active branch. **Warning**: This cannot be undone.
|
||||
|
||||
### View Diffs
|
||||
|
||||
Double-click modified file to open diff editor showing:
|
||||
- Index version (left)
|
||||
- Working tree version (right)
|
||||
|
||||
---
|
||||
|
||||
## Branch Management
|
||||
|
||||
### Create Branch
|
||||
|
||||
```bash
|
||||
git branch <branch-name>
|
||||
```
|
||||
|
||||
Or click branch name in status bar → Create new branch
|
||||
|
||||
### Switch Branch
|
||||
|
||||
```bash
|
||||
git checkout <branch-name>
|
||||
```
|
||||
|
||||
Or use Command Palette: `Git: Checkout`
|
||||
|
||||
### List Branches
|
||||
|
||||
```bash
|
||||
git branch # Local branches
|
||||
git branch -a # All branches including remote
|
||||
```
|
||||
|
||||
### Default Branch
|
||||
|
||||
For migrating from `master` to `main`, refer to Git documentation for default branch configuration.
|
||||
|
||||
---
|
||||
|
||||
## Git Stash
|
||||
|
||||
Temporarily store work-in-progress changes.
|
||||
|
||||
### Stash Operations
|
||||
|
||||
| Operation | Description |
|
||||
|-----------|-------------|
|
||||
| **Stash** | Record current state and return to clean working directory |
|
||||
| **Pop Stash** | Apply and remove single stash entry |
|
||||
| **Pop Latest Stash** | Apply and remove most recent stash |
|
||||
| **Apply Stash** | Apply stash but keep it in stash list |
|
||||
| **Apply Latest Stash** | Apply most recent stash, keep in list |
|
||||
| **Drop Stash** | Remove single stash entry |
|
||||
|
||||
**Note**: If conflicts occur during pop, entry remains in stash. Resolve conflicts manually, then drop stash.
|
||||
|
||||
---
|
||||
|
||||
## Authentication
|
||||
|
||||
### Basic Authentication
|
||||
|
||||
Two credential management approaches:
|
||||
|
||||
| Method | Description |
|
||||
|--------|-------------|
|
||||
| Credential Cache | Cache in memory for short period |
|
||||
| Credential Store | Store indefinitely in dev space file |
|
||||
|
||||
**Security Recommendation**: Use Personal Access Tokens (PATs) instead of passwords. Refresh PATs regularly.
|
||||
|
||||
### OAuth Authentication (GitHub)
|
||||
|
||||
1. Connect to GitHub triggers popup with verification code
|
||||
2. Copy code and open GitHub
|
||||
3. Paste and authorize code
|
||||
4. Configure persistence (per session or per dev space)
|
||||
|
||||
**Preferences**:
|
||||
- `sapbas.git.github.oauth` - GitHub.com OAuth
|
||||
- `sapbas.git.github.enterprise.oauth` - Enterprise GitHub
|
||||
|
||||
### Azure DevOps
|
||||
|
||||
Generate PAT from Azure DevOps and use as password during clone.
|
||||
|
||||
---
|
||||
|
||||
## Corporate Git Repositories
|
||||
|
||||
### Prerequisites
|
||||
|
||||
1. Cloud Connector installed and configured
|
||||
2. Destination created in SAP BTP cockpit
|
||||
3. Administrator configuration complete
|
||||
|
||||
### Cloud Connector Setup
|
||||
|
||||
| Setting | Value |
|
||||
|---------|-------|
|
||||
| Back-end Type | Non-SAP System |
|
||||
| Protocol | HTTPS |
|
||||
| Internal Host/Port | Your Git system's network details |
|
||||
| Virtual Host/Port | Can match internal settings |
|
||||
| Principal Type | None |
|
||||
|
||||
**Resource Access**:
|
||||
- URL Path: `/`
|
||||
- Access Policy: Path and all sub-paths
|
||||
|
||||
### Destination Configuration
|
||||
|
||||
```properties
|
||||
ProxyType = OnPremise
|
||||
WebIDEEnabled = true
|
||||
HTML5.DynamicDestination = true
|
||||
HTML5.Timeout = 60000 # Optional
|
||||
```
|
||||
|
||||
### GitHub Enterprise OAuth
|
||||
|
||||
Create OAuth app with Device Flow enabled, add `GitHubEnterpriseClientID` property to destination.
|
||||
|
||||
### Certificate Requirements
|
||||
|
||||
Upload Git server certificate to Cloud Connector if using certificate-based authentication.
|
||||
|
||||
---
|
||||
|
||||
## Gerrit Integration
|
||||
|
||||
Gerrit provides code review before commits reach the repository.
|
||||
|
||||
### Configuration Steps
|
||||
|
||||
1. **Enable Gerrit**: File → Preferences → Settings → Extensions → Sapbas → Check "Whether gerrit is enabled"
|
||||
|
||||
2. **Add Properties** (from Gerrit administrator):
|
||||
- hookPath
|
||||
- protocol
|
||||
- hostname
|
||||
|
||||
3. **Clone Repository**
|
||||
|
||||
4. **Commit Changes**: Use Commit (Amend)
|
||||
|
||||
5. **Push to Gerrit**: SOURCE CONTROL menu → More Actions → Push to Gerrit
|
||||
|
||||
---
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### HTTP 502 Error on Clone
|
||||
|
||||
**Error**: `fatal: unable to access '[https://...':](https://...':) Received HTTP code 502 from proxy after CONNECT`
|
||||
|
||||
**Solution**: Set up Cloud Connector and configure Git to work with Gerrit.
|
||||
|
||||
### Refresh Destinations
|
||||
|
||||
After creating destinations, refresh in dev space:
|
||||
|
||||
```bash
|
||||
curl [http://localhost:8887/reload](http://localhost:8887/reload)
|
||||
```
|
||||
|
||||
### Use Correct URL
|
||||
|
||||
Always use the exact same host and port as defined in the destination URL property.
|
||||
|
||||
### Branch Default Name Migration
|
||||
|
||||
When migrating from `master` to `main`:
|
||||
|
||||
```bash
|
||||
git branch -m master main
|
||||
git push -u origin main
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Documentation Links
|
||||
|
||||
| Resource | URL |
|
||||
|----------|-----|
|
||||
| Git Source Control | [https://help.sap.com/docs/bas/sap-business-application-studio/git-source-control](https://help.sap.com/docs/bas/sap-business-application-studio/git-source-control) |
|
||||
| Git Commands | [https://help.sap.com/docs/bas/sap-business-application-studio/git-commands](https://help.sap.com/docs/bas/sap-business-application-studio/git-commands) |
|
||||
| Git Stash | [https://help.sap.com/docs/bas/sap-business-application-studio/git-stash](https://help.sap.com/docs/bas/sap-business-application-studio/git-stash) |
|
||||
| Cloning Repositories | [https://help.sap.com/docs/bas/sap-business-application-studio/cloning-repositories](https://help.sap.com/docs/bas/sap-business-application-studio/cloning-repositories) |
|
||||
| Corporate Git | [https://help.sap.com/docs/bas/sap-business-application-studio/connecting-to-corporate-git-repository](https://help.sap.com/docs/bas/sap-business-application-studio/connecting-to-corporate-git-repository) |
|
||||
| Git Authentication | [https://help.sap.com/docs/bas/sap-business-application-studio/providing-authentication-to-git](https://help.sap.com/docs/bas/sap-business-application-studio/providing-authentication-to-git) |
|
||||
| Gerrit Setup | [https://help.sap.com/docs/bas/sap-business-application-studio/setting-up-git-to-work-with-gerrit](https://help.sap.com/docs/bas/sap-business-application-studio/setting-up-git-to-work-with-gerrit) |
|
||||
|
||||
---
|
||||
|
||||
**Last Updated**: 2025-11-22
|
||||
**Source**: [https://github.com/SAP-docs/sap-btp-business-application-studio/tree/main/docs](https://github.com/SAP-docs/sap-btp-business-application-studio/tree/main/docs)
|
||||
365
references/service-center-and-tools.md
Normal file
365
references/service-center-and-tools.md
Normal file
@@ -0,0 +1,365 @@
|
||||
# Service Center, Extensions & IDE Tools - Complete Reference
|
||||
|
||||
## Table of Contents
|
||||
|
||||
1. [Service Providers](#service-providers)
|
||||
2. [Additional Extensions](#additional-extensions)
|
||||
3. [IDE Features](#ide-features)
|
||||
4. [Advanced Development](#advanced-development)
|
||||
5. [Custom Extensions](#custom-extensions)
|
||||
6. [Troubleshooting](#troubleshooting)
|
||||
7. [Documentation Links](#documentation-links)
|
||||
|
||||
---
|
||||
|
||||
## Service Providers
|
||||
|
||||
The Service Center provides a central entry point to explore services from multiple providers.
|
||||
|
||||
### SAP System Service Provider
|
||||
|
||||
Integrates systems from your BAS subaccount for data sourcing and development.
|
||||
|
||||
**Features**:
|
||||
- Automatic login using BAS user credentials
|
||||
- ABAP Service Catalog and Cloud for Customer Catalog
|
||||
- Explore business objects and ABAP CDS views
|
||||
- Generate custom OData V4 services
|
||||
- RFC (Remote Function Call) support
|
||||
|
||||
**Prerequisites for Business Objects**:
|
||||
- SAMLAssertion authentication
|
||||
- Access to Development Tenant (Client 80)
|
||||
- BR_DEVELOPER business role permissions
|
||||
|
||||
**Project Integration**:
|
||||
| Project Type | Integration |
|
||||
|--------------|-------------|
|
||||
| SAP Fiori | Add via "Add to SAP Fiori Project" button |
|
||||
| CAP Node | External services in srv/external with XML/CDS files |
|
||||
| Java | OData services with Maven dependencies |
|
||||
|
||||
### Developer Hub Service Provider
|
||||
|
||||
Access products and services published in Developer Hub.
|
||||
|
||||
**Prerequisites**:
|
||||
- Business_Application_Studio_Administrator role
|
||||
- Service instance created in Developer Hub
|
||||
- Connection to space with Developer Hub subscription
|
||||
|
||||
**Destination Properties**:
|
||||
```properties
|
||||
Type = HTTP
|
||||
ProxyType = Internet
|
||||
Authentication = OAuth2ClientCredentials
|
||||
HTML5.DynamicDestination = true
|
||||
WebIDEEnabled = true
|
||||
WebIDEUsage = apihub_enterprise
|
||||
```
|
||||
|
||||
**Product Categories**:
|
||||
- SAP S/4HANA Cloud Products (from connected systems)
|
||||
- Custom Products (requires onboarding)
|
||||
|
||||
### Unified Customer Landscape Service Provider
|
||||
|
||||
Aggregates packages and services from registered SAP S/4HANA Cloud systems.
|
||||
|
||||
**Prerequisites**:
|
||||
1. Administrator registers S/4HANA Cloud system in BTP global account
|
||||
2. Create "Developing with SAP Business Application Studio" formation type
|
||||
3. Configure destination for each consumption bundle
|
||||
|
||||
**Destination Properties**:
|
||||
```properties
|
||||
Type = HTTP
|
||||
ProxyType = Internet
|
||||
HTML5.DynamicDestination = true
|
||||
WebIDEEnabled = true
|
||||
x-system-type = SAP S/4HANA Cloud
|
||||
x-correlation-id = sap.s4:communicationScenario:SAP_COM_<XXXX>
|
||||
x-system-id = <System ID name>
|
||||
```
|
||||
|
||||
### SAP Business Accelerator Hub Service Provider
|
||||
|
||||
Access SAP Business Accelerator Hub products, packages, services, and events.
|
||||
|
||||
**Note**: Only products/packages with OData services are displayed.
|
||||
|
||||
**Available Products**:
|
||||
- SAP S/4HANA Cloud
|
||||
- SAP S/4HANA
|
||||
- SAP SuccessFactors
|
||||
- SAP Customer Experience
|
||||
- SAP Business Technology Platform
|
||||
|
||||
**Usage**: One-time authentication per session for service access.
|
||||
|
||||
---
|
||||
|
||||
## Additional Extensions
|
||||
|
||||
### Scenario Extensions
|
||||
|
||||
| Extension | Description |
|
||||
|-----------|-------------|
|
||||
| **Development Tools for SAP Build Work Zone** | Create UI Integration cards for unified information display |
|
||||
| **HTML5 Application Template** | Wizard-based HTML5 application creation |
|
||||
| **HTML5 Runner** | Local HTML5 app execution with run configurations |
|
||||
| **SAP BAS Extension Development** | Create, deploy, manage custom extensions |
|
||||
| **Workflow Module** | Build workflow applications with SAP Workflow Management |
|
||||
|
||||
### Tool Extensions
|
||||
|
||||
| Extension | Description |
|
||||
|-----------|-------------|
|
||||
| **CDS Graphical Modeler** | Visual editor for SAP core data service models |
|
||||
| **Docker Image Builder** | Build docker images (not persistent) |
|
||||
| **Headless Testing Framework** | End-to-end testing for UI5 apps with OPA5 selectors |
|
||||
| **Java Tools** | SapMachine 11/17, SAP JVM 8, Maven 3.8.1, Tomcat 9.0.33 |
|
||||
| **Launchpad Module** | Add launchpad to multitarget applications |
|
||||
| **Python Tools** | IntelliSense, formatting, linting, debugging, Jupyter |
|
||||
| **SAP HANA Tools** | Native HANA development with graphical editors |
|
||||
| **SAP HANA XS Advanced Tools** | Native XS Advanced application development |
|
||||
| **SAPUI5 Adaptation Project** | Extend SAP Fiori applications |
|
||||
| **SAPUI5 Layout Editor & Extensibility** | Visual XML development, extend ABAP repo apps |
|
||||
|
||||
### Runtime Capabilities (Full Stack Projects)
|
||||
|
||||
| Capability | Description |
|
||||
|------------|-------------|
|
||||
| **Audit Logging** | Automated logging of personal data operations (requires premium edition) |
|
||||
| **Change Tracking** | Automated capturing and viewing of entity change records |
|
||||
| **Attachments** | File storage with SAP Object Store and Malware Scanning |
|
||||
| **Telemetry** | Tracing and metrics with SAP Cloud Logging |
|
||||
|
||||
**Usage**: Access via Storyboard → Runtime Capabilities toolbar
|
||||
|
||||
---
|
||||
|
||||
## IDE Features
|
||||
|
||||
### Guide Center
|
||||
|
||||
Step-by-step guidance for SAP development scenarios based on expert best practices.
|
||||
|
||||
**Access**: Command Palette → "Guide Center"
|
||||
|
||||
**Features**:
|
||||
- Guides tailored to dev space type
|
||||
- Interactive steps with action triggers
|
||||
- Opens relevant tools in new tabs
|
||||
- Links to documentation
|
||||
|
||||
### Search
|
||||
|
||||
**Within File** (`Ctrl+F`):
|
||||
- Find and replace in current file
|
||||
- Results highlighted in editor, overview ruler, minimap
|
||||
- Navigate with `Enter`/`Shift+Enter`
|
||||
- Find in selection mode
|
||||
- Multiline search (`Ctrl+Enter` for line breaks)
|
||||
|
||||
**Across Files** (`Ctrl+Shift+F`):
|
||||
- Search all files in opened folder
|
||||
- Results grouped by file with hit counts
|
||||
- Include/exclude patterns supported
|
||||
|
||||
**Glob Syntax**:
|
||||
- `*` - one or more characters
|
||||
- `?` - single character
|
||||
- `**` - any path segments
|
||||
- `{}` - group conditions
|
||||
- `[]` - character ranges
|
||||
- `!` prefix - exclude pattern
|
||||
|
||||
**Default Exclusions**: `node_modules` (configurable)
|
||||
|
||||
### Problems View
|
||||
|
||||
Aggregates errors and warnings from all open files.
|
||||
|
||||
**Access**: View → Problems
|
||||
|
||||
**Features**:
|
||||
- Click item to navigate to code location
|
||||
- Filters for errors, warnings, info
|
||||
|
||||
### Application Preview
|
||||
|
||||
**Preview Running Apps**:
|
||||
1. Command Palette → `Ports: Preview`
|
||||
2. Select from exposed applications
|
||||
3. Opens in new browser tab
|
||||
|
||||
**Configure Notifications**:
|
||||
1. Settings → Ports
|
||||
2. Edit "Exclude Expose Notifications"
|
||||
3. Add port numbers/ranges to suppress
|
||||
|
||||
### Terminal
|
||||
|
||||
Pre-installed tools: Maven, npm, additional tools installable.
|
||||
|
||||
**Access**:
|
||||
- Terminal → New Terminal
|
||||
- Right-click folder → Open in Integrated Terminal
|
||||
|
||||
### Template Wizard
|
||||
|
||||
Uses any Yeoman generator for project/module creation.
|
||||
|
||||
**Access**: Command Palette → "Open Template Wizard"
|
||||
|
||||
**Important**: Using templates makes you code owner. Implement CI/CD vulnerability scanning.
|
||||
|
||||
---
|
||||
|
||||
## Advanced Development
|
||||
|
||||
### Multi-Subaccount Development
|
||||
|
||||
Develop in one subaccount, deploy to another (different regions possible).
|
||||
|
||||
**Steps**:
|
||||
1. Create two regional subaccounts
|
||||
2. Configure design-time subaccount with BAS subscription
|
||||
3. Enable Cloud Foundry on runtime subaccount
|
||||
4. Create matching destinations in both subaccounts
|
||||
5. Configure CF login with runtime subaccount endpoint
|
||||
6. Develop, test, and deploy
|
||||
|
||||
### Running in Incognito Mode
|
||||
|
||||
Test applications with different users.
|
||||
|
||||
**Process**:
|
||||
1. Launch app from BAS
|
||||
2. Copy application URL
|
||||
3. Open private browser window
|
||||
4. Navigate to: `<BAS URL>/login?e=<application URL>`
|
||||
5. Authenticate with BAS credentials
|
||||
6. Provide app-specific credentials if needed
|
||||
|
||||
### Building and Deploying MTAs
|
||||
|
||||
**Build Methods**:
|
||||
- Context menu: Right-click `mta.yaml` → Build MTA Project
|
||||
- Command Palette: Enter "MTA" → Build MTA Project
|
||||
- Task Explorer: Create reusable build task
|
||||
- CLI: Use Cloud MTA Build Tool
|
||||
|
||||
**Deploy Methods**:
|
||||
- Context menu: Right-click `.mtar` file → Deploy MTA Archive
|
||||
- Command Palette: Enter "MTA" → Deploy MTA Archive
|
||||
- Task Explorer: Create reusable deployment task
|
||||
- CLI: Use cf deploy command
|
||||
|
||||
**Output**: MTAR files stored in `mta_archives` folder
|
||||
|
||||
### VS Code Remote Access
|
||||
|
||||
Connect from local VS Code desktop to BAS dev spaces.
|
||||
|
||||
**Benefits**:
|
||||
- Use local VS Code installation
|
||||
- Maintain remote dev space resources
|
||||
- Secure connection
|
||||
|
||||
---
|
||||
|
||||
## Custom Extensions
|
||||
|
||||
### Creating Extensions
|
||||
|
||||
**Prerequisites**:
|
||||
- Extension Deployer role
|
||||
- SAP BAS Extension Development extension enabled
|
||||
|
||||
**Steps**:
|
||||
|
||||
1. **Create extension.json**:
|
||||
```json
|
||||
{
|
||||
"apiVersion": "1.0",
|
||||
"name": "extension-name",
|
||||
"namespace": "your-namespace",
|
||||
"displayName": "Extension Display Name",
|
||||
"description": "Extension description",
|
||||
"author": "Author Name",
|
||||
"version": "1.0.0",
|
||||
"yeomanPackages": [
|
||||
{
|
||||
"name": "@scope/generator-name",
|
||||
"versionRange": "^1.0.0"
|
||||
}
|
||||
],
|
||||
"vscodeExtensions": [
|
||||
{
|
||||
"name": "extension-name",
|
||||
"url": "[https://url-to-vsix-file"](https://url-to-vsix-file")
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
2. **Deploy**: Run `wex deploy` in terminal
|
||||
|
||||
3. **Verify**: Check Dev Space Manager for extension
|
||||
|
||||
### Removing Extensions
|
||||
|
||||
```bash
|
||||
wex delete -x <namespace>/<ext-name>
|
||||
```
|
||||
|
||||
**Note**: Cannot delete if active in any dev space.
|
||||
|
||||
---
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Webview Issues
|
||||
|
||||
| Issue | Solution |
|
||||
|-------|----------|
|
||||
| Private Firefox blank page | Use standard Firefox session |
|
||||
| "Could not register service workers" | Disable Kaspersky or use Firefox |
|
||||
| HANA editor won't open | Disable AdBlock extension |
|
||||
|
||||
### File Backup Issues
|
||||
|
||||
**Popup Error**: Content not being backed up.
|
||||
|
||||
**Resolution**:
|
||||
1. Save all open files
|
||||
2. Push Git changes
|
||||
3. Access Dev Space Manager
|
||||
4. Export project
|
||||
5. Restart dev space
|
||||
6. Import project
|
||||
|
||||
**Best Practice**: Always sync to remote Git repository.
|
||||
|
||||
---
|
||||
|
||||
## Documentation Links
|
||||
|
||||
| Resource | URL |
|
||||
|----------|-----|
|
||||
| Service Center | [https://help.sap.com/docs/bas/sap-business-application-studio/explore-services-using-service-center](https://help.sap.com/docs/bas/sap-business-application-studio/explore-services-using-service-center) |
|
||||
| SAP System Provider | [https://help.sap.com/docs/bas/sap-business-application-studio/sap-system-service-provider](https://help.sap.com/docs/bas/sap-business-application-studio/sap-system-service-provider) |
|
||||
| Developer Hub Provider | [https://help.sap.com/docs/bas/sap-business-application-studio/developer-hub-service-provider](https://help.sap.com/docs/bas/sap-business-application-studio/developer-hub-service-provider) |
|
||||
| Unified Customer Landscape | [https://help.sap.com/docs/bas/sap-business-application-studio/unified-customer-landscape-service-provider](https://help.sap.com/docs/bas/sap-business-application-studio/unified-customer-landscape-service-provider) |
|
||||
| Business Accelerator Hub | [https://help.sap.com/docs/bas/sap-business-application-studio/sap-business-accelerator-hub-service-provider](https://help.sap.com/docs/bas/sap-business-application-studio/sap-business-accelerator-hub-service-provider) |
|
||||
| Additional Extensions | [https://help.sap.com/docs/bas/sap-business-application-studio/additional-extensions](https://help.sap.com/docs/bas/sap-business-application-studio/additional-extensions) |
|
||||
| Custom Extensions | [https://help.sap.com/docs/bas/sap-business-application-studio/create-and-deploy-extension](https://help.sap.com/docs/bas/sap-business-application-studio/create-and-deploy-extension) |
|
||||
| Guide Center | [https://help.sap.com/docs/bas/sap-business-application-studio/guide-center](https://help.sap.com/docs/bas/sap-business-application-studio/guide-center) |
|
||||
| Multi-Subaccount | [https://help.sap.com/docs/bas/sap-business-application-studio/develop-app-using-different-subaccounts](https://help.sap.com/docs/bas/sap-business-application-studio/develop-app-using-different-subaccounts) |
|
||||
|
||||
---
|
||||
|
||||
**Last Updated**: 2025-11-22
|
||||
**Source**: [https://github.com/SAP-docs/sap-btp-business-application-studio/tree/main/docs](https://github.com/SAP-docs/sap-btp-business-application-studio/tree/main/docs)
|
||||
252
references/service-plans.md
Normal file
252
references/service-plans.md
Normal file
@@ -0,0 +1,252 @@
|
||||
# Service Plans and Restrictions - Complete Reference
|
||||
|
||||
## Table of Contents
|
||||
|
||||
1. [Overview](#overview)
|
||||
2. [Service Plans](#service-plans)
|
||||
3. [Plan Restrictions Comparison](#plan-restrictions-comparison)
|
||||
4. [Standard Plan Details](#standard-plan-details)
|
||||
5. [Free Plan Details](#free-plan-details)
|
||||
6. [Trial Plan Details](#trial-plan-details)
|
||||
7. [Build-Code Plan Details](#build-code-plan-details)
|
||||
8. [Changing Plans](#changing-plans)
|
||||
9. [Metering](#metering)
|
||||
10. [Documentation Links](#documentation-links)
|
||||
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
SAP Business Application Studio offers four service plans for different use cases. Each plan has specific resource limits optimized for standard SAP application development.
|
||||
|
||||
**Key Principle**: Computing resources (CPU, memory, storage) are limited and optimized for serving standard SAP application development use-cases.
|
||||
|
||||
**Important**: SAP Build Code users should refer to Build Code-specific restrictions.
|
||||
|
||||
---
|
||||
|
||||
## Service Plans
|
||||
|
||||
| Plan | Purpose | Support |
|
||||
|------|---------|---------|
|
||||
| **Standard** | Productive development in pre-configured dev spaces | Full SAP support |
|
||||
| **Free** | Evaluation with restrictions | Community support only, no SLAs |
|
||||
| **Trial** | Evaluation with time limits | Community support only, no SLAs |
|
||||
| **Build-Code** | AI-based development with Joule | Requires SAP Build Code subscription |
|
||||
|
||||
### Subscription Rules
|
||||
|
||||
- Each subaccount supports only **one subscription**
|
||||
- Multiple plans require separate subaccounts
|
||||
- Plan changes require formal transition process
|
||||
|
||||
---
|
||||
|
||||
## Plan Restrictions Comparison
|
||||
|
||||
| Restriction | Standard | Free | Trial |
|
||||
|-------------|----------|------|-------|
|
||||
| **Max Dev Spaces** | 10 | 2 | 2 |
|
||||
| **Running Simultaneously** | 2 | 1 | 1 |
|
||||
| **Storage per Dev Space** | 10 GB | 4 GB | 4 GB |
|
||||
| **Max Projects per Dev Space** | 50 | - | - |
|
||||
| **Max Open Projects/MTA Modules** | 20 | - | - |
|
||||
| **Java Classes per Compilation** | 1000 (27k lines) | - | - |
|
||||
| **HANA Artifacts per Compilation** | 1000 | - | - |
|
||||
| **Session Timeout** | - | - | 1 hour |
|
||||
| **Inactivity Deletion** | - | - | 30 days |
|
||||
| **Max Deployments (Productivity Tools)** | - | 2 | 2 |
|
||||
| **Joule AI Requests** | Monthly quota | Monthly quota | 3-month allocation |
|
||||
|
||||
---
|
||||
|
||||
## Standard Plan Details
|
||||
|
||||
### Purpose
|
||||
Productive development in pre-configured dev spaces with full SAP support.
|
||||
|
||||
### Resource Limits
|
||||
|
||||
| Resource | Limit |
|
||||
|----------|-------|
|
||||
| Dev spaces | Up to 10 |
|
||||
| Running simultaneously | Up to 2 |
|
||||
| Storage per dev space | 10 GB |
|
||||
| Projects per dev space | 50 |
|
||||
| Open projects/MTA modules | 20 at once |
|
||||
| Java classes per compilation | 1000 (up to 27,000 lines) |
|
||||
| HANA database artifacts | 1000 per compilation |
|
||||
|
||||
### AI Features
|
||||
Monthly quota for Joule AI requests.
|
||||
|
||||
### Performance Notes
|
||||
|
||||
- Approaching limits may impact performance
|
||||
- Exceeding thresholds means "performance can't be assured by the SAP Business Application Studio product license"
|
||||
- Recommendation: Select data center geographically closer to your location
|
||||
|
||||
### Deletion Limits
|
||||
|
||||
| Limit | Value |
|
||||
|-------|-------|
|
||||
| Max deletions | 100 dev spaces |
|
||||
| Retention period | 30 days |
|
||||
|
||||
---
|
||||
|
||||
## Free Plan Details
|
||||
|
||||
### Purpose
|
||||
Evaluation with restrictions. Community support only, not subject to SLAs.
|
||||
|
||||
### Resource Limits
|
||||
|
||||
| Resource | Limit |
|
||||
|----------|-------|
|
||||
| Dev spaces | Up to 2 |
|
||||
| Running simultaneously | 1 |
|
||||
| Storage per dev space | 4 GB |
|
||||
| Deployments (Productivity Tools) | 2 maximum |
|
||||
|
||||
### AI Features
|
||||
Limited monthly quota of AI requests per user for Joule.
|
||||
|
||||
### Important Limitations
|
||||
|
||||
- **No Cloud Foundry subscription included**
|
||||
- To deploy applications:
|
||||
1. Deploy to subaccount with existing CF subscription, OR
|
||||
2. Add CF subscription to current subaccount (free or paid)
|
||||
|
||||
### Deletion Limits
|
||||
|
||||
| Limit | Value |
|
||||
|-------|-------|
|
||||
| Max deletions | 50 dev spaces |
|
||||
| Retention period | 14 days |
|
||||
|
||||
### Terms
|
||||
Governed by SAP Business Technology Platform Supplement.
|
||||
|
||||
---
|
||||
|
||||
## Trial Plan Details
|
||||
|
||||
### Purpose
|
||||
Evaluation with time-based limitations. Community support only, not subject to SLAs.
|
||||
|
||||
### Resource Limits
|
||||
|
||||
| Resource | Limit |
|
||||
|----------|-------|
|
||||
| Dev spaces | Up to 2 |
|
||||
| Running simultaneously | 1 |
|
||||
| Storage per dev space | 4 GB |
|
||||
| Deployments (Productivity Tools) | 2 maximum |
|
||||
|
||||
### Time Limits
|
||||
|
||||
| Limit | Value |
|
||||
|-------|-------|
|
||||
| Session timeout | 1 hour of inactivity |
|
||||
| Inactivity deletion | 30 consecutive days without running |
|
||||
|
||||
### AI Features
|
||||
Limited quota allocated for 3 months at trial start.
|
||||
|
||||
### Regional Restrictions
|
||||
SAP Build Code functionality restricted to **US10 region** for trial users.
|
||||
|
||||
### Terms
|
||||
Governed by SAP Business Technology Platform Supplement.
|
||||
|
||||
---
|
||||
|
||||
## Build-Code Plan Details
|
||||
|
||||
### Purpose
|
||||
Productive AI-based development with Joule integration.
|
||||
|
||||
### Prerequisites
|
||||
- Subaccount must be subscribed to **SAP Build Code**
|
||||
|
||||
### Features
|
||||
- AI-assisted development capabilities
|
||||
- Joule integration
|
||||
- All standard plan features
|
||||
|
||||
---
|
||||
|
||||
## Changing Plans
|
||||
|
||||
### Prerequisites
|
||||
- Subaccount administrator access
|
||||
- Understanding of data implications
|
||||
|
||||
### Process
|
||||
|
||||
1. Evaluate target plan restrictions
|
||||
2. Back up critical dev space content to Git
|
||||
3. Follow plan change procedures in SAP BTP Cockpit
|
||||
4. Verify access after transition
|
||||
|
||||
### Considerations
|
||||
|
||||
- Dev spaces exceeding new plan limits may need adjustment
|
||||
- Storage reduction may require cleanup
|
||||
- Running dev space limits apply immediately
|
||||
|
||||
---
|
||||
|
||||
## Metering
|
||||
|
||||
### Metric
|
||||
|
||||
**Users**: Individuals authorized to access the Cloud Service, including those accessing platform applications.
|
||||
|
||||
### Additional Information
|
||||
|
||||
- SAP BTP Service Description Guide, Section 36
|
||||
- Commercial Information Glossary for definitions
|
||||
|
||||
---
|
||||
|
||||
## Regional Availability
|
||||
|
||||
SAP Business Application Studio is available across multiple regions:
|
||||
|
||||
### AWS Regions
|
||||
- Europe: eu10, eu11, eu12 (Frankfurt)
|
||||
- US: us10, us10-trial (East), us11 (West)
|
||||
- Asia-Pacific: Sydney, Singapore, Seoul, Tokyo
|
||||
- Americas: Canada, Brazil
|
||||
|
||||
### Azure Regions
|
||||
- Europe: Netherlands, Switzerland
|
||||
- US: Washington, Virginia
|
||||
- Asia-Pacific: Sydney, Singapore, Japan
|
||||
- Americas: Brazil
|
||||
|
||||
### Google Cloud Regions
|
||||
- Australia, US Central, India, Israel, Europe, Saudi Arabia
|
||||
|
||||
**Recommendation**: Connect to data center closest to physical location for best performance.
|
||||
|
||||
---
|
||||
|
||||
## Documentation Links
|
||||
|
||||
| Resource | URL |
|
||||
|----------|-----|
|
||||
| Service Plans and Metering | [https://help.sap.com/docs/bas/sap-business-application-studio/service-plans-and-metering](https://help.sap.com/docs/bas/sap-business-application-studio/service-plans-and-metering) |
|
||||
| Standard Plan Restrictions | [https://help.sap.com/docs/bas/sap-business-application-studio/standard-plan-restrictions](https://help.sap.com/docs/bas/sap-business-application-studio/standard-plan-restrictions) |
|
||||
| Free Plan Restrictions | [https://help.sap.com/docs/bas/sap-business-application-studio/free-plan-restrictions](https://help.sap.com/docs/bas/sap-business-application-studio/free-plan-restrictions) |
|
||||
| Trial Plan Restrictions | [https://help.sap.com/docs/bas/sap-business-application-studio/trial-plan-restrictions](https://help.sap.com/docs/bas/sap-business-application-studio/trial-plan-restrictions) |
|
||||
| Availability | [https://help.sap.com/docs/bas/sap-business-application-studio/sap-business-application-studio-availability](https://help.sap.com/docs/bas/sap-business-application-studio/sap-business-application-studio-availability) |
|
||||
| Discovery Center | [https://discovery-center.cloud.sap/serviceCatalog/business-application-studio](https://discovery-center.cloud.sap/serviceCatalog/business-application-studio) |
|
||||
|
||||
---
|
||||
|
||||
**Last Updated**: 2025-11-22
|
||||
**Source**: [https://github.com/SAP-docs/sap-btp-business-application-studio/tree/main/docs](https://github.com/SAP-docs/sap-btp-business-application-studio/tree/main/docs)
|
||||
249
references/setup-checklist.md
Normal file
249
references/setup-checklist.md
Normal file
@@ -0,0 +1,249 @@
|
||||
# Setup Checklist - Complete Reference
|
||||
|
||||
## Table of Contents
|
||||
|
||||
1. [Overview](#overview)
|
||||
2. [Prerequisites](#prerequisites)
|
||||
3. [Setup Steps](#setup-steps)
|
||||
4. [Role Assignment](#role-assignment)
|
||||
5. [Optional Configurations](#optional-configurations)
|
||||
6. [Build & Deploy Prerequisites](#build--deploy-prerequisites)
|
||||
7. [Verification](#verification)
|
||||
8. [Documentation Links](#documentation-links)
|
||||
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
This checklist covers setting up SAP Business Application Studio for development.
|
||||
|
||||
**Important Notes**:
|
||||
- SAP Build Code users: Follow [SAP Build Code Initial Setup](https://help.sap.com/docs/build_code) instead
|
||||
- Trial account users: Refer to [Getting Started with a Trial Account](https://help.sap.com/docs/bas/sap-business-application-studio/getting-started-with-trial-account)
|
||||
|
||||
---
|
||||
|
||||
## Prerequisites
|
||||
|
||||
### Required
|
||||
|
||||
| Requirement | Description |
|
||||
|-------------|-------------|
|
||||
| SAP BTP Global Account | Active global account access |
|
||||
| Cloud Foundry Environment | Subaccount must use CF environment |
|
||||
| Administrator Access | Subaccount administrator privileges |
|
||||
| Supported Browser | Mozilla Firefox, Google Chrome, or Microsoft Edge (latest versions) |
|
||||
|
||||
### Recommended
|
||||
|
||||
| Requirement | Description |
|
||||
|-------------|-------------|
|
||||
| Identity Provider | SAML 2.0 compliant IdP for custom authentication |
|
||||
| Git Repository | Public or corporate Git for version control |
|
||||
| Cloud Foundry Space | At least 1 space per development team |
|
||||
|
||||
---
|
||||
|
||||
## Setup Steps
|
||||
|
||||
### Step 1: Create a Subaccount
|
||||
|
||||
1. Log into SAP BTP Cockpit
|
||||
2. Navigate to your global account
|
||||
3. Create new subaccount with Cloud Foundry environment
|
||||
4. Select region based on [BAS availability](https://help.sap.com/docs/bas/sap-business-application-studio/sap-business-application-studio-availability)
|
||||
|
||||
**Region Recommendation**: Choose data center closest to your physical location for best performance.
|
||||
|
||||
### Step 2: Configure Entitlements
|
||||
|
||||
1. In global account, go to Entitlements
|
||||
2. Click Configure Entitlements → Add Service Plans
|
||||
3. Search for "SAP Business Application Studio"
|
||||
4. Select appropriate service plan:
|
||||
- `standard` - Productive development
|
||||
- `free` - Evaluation (no SLA)
|
||||
- `build-code` - AI-based development (requires Build Code)
|
||||
5. Save changes
|
||||
|
||||
### Step 3: Subscribe to the Service
|
||||
|
||||
1. Navigate to your subaccount
|
||||
2. Go to Instances and Subscriptions
|
||||
3. Click Create
|
||||
4. Search for "SAP Business Application Studio"
|
||||
5. Select plan and create subscription
|
||||
|
||||
### Step 4: Assign Roles
|
||||
|
||||
1. Navigate to Security → Role Collections
|
||||
2. Select `Business_Application_Studio_Developer`
|
||||
3. Click Edit
|
||||
4. Add user(s) by email address
|
||||
5. Select Identity Provider
|
||||
6. Save
|
||||
|
||||
**For Administrators**: Also assign administrator role collection.
|
||||
|
||||
---
|
||||
|
||||
## Role Assignment
|
||||
|
||||
### Available Roles
|
||||
|
||||
| Role Collection | Purpose | Capabilities |
|
||||
|-----------------|---------|--------------|
|
||||
| `Business_Application_Studio_Developer` | Development access | Create/manage dev spaces, develop applications |
|
||||
| `Business_Application_Studio_Administrator` | Administration | Export/delete user data, restart dev spaces |
|
||||
| `Business_Application_Studio_Extension_Deployer` | Extension deployment | Create and deploy custom extensions |
|
||||
|
||||
### Assignment Process
|
||||
|
||||
1. Navigate to Security → Role Collections in SAP BTP Cockpit
|
||||
2. Select or create role collection
|
||||
3. Click Edit
|
||||
4. Enter user email address
|
||||
5. Select Identity Provider (e.g., SAP ID Service, custom IdP)
|
||||
6. Save changes
|
||||
|
||||
**Note**: Users needing both development and administration require both role collections assigned.
|
||||
|
||||
### China (Shanghai) Region
|
||||
|
||||
Create new role collections before assigning permissions (pre-built collections not available).
|
||||
|
||||
---
|
||||
|
||||
## Optional Configurations
|
||||
|
||||
### Step 5: Configure Identity Provider (Optional)
|
||||
|
||||
For custom IdP with assertion-based attribute mapping:
|
||||
|
||||
1. Navigate to Security → Trust Configuration
|
||||
2. Add trusted identity provider
|
||||
3. Configure attribute mappings
|
||||
4. Test authentication flow
|
||||
|
||||
### Step 6: Connect Git Repositories (Optional)
|
||||
|
||||
**Public Repositories**:
|
||||
- No additional configuration needed
|
||||
- Clone directly from dev space
|
||||
|
||||
**Corporate Repositories**:
|
||||
1. Administrator configures destination to corporate Git
|
||||
2. Set up authentication (Personal Access Tokens recommended)
|
||||
3. Configure Cloud Connector if on-premise
|
||||
|
||||
**Authentication Recommendation**: Use Personal Access Tokens (PATs) instead of passwords, refresh regularly.
|
||||
|
||||
### Step 7: Create Cloud Foundry Spaces (Optional)
|
||||
|
||||
1. Navigate to Cloud Foundry → Spaces in subaccount
|
||||
2. Create new space
|
||||
3. Recommendation: At least 1 space per development team working on same project
|
||||
|
||||
### Step 8: Assign Team Members (Optional)
|
||||
|
||||
Enable developer access to Cloud Foundry:
|
||||
|
||||
1. Navigate to Cloud Foundry → Space Members
|
||||
2. Add developers with appropriate roles:
|
||||
- Space Developer
|
||||
- Space Manager (for team leads)
|
||||
|
||||
---
|
||||
|
||||
## Build & Deploy Prerequisites
|
||||
|
||||
### General Requirements
|
||||
|
||||
1. Log into Cloud Foundry account from dev space
|
||||
|
||||
### SAP HANA Cloud Applications
|
||||
|
||||
| Requirement | Action |
|
||||
|-------------|--------|
|
||||
| Entitlement | Add "SAP HANA Cloud, SAP HANA Schemas & HDI Containers" |
|
||||
| Database | Create SAP HANA Cloud instance via HANA Cloud Central |
|
||||
| Admin Tools | Subscribe to SAP HANA Cloud Administration Tools |
|
||||
|
||||
**Trial Account Special**: In database wizard, select "Allow all IP addresses" in Advanced Settings.
|
||||
|
||||
### Trial/Free Plan Requirements
|
||||
|
||||
| Requirement | Action |
|
||||
|-------------|--------|
|
||||
| Work Zone | Add "SAP Build Work Zone, standard edition" entitlement and subscribe |
|
||||
| Role | Assign `Launchpad_Admin` role collection |
|
||||
| CF Runtime | Add Cloud Foundry Runtime entitlements (adjustable based on needs) |
|
||||
|
||||
---
|
||||
|
||||
## Verification
|
||||
|
||||
### Test Access
|
||||
|
||||
1. Open SAP Business Application Studio URL
|
||||
2. Authenticate with assigned identity
|
||||
3. Verify Dev Space Manager loads
|
||||
4. Create test dev space
|
||||
|
||||
### Test Development
|
||||
|
||||
1. Create dev space with appropriate type
|
||||
2. Start dev space
|
||||
3. Verify tools and extensions load
|
||||
4. Test Git connectivity (if configured)
|
||||
|
||||
### Test Deployment (Optional)
|
||||
|
||||
1. Create simple project from template
|
||||
2. Build project
|
||||
3. Log into Cloud Foundry
|
||||
4. Deploy to CF space
|
||||
5. Verify application runs
|
||||
|
||||
---
|
||||
|
||||
## Quick Reference
|
||||
|
||||
### URLs
|
||||
|
||||
| Resource | Pattern |
|
||||
|----------|---------|
|
||||
| BAS Access | `[https://<subaccount>.eu10.applicationstudio.cloud.sap`](https://<subaccount>.eu10.applicationstudio.cloud.sap`) (varies by region) |
|
||||
| BTP Cockpit | `[https://cockpit.btp.cloud.sap`](https://cockpit.btp.cloud.sap`) |
|
||||
| Discovery Center | `[https://discovery-center.cloud.sap/serviceCatalog/business-application-studio`](https://discovery-center.cloud.sap/serviceCatalog/business-application-studio`) |
|
||||
|
||||
### Key Commands
|
||||
|
||||
```bash
|
||||
# Cloud Foundry Login
|
||||
cf login -a <api-endpoint>
|
||||
|
||||
# Check CF Target
|
||||
cf target
|
||||
|
||||
# List Services
|
||||
cf services
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Documentation Links
|
||||
|
||||
| Resource | URL |
|
||||
|----------|-----|
|
||||
| Setup Guide | [https://help.sap.com/docs/bas/sap-business-application-studio/set-up-sap-business-application-studio](https://help.sap.com/docs/bas/sap-business-application-studio/set-up-sap-business-application-studio) |
|
||||
| Subscription Guide | [https://help.sap.com/docs/bas/sap-business-application-studio/subscribe-to-sap-business-application-studio](https://help.sap.com/docs/bas/sap-business-application-studio/subscribe-to-sap-business-application-studio) |
|
||||
| Role Assignment | [https://help.sap.com/docs/bas/sap-business-application-studio/manage-authorizations-and-roles](https://help.sap.com/docs/bas/sap-business-application-studio/manage-authorizations-and-roles) |
|
||||
| Trial Account Setup | [https://help.sap.com/docs/bas/sap-business-application-studio/getting-started-with-trial-account](https://help.sap.com/docs/bas/sap-business-application-studio/getting-started-with-trial-account) |
|
||||
| Availability | [https://help.sap.com/docs/bas/sap-business-application-studio/sap-business-application-studio-availability](https://help.sap.com/docs/bas/sap-business-application-studio/sap-business-application-studio-availability) |
|
||||
| Build & Deploy | [https://help.sap.com/docs/bas/sap-business-application-studio/build-and-deploy](https://help.sap.com/docs/bas/sap-business-application-studio/build-and-deploy) |
|
||||
|
||||
---
|
||||
|
||||
**Last Updated**: 2025-11-22
|
||||
**Source**: [https://github.com/SAP-docs/sap-btp-business-application-studio/tree/main/docs](https://github.com/SAP-docs/sap-btp-business-application-studio/tree/main/docs)
|
||||
221
templates/destination-config.md
Normal file
221
templates/destination-config.md
Normal file
@@ -0,0 +1,221 @@
|
||||
# Destination Configuration Templates
|
||||
|
||||
## How to Use This Template
|
||||
|
||||
- **Purpose**: Configure SAP BTP destinations for SAP Business Application Studio connectivity
|
||||
- **When to Use**: Connecting to ABAP systems, OData services, or external systems
|
||||
- **Instructions**: Replace `[bracketed values]` with your specific configuration
|
||||
|
||||
---
|
||||
|
||||
## Template 1: ABAP On-Premise System
|
||||
|
||||
Use for connecting to SAP S/4HANA, ECC, or other on-premise ABAP systems.
|
||||
|
||||
```properties
|
||||
# Basic Configuration
|
||||
Name = [DESTINATION_NAME]
|
||||
Type = HTTP
|
||||
URL = [https://[virtual-host]:[port]](https://[virtual-host]:[port])
|
||||
ProxyType = OnPremise
|
||||
Authentication = [BasicAuthentication | PrincipalPropagation | NoAuthentication]
|
||||
|
||||
# Required for BAS
|
||||
WebIDEEnabled = true
|
||||
HTML5.DynamicDestination = true
|
||||
|
||||
# ABAP-Specific
|
||||
WebIDEUsage = odata_abap,dev_abap
|
||||
sap-client = [CLIENT_NUMBER]
|
||||
|
||||
# For BasicAuthentication
|
||||
User = [USERNAME]
|
||||
Password = [PASSWORD]
|
||||
```
|
||||
|
||||
### Notes
|
||||
- URL must be host:port only (no path)
|
||||
- Virtual host/port must match Cloud Connector configuration
|
||||
- sap-client is required for ABAP systems
|
||||
|
||||
---
|
||||
|
||||
## Template 2: SAP S/4HANA Cloud
|
||||
|
||||
Use for connecting to SAP S/4HANA Cloud public edition.
|
||||
|
||||
```properties
|
||||
# Basic Configuration
|
||||
Name = [DESTINATION_NAME]
|
||||
Type = HTTP
|
||||
URL = [https://[tenant].s4hana.ondemand.com](https://[tenant].s4hana.ondemand.com)
|
||||
ProxyType = Internet
|
||||
Authentication = OAuth2SAMLBearerAssertion
|
||||
|
||||
# Required for BAS
|
||||
WebIDEEnabled = true
|
||||
HTML5.DynamicDestination = true
|
||||
|
||||
# S/4HANA Cloud Specific
|
||||
WebIDEUsage = odata_abap,dev_abap
|
||||
|
||||
# OAuth Configuration
|
||||
tokenServiceURL = [https://[tenant].s4hana.ondemand.com/sap/bc/sec/oauth2/token](https://[tenant].s4hana.ondemand.com/sap/bc/sec/oauth2/token)
|
||||
clientKey = [CLIENT_ID]
|
||||
tokenServiceUser = [TOKEN_SERVICE_USER]
|
||||
tokenServicePassword = [TOKEN_SERVICE_PASSWORD]
|
||||
```
|
||||
|
||||
### Additional Steps
|
||||
1. Establish trust with SAP S/4HANA Cloud
|
||||
2. Create Communication Arrangement
|
||||
3. See: [Integrating SAP Business Application Studio](https://help.sap.com/docs/SAP_S4HANA_CLOUD/0f69f8fb28ac4bf48d2b57b9637e81fa/22bc724fd51a4aa4a4d1c5854db7e026.html)
|
||||
|
||||
---
|
||||
|
||||
## Template 3: SAP BTP ABAP Environment
|
||||
|
||||
Use for connecting to SAP BTP ABAP Environment (Steampunk).
|
||||
|
||||
```properties
|
||||
# Basic Configuration
|
||||
Name = [DESTINATION_NAME]
|
||||
Type = HTTP
|
||||
URL = [https://[abap-env-instance].abap.[region].hana.ondemand.com](https://[abap-env-instance].abap.[region].hana.ondemand.com)
|
||||
ProxyType = Internet
|
||||
Authentication = OAuth2UserTokenExchange
|
||||
|
||||
# Required for BAS
|
||||
WebIDEEnabled = true
|
||||
HTML5.DynamicDestination = true
|
||||
|
||||
# ABAP Environment Specific
|
||||
WebIDEUsage = odata_abap,dev_abap
|
||||
|
||||
# OAuth Configuration
|
||||
tokenServiceURLType = Dedicated
|
||||
tokenServiceURL = [TOKEN_SERVICE_URL]
|
||||
clientId = [CLIENT_ID]
|
||||
clientSecret = [CLIENT_SECRET]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Template 4: Generic OData Service
|
||||
|
||||
Use for connecting to any OData service.
|
||||
|
||||
```properties
|
||||
# Basic Configuration
|
||||
Name = [DESTINATION_NAME]
|
||||
Type = HTTP
|
||||
URL = [https://[service-host]/[path]](https://[service-host]/[path])
|
||||
ProxyType = Internet
|
||||
Authentication = [BasicAuthentication | OAuth2ClientCredentials | NoAuthentication]
|
||||
|
||||
# Required for BAS
|
||||
WebIDEEnabled = true
|
||||
HTML5.DynamicDestination = true
|
||||
|
||||
# Generic OData
|
||||
WebIDEUsage = odata_gen
|
||||
|
||||
# Optional: Additional data
|
||||
WebIDEAdditionalData = [additional_data]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Template 5: SAP Business Accelerator Hub (Sandbox)
|
||||
|
||||
Use for connecting to SAP Business Accelerator Hub sandbox APIs.
|
||||
|
||||
```properties
|
||||
# Basic Configuration
|
||||
Name = [DESTINATION_NAME]
|
||||
Type = HTTP
|
||||
URL = [https://sandbox.api.sap.com](https://sandbox.api.sap.com)
|
||||
ProxyType = Internet
|
||||
Authentication = NoAuthentication
|
||||
|
||||
# Required for BAS
|
||||
WebIDEEnabled = true
|
||||
HTML5.DynamicDestination = true
|
||||
|
||||
# API Hub Specific
|
||||
WebIDEUsage = apihub_sandbox
|
||||
|
||||
# API Key Header
|
||||
URL.headers.APIKey = [YOUR_API_KEY]
|
||||
```
|
||||
|
||||
### Notes
|
||||
- Get API key from SAP Business Accelerator Hub
|
||||
- No authentication needed (API key in header)
|
||||
|
||||
---
|
||||
|
||||
## Template 6: SAP Cloud for Customer (C4C)
|
||||
|
||||
Use for connecting to SAP Cloud for Customer.
|
||||
|
||||
```properties
|
||||
# Basic Configuration
|
||||
Name = [DESTINATION_NAME]
|
||||
Type = HTTP
|
||||
URL = [https://[tenant].crm.ondemand.com](https://[tenant].crm.ondemand.com)
|
||||
ProxyType = Internet
|
||||
Authentication = BasicAuthentication
|
||||
|
||||
# Required for BAS
|
||||
WebIDEEnabled = true
|
||||
HTML5.DynamicDestination = true
|
||||
|
||||
# C4C Specific
|
||||
WebIDEUsage = odata_c4c
|
||||
|
||||
# Credentials
|
||||
User = [USERNAME]
|
||||
Password = [PASSWORD]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Verification Checklist
|
||||
|
||||
After creating a destination, verify:
|
||||
|
||||
- [ ] Destination name matches what you'll use in dev space
|
||||
- [ ] `WebIDEEnabled = true` is set
|
||||
- [ ] `HTML5.DynamicDestination = true` is set
|
||||
- [ ] Correct `WebIDEUsage` value for system type
|
||||
- [ ] URL format is correct (host:port for on-premise)
|
||||
- [ ] Authentication credentials are valid
|
||||
- [ ] Check Connection succeeds in BTP Cockpit
|
||||
|
||||
### From Dev Space Terminal
|
||||
|
||||
```bash
|
||||
# Refresh destinations
|
||||
curl localhost:8887/reload
|
||||
|
||||
# List destinations
|
||||
curl $H2O_URL/api/listDestinations -o dests.json
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Common Issues
|
||||
|
||||
| Issue | Solution |
|
||||
|-------|----------|
|
||||
| Destination not visible | Restart dev space after creating destination |
|
||||
| Connection fails | Verify Cloud Connector for on-premise systems |
|
||||
| OData catalog empty | Check sap-client value for ABAP systems |
|
||||
| Authentication errors | Verify credentials and token service URLs |
|
||||
|
||||
---
|
||||
|
||||
**Documentation Links**:
|
||||
- [Connecting to External Systems](https://help.sap.com/docs/bas/sap-business-application-studio/connecting-to-external-systems)
|
||||
- [HTTP Destinations](https://help.sap.com/docs/connectivity/sap-btp-connectivity-cf/http-destinations)
|
||||
265
templates/dev-space-setup.md
Normal file
265
templates/dev-space-setup.md
Normal file
@@ -0,0 +1,265 @@
|
||||
# Dev Space Setup Template
|
||||
|
||||
## How to Use This Template
|
||||
|
||||
- **Purpose**: Create and configure a dev space for SAP Business Application Studio
|
||||
- **When to Use**: Starting a new development project
|
||||
- **Instructions**: Follow the checklist for your dev space type
|
||||
|
||||
---
|
||||
|
||||
## Dev Space Creation Checklist
|
||||
|
||||
### Pre-Creation
|
||||
|
||||
- [ ] Verify subscription to SAP Business Application Studio
|
||||
- [ ] Confirm `Business_Application_Studio_Developer` role assigned
|
||||
- [ ] Check available dev space quota (Standard: 10, Free/Trial: 2)
|
||||
- [ ] Determine appropriate dev space type for project
|
||||
|
||||
### Creation Steps
|
||||
|
||||
1. [ ] Open SAP Business Application Studio
|
||||
2. [ ] Click **Create Dev Space**
|
||||
3. [ ] Enter dev space name (e.g., `[project-name]-dev`)
|
||||
4. [ ] Select dev space type (see below)
|
||||
5. [ ] Select additional extensions (optional)
|
||||
6. [ ] Click **Create Dev Space**
|
||||
7. [ ] Wait for status to change from STARTING to RUNNING
|
||||
|
||||
---
|
||||
|
||||
## Dev Space Type Selection Guide
|
||||
|
||||
### Choose SAP Fiori when:
|
||||
- [ ] Building SAP Fiori Elements applications
|
||||
- [ ] Creating freestyle SAPUI5 applications
|
||||
- [ ] Migrating from SAP Web IDE
|
||||
- [ ] Deploying to Cloud Foundry, ABAP Cloud, or on-premise
|
||||
|
||||
**Recommended Extensions**: SAPUI5 Adaptation Project (if extending apps)
|
||||
|
||||
### Choose Full Stack Cloud Application when:
|
||||
- [ ] Building CAP applications with Node.js or Java
|
||||
- [ ] Creating S/4HANA Cloud extensions
|
||||
- [ ] Need both backend services and Fiori frontend
|
||||
- [ ] Using CDS modeling
|
||||
|
||||
**Recommended Extensions**: SAP HANA Database Explorer
|
||||
|
||||
### Choose Full-Stack Application Using Productivity Tools when:
|
||||
- [ ] Using low-code development approach
|
||||
- [ ] Building cross-platform (desktop + mobile) apps
|
||||
- [ ] Rapid application development required
|
||||
|
||||
### Choose SAP HANA Native Application when:
|
||||
- [ ] Building native HANA applications
|
||||
- [ ] Creating calculation views
|
||||
- [ ] Developing SQLScript procedures
|
||||
- [ ] Working with analytical models
|
||||
|
||||
**Note**: Verify HANA Cloud allows BAS IP addresses
|
||||
|
||||
### Choose SAP Mobile Application when:
|
||||
- [ ] Building native iOS applications
|
||||
- [ ] Building native Android applications
|
||||
- [ ] Using Mobile Development Kit (MDK)
|
||||
- [ ] Creating SAP Mobile Cards
|
||||
|
||||
### Choose Basic when:
|
||||
- [ ] Minimal tooling needed
|
||||
- [ ] Testing custom extensions
|
||||
- [ ] Resource-constrained environment
|
||||
|
||||
---
|
||||
|
||||
## Post-Creation Configuration
|
||||
|
||||
### Git Configuration
|
||||
|
||||
```bash
|
||||
# Set up Git identity
|
||||
git config --global user.name "[Your Name]"
|
||||
git config --global user.email "[your.email@example.com]"
|
||||
|
||||
# Clone repository
|
||||
git clone [https://github.com/[org]/[repo].git](https://github.com/[org]/[repo].git)
|
||||
```
|
||||
|
||||
### Cloud Foundry Login
|
||||
|
||||
```bash
|
||||
# Login to Cloud Foundry
|
||||
cf login -a [https://api.cf.[region].hana.ondemand.com](https://api.cf.[region].hana.ondemand.com)
|
||||
|
||||
# Verify target
|
||||
cf target
|
||||
```
|
||||
|
||||
### Verify Tools
|
||||
|
||||
```bash
|
||||
# Check Node.js (for CAP/Fiori)
|
||||
node --version
|
||||
|
||||
# Check npm
|
||||
npm --version
|
||||
|
||||
# Check CF CLI
|
||||
cf --version
|
||||
|
||||
# Check MBT (MTA Build Tool)
|
||||
mbt --version
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Project Initialization Templates
|
||||
|
||||
### SAP Fiori Elements Project
|
||||
|
||||
```bash
|
||||
# Using Fiori generator
|
||||
yo @sap/fiori
|
||||
|
||||
# Or from command palette
|
||||
# Fiori: Open Application Generator
|
||||
```
|
||||
|
||||
### CAP Node.js Project
|
||||
|
||||
```bash
|
||||
# Create new CAP project
|
||||
cds init [project-name]
|
||||
|
||||
# Add sample data
|
||||
cd [project-name]
|
||||
cds add samples
|
||||
```
|
||||
|
||||
### CAP Java Project
|
||||
|
||||
```bash
|
||||
# Create new CAP Java project
|
||||
cds init [project-name] --add java
|
||||
|
||||
cd [project-name]
|
||||
mvn clean install
|
||||
```
|
||||
|
||||
### HANA Native Project
|
||||
|
||||
```bash
|
||||
# From command palette
|
||||
# SAP HANA: Create SAP HANA Database Project
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Resource Limits by Plan
|
||||
|
||||
| Resource | Standard | Free | Trial |
|
||||
|----------|----------|------|-------|
|
||||
| Storage | 10 GB | 4 GB | 4 GB |
|
||||
| Projects | 50 | - | - |
|
||||
| Running | 2 | 1 | 1 |
|
||||
|
||||
### Monitor Resources
|
||||
|
||||
```bash
|
||||
# Check disk usage
|
||||
df -h
|
||||
|
||||
# Check inode usage
|
||||
df -ih
|
||||
|
||||
# List large files
|
||||
du -sh * | sort -h
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Troubleshooting New Dev Spaces
|
||||
|
||||
### Dev Space Stuck in STARTING
|
||||
|
||||
1. Wait 5 minutes
|
||||
2. If persists, contact support with workspace ID
|
||||
|
||||
### Dev Space in STOPPED (can't start)
|
||||
|
||||
**Cause**: Reached running dev space limit
|
||||
|
||||
**Solution**:
|
||||
1. Stop another running dev space
|
||||
2. Then start desired dev space
|
||||
|
||||
### Extension Installation Failed
|
||||
|
||||
1. Check extension compatibility
|
||||
2. Review installation logs
|
||||
3. Report to component CA-BAS-DT
|
||||
|
||||
---
|
||||
|
||||
## Backup & Recovery
|
||||
|
||||
### Before Major Changes
|
||||
|
||||
```bash
|
||||
# Commit all changes to Git
|
||||
git add .
|
||||
git commit -m "Backup before [action]"
|
||||
git push origin [branch]
|
||||
```
|
||||
|
||||
### Download Dev Space Content
|
||||
|
||||
1. Open Dev Space Manager
|
||||
2. Click download icon on dev space
|
||||
3. Save tar.gz file locally
|
||||
|
||||
### Restore to New Dev Space
|
||||
|
||||
1. Create new dev space
|
||||
2. Start dev space
|
||||
3. Upload tar file to `/home/user/projects`
|
||||
4. Extract: `tar xvzf [filename.tar.gz]`
|
||||
|
||||
---
|
||||
|
||||
## Extension Management
|
||||
|
||||
### Add Extensions to Existing Dev Space
|
||||
|
||||
1. Stop dev space
|
||||
2. Click Edit icon in Dev Space Manager
|
||||
3. Select additional extensions
|
||||
4. Save and restart dev space
|
||||
|
||||
### Remove Extensions
|
||||
|
||||
1. Stop dev space
|
||||
2. Click Edit icon
|
||||
3. Deselect extensions to remove
|
||||
4. Save and restart dev space
|
||||
|
||||
---
|
||||
|
||||
## Session Management (Trial Only)
|
||||
|
||||
**Session Timeout**: 1 hour of inactivity
|
||||
|
||||
**Inactivity Deletion**: 30 days without running
|
||||
|
||||
### Best Practices
|
||||
|
||||
- Commit changes frequently
|
||||
- Push to remote Git before ending session
|
||||
- Document in-progress work
|
||||
|
||||
---
|
||||
|
||||
**Documentation Links**:
|
||||
- [Working in the Dev Space Manager](https://help.sap.com/docs/bas/sap-business-application-studio/working-in-dev-space-manager)
|
||||
- [Dev Space Types](https://help.sap.com/docs/bas/sap-business-application-studio/dev-space-types)
|
||||
Reference in New Issue
Block a user