| name | btp-build-work-zone |
| description | SAP Build Work Zone (advanced edition) — workspace configuration, content federation, UI integration cards, workspace templates, SAP Mobile Start, role-based homepage. Use when configuring SAP Build Work Zone, federating SAP content, or building workspace templates.
|
| trigger | ["configure SAP Build Work Zone","federate Fiori apps into Work Zone","create UI integration card","set up workspace template","integrate SAP Mobile Start","configure role-based homepage"] |
SAP Build Work Zone (Advanced Edition)
Central entry point for SAP business applications — unified shell for Fiori, CAP, custom UIs, and external content.
Prerequisites
- SAP BTP subaccount with SAP Build Work Zone, advanced edition entitlement
- Admin role assigned:
AuthGroup_SpaceAdmin
- Content manager role:
SAP_APP_FND_LAUNCHPAD_CONTENT_MANAGER
- BTP destinations configured to backend systems (S/4HANA, CAP apps, etc.)
- Principal propagation enabled on destinations for federated content
Steps
1. Federate S/4HANA Fiori Apps
- Open Work Zone Admin Console → Content → Content Providers
- Click Add Content Provider → Type:
SAP S/4HANA or SAP BTP ABAP
- Select the BTP destination pointing to your S/4HANA backend
- Configure: Destination with
PrincipalPropagation authentication
- Click Fetch Content → catalogs and groups auto-discovered
- Navigate to Content Manager → assign catalogs/groups to roles
2. Federate CAP Applications
- Content Provider → Type:
SAP BTP
- Enter CAP app URL (e.g.,
https://my-app.cfapps.us10.hana.ondemand.com)
- Ensure CAP app has Fiori launchpad plugin manifest in
app/ directory
- Fetch content → apps appear in Content Manager
3. Create a UI Integration Card
Create a card manifest JSON file:
{
"sap.app": { "id": "my.card", "type": "card" },
"sap.card": {
"type": "List",
"header": {
"title": "Open Purchase Orders",
"icon": { "src": "sap-icon://purchase-order" }
},
"content": {
"data": {
"request": {
"url": "{{destinations.s4}}/sap/opu/odata/sap/Z_PO_SRV/PO_HEADER?$top=5"
}
},
"item": {
"title": "{PurchaseOrder}"
Deploy via:
mbt build && cf deploy mta_archives/my-workzone-content.mtar
4. Configure Workspace Templates
- Admin Console → Workspace Templates → Create
- Select template type:
- Project Workspace: tasks + documents + team
- Department Workspace: KPIs + apps + news
- Process Workspace: workflow steps + approvals
- Add widgets and apps to the template layout
- Save and assign to roles for self-service workspace creation
5. Enable SAP Mobile Start
- Admin Console → Settings → SAP Mobile Start
- Ensure Work Zone content is published (apps, cards visible in Content Manager)
- Configure push notifications via SAP Notification service binding
- Mobile users: install SAP Mobile Start app → scan QR code from Work Zone
- Offline-capable cards require marking them as offline-enabled in card manifest
6. Configure Role-Based Homepage
- Admin Console → Home Page → Edit Layout
- Add sections: visualizations, cards, app launcher tiles
- Assign visibility by role (e.g.,
Sales_Manager sees different tiles than Employee)
- Save → users see personalized homepage based on their role assignment
Pitfalls
| Cause | Solution |
|---|
| Federated content not appearing after fetch | Content cache has up to 5 min delay. Wait, then click Refresh in Content Manager. Verify destination has PrincipalPropagation auth type. |
| CORS error on card data source | Card data sources must have CORS configured. Add Access-Control-Allow-Origin header on the backend OData service or use a BTP destination with HTML5.DynamicDestination=true. |
| Card shows no data / blank | Check the {{destinations.<name>}} placeholder matches a destination configured in Admin Console → Destinations. Verify the OData service path is correct. |
| Workspace member limit exceeded | Max 5000 members per workspace. Split large orgs into multiple workspaces or use role-based membership rules. |
| Cards not refreshing in real-time | UI integration cards refresh on user interaction, not real-time. Configure auto-refresh interval in card manifest (refreshInterval in seconds, min 30). |
| Mobile Start content missing | Ensure content is published (not just saved) in Admin Console. Check that the user's role includes the catalog/group assignments. |
Verification
curl -s https://<workzone-host>/api/v1/contentproviders \
-H "Authorization: Bearer $TOKEN" | jq '.[].status'
curl -s "{{destinations.s4}}/sap/opu/odata/sap/Z_PO_SRV/PO_HEADER?\$top=1" \
-H "Authorization: Bearer $TOKEN" | jq '.d.results[0]'
curl -s https://<workzone-host>/api/v1/workspacetemplates \
-H "Authorization: Bearer $TOKEN" | jq '.[].status'
Checklist: